1. Он складывает все закрытые позиции из истории и открытые текущие позиции.
2. Как сбросить счетчики ордеров в истории?
Как же Вы собираетесь сбросить то, что хотите сами посчитать?
Есть советник который торгует каждый день до определенного результата в $. Он складывает все закрытые позиции из истории и открытые текущие позиции. Когда профит достиг ждет следующего дня.
Как сбросить после CloseAll(); все счетчики CalculateProfitHistory(); CalculateBuyHistory(); CalculateSellHistory();
Подскажите кодом. Ни как не могу сообразить.
запоминать последнюю нужную дату и от неё считать (установить фильтр)...
PS/ и хватит наверное использовать кривущщие методы и программировать "лесенкой"
запоминать последнюю нужную дату и от неё считать (установить фильтр)...
PS/ и хватит наверное использовать кривущщие методы и программировать "лесенкой"
Спасибо. Но OrdersHistoryTotal() - Возвращает количество закрытых и удаленных ордеров в истории текущего счета, загруженной в клиентском терминале. Поэтому я решил эту задачу по другому. Задал статичную переменную = 0. Потом как профит достик записываю количество закрытых ордеров в истории в эту переменную и потом уже от нее считаю новые закрытые ордера в CalculateProfitHistory() цикл for(int i = OrdersHistoryTotal()-1; i>=cHistLast; i--)
>>>PS/ и хватит наверное использовать кривущщие методы и программировать "лесенкой"
Что значит лесенкой? и что кривого в этих методах? как то можно по другому подсчитать кол-во ордеров в истории и открытых?
Есть советник который торгует каждый день до определенного результата в $. Он складывает все закрытые позиции из истории и открытые текущие позиции. Когда профит достиг ждет следующего дня.
Как сбросить после CloseAll(); все счетчики CalculateProfitHistory(); CalculateBuyHistory(); CalculateSellHistory();
Подскажите кодом. Ни как не могу сообразить.
А это, между прочим, очень не просто.
Первая проблема в том, что нет единого порядка сортировки ордеров в истории.
В процессе работы терминала история пополняется по мере закрытия ордеров.
А на запуске терминала история отсортирована по времени открытия.
Начать надо с того, что вести свой массив с тикетами в порядке открытия ордеров.
Когда все ордера закрыты - считать ничего не надо. Поэтому первый ордер в новой серии
как-нибудль помечаем, например через комментарий. А потом все подсчеты ведем
заканчивая на этом ордере. Примерно так, а вообще вариантов множество. Но среди
нет ни одного идеального и все чем-то замороченные.
А это, между прочим, очень не просто.
Первая проблема в том, что нет единого порядка сортировки ордеров в истории.
В процессе работы терминала история пополняется по мере закрытия ордеров.
А на запуске терминала история отсортирована по времени открытия.
Начать надо с того, что вести свой массив с тикетами в порядке открытия ордеров.
Когда все ордера закрыты - считать ничего не надо. Поэтому первый ордер в новой серии
как-нибудль помечаем, например через комментарий. А потом все подсчеты ведем
заканчивая на этом ордере. Примерно так, а вообще вариантов множество. Но среди
нет ни одного идеального и все чем-то замороченные.
Спасибо!
Здравствуйте! Ветка старая но актуальная. Я думаю эту проблему надо решать через OrderMagicNumber(). Например после CloseAll(); добавить к OrderMagicNumber() цифру.
В чем ее актуальность? Нужно понимать что история ордеров хранится на сервере брокера / ДЦ и сам ты ее никак не сбросишь.
Кроме того, программно ты имеешь доступ к ордерам в соответствии с настройками МТ4 терминала, т.е. если не вся история доступна, то и не ко всем ордерам доберешься.
А сами ордера можешь сортировать кастомно как хочешь, по дате, по номеру / тикету, по магическому номеру, комментам, по типу (отложенный, закрытая сделка и т.п.) ...
В общем, необходимости так называемого сброса счетчика не вижу. Или нужна вменяема постановка задачи.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть советник который торгует каждый день до определенного результата в $. Он складывает все закрытые позиции из истории и открытые текущие позиции. Когда профит достиг ждет следующего дня.
Как сбросить после CloseAll(); все счетчики CalculateProfitHistory(); CalculateBuyHistory(); CalculateSellHistory();
Подскажите кодом. Ни как не могу сообразить.