Account Equity Analyzer
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «accountequityanalyzer@lifeindreamsworld.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный индикатор для MetaTrader 4 отображает на отдельном окне графика три линии — баланс, эквити и начальный депозит, — рассчитанные на основе истории торговых сделок. Он восстанавливает динамику счёта, анализируя открытые и закрытые ордера через функцию чтения истории позиций.
На графике отображаются ключевые показатели: текущий баланс, эквити, максимальное плавающее просадка, годовая доходность (ROI) и время фиксации максимальной просадки. Данные о максимальных просадках сохраняются в глобальных переменных терминала и доступны между сессиями.
Индикатор поддерживает периодический снимок экрана графика с заданным интервалом в минутах. Начальный депозит задаётся пользователем и используется как база для расчёта процентных соотношений и прогноза роста счёта.
Настройки программы
| Настройка | Описание |
|---|---|
| StartingDeposit | Начальная сумма депозита, используемая как базовое значение для расчёта доходности, процентной просадки и годовой доходности (ROI) счёта. |
| MinutesScreenshootInterval | Интервал в минутах между автоматическими снимками экрана графика индикатора. По истечении указанного времени вызывается функция захвата экрана с именем EquityGraph.gif. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Yellow
#property indicator_width1 2
#property indicator_color2 Blue
#property indicator_width2 1
#property indicator_color3 LightBlue
#property indicator_width3 2
extern double StartingDeposit =50000;
extern int MinutesScreenshootInterval=60;
int ImageTime=0;
double dBuf0[], dBuf1[], dBuf2[];
double InitialDeposit=0,PercentDD,MaxPercentDD,PercentDD2;
double MaxDrawdown,Balance,Equity,DW,StartingTime;
double Drawdown,WorstDrawdown,GDrawdownTime;
string MaxDD,MaxBL,MaxEQ,GMaxDrawdown,DrawDownAnalizer,DrawdownTime,GMaxPercentDD;
string TextDrawDownTime,PercentDDT,ROIText,growtext;
int oob[]; //
int oty[]; //
double olo[]; //
string osy[]; //
double oop[]; //
int ocb[]; //
double ocp[]; //
double osw[]; //
double opr[]; //
void init()
{
// код доступен только после оплаты
}
void deinit()
{
ObjectDelete("B_object");
ObjectDelete("E_object");
ObjectDelete("PL_object");
ObjectDelete("Time_object");
ObjectDelete("Time_DD");
ObjectDelete("note");
ObjectDelete("DDPercent");
ObjectDelete("DDPercent2");
ObjectDelete("ROI");
ObjectDelete("ROI2");
ObjectDelete("ROI3");
ObjectDelete("ROI4");
ObjectDelete("ROI5");
ObjectDelete("ROI6");
return(0);
}
void start()
{
// код доступен только после оплаты
}
double b, e, p, t;
int i, j, k;
ReadDeals();
if(oob[0] < 0)
return;
k = ArraySize(oob);
for(i = Bars; i >= oob[0]; i--)
{
dBuf0[i] = EMPTY_VALUE;
dBuf1[i] = EMPTY_VALUE;
}
for(i = oob[0]; i >= 0; i--)
{
b = StartingDeposit;
e = 0;
for(j = 0; j < k; j++)
{
if(i <= oob[j] && i >= ocb[j])
{
p = MarketInfo(osy[j], MODE_POINT);
t = MarketInfo(osy[j], MODE_TICKVALUE);
if(t == 0)
t = 10;
if(p == 0)
if(StringFind(osy[j], "JPY") < 0)
p = 0.0001;
else
p=0.01;
if(oty[j] == OP_BUY)
e += (iClose(osy[j], 0, i) - oop[j]) / p*olo[j]*t;
else
e += (oop[j] - iClose(osy[j], 0, i)) / p*olo[j]*t;
}
else
if(i <= ocb[j])
b += osw[j] + opr[j];
}
dBuf2[i] = StartingDeposit;
dBuf0[i] = b;
dBuf1[i] = b + e;
Показано первые 50% кода (символов: 8469)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.