Коллеги, добрый день. Есть часть кода из советника. Он удаляет отложенные ордера, когда проходит определенное количество секунд
Как в коде поменять, чтобы несработавшие отложенные ордера удалялись не в зависимости от времени, а если цена от ордера ушла на определенное расстояние.
например задействовать переменную stepmin - это будет количество пунктов, когда нужно удалить ордер.
Возможно так сделать? Не пойму как обозначить в коде текущую рыночную цену.
Часть кода
Текущая рыночная цена это переменные Ask и Bid. Если по другому инструменту, то:
double fAsk = SymbolGetDouble(<другой символ>, SYMBOL_ASK); double fBid = SymbolGetDouble(<другой символ>, SYMBOL_BID);
Если возможно помогите, как это можно отразить в коде
if (!is_end&&TimeCurrent()>=time_news+order_delete) is_end=true;
Если возможно помогите, как это можно отразить в коде
Здесь - никак. Для начала нужно выбрать нужный ордер (через OrderSelect(), проходя по списку рабочих ордеров), а потом уже:
fabs(fAsk - OrderOpenPrice()) > количество пунктов, переведенных в категорию цены
или
fabs(fBid - OrderOpenPrice()) > количество пунктов, переведенных в категорию цены
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Коллеги, добрый день. Есть часть кода из советника. Он удаляет отложенные ордера, когда проходит определенное количество секунд
Как в коде поменять, чтобы несработавшие отложенные ордера удалялись не в зависимости от времени, а если цена от ордера ушла на определенное расстояние.
например задействовать переменную stepmin - это будет количество пунктов, когда нужно удалить ордер.
Возможно так сделать? Не пойму как обозначить в коде текущую рыночную цену.
Часть кода