Как узнать максимальное и минимальное значение баланса за последние N баров?

 

Как узнать максимальное и минимальное значение баланса за последние N баров?

Но желательно не по уже закрытым сделкам.

Насколько я понимаю, нужно писать в динамический массив значение AccountBalance() каждый раз, когда случается OnStart(),

а затем применять к этому массиву функции ArrayMaximum() и ArrayMinimum()?

 
alex11230:

Как узнать максимальное и минимальное значение баланса за последние N баров?

Но желательно не по уже закрытым сделкам.

Насколько я понимаю, нужно писать в динамический массив значение AccountBalance() каждый раз, когда случается OnStart(),

а затем применять к этому массиву функции ArrayMaximum() и ArrayMinimum()?


Возможно Вы перепутали и говорите о Эквити
 

Ну точно! AccountEquity().

Я просто на C# пишу, вот второй день пытаюсь разобраться с MQL

Ну а так-то правильно свою мысль изложил?

 
alex11230:

Как узнать максимальное и минимальное значение баланса за последние N баров?

Но желательно не по уже закрытым сделкам.

Насколько я понимаю, нужно писать в динамический массив значение AccountBalance() каждый раз, когда случается OnStart(),

а затем применять к этому массиву функции ArrayMaximum() и ArrayMinimum()?

Возьмите разницу максимальной\минимальной цены на отрезке N баров с ценой открытия ордера - это количество пунктов. Умножьте на стоимость пункта и на сайз ордера - получите в валюте депозита. Это будет макс\мин значение эквити, если на этом промежутке времени (за последние N баров) рыночный ордер один. Если ордеров много, то сумма по всем ордерам, соответственно.

Удачи.

Причина обращения: