Думаю никто ковырятся в твоём коде не будет.
Он слишком громоздко написан.
Например выставление сетки можно было сделать как то так
double distance=first_distance; if(OrdersTotal()==0) { for(int i=0;i<orders_to_open;i++) { buy_stop(distance); sell_stop(distance); distance+=step; } }
for(int i=(OrdersHistoryTotal()-1); i < (OrdersHistoryTotal());i++)
Если надо последний ордер то просто без цыкла. Смысл с него если делаешь одну итерацию?
if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))
P.S. Когда отложенный ордер стаёт рыночным и закрывается то он будет последним в списке исторических ордеров.
Vasyl Nosal:
Неверное утверждение. Смотря как история счета отсортирована в терминале. И если он закрылся вчера, а история счета настроена так, что показывать только сегодняшнюю историю, то советник вообще ордер в истории не увидит.
...P.S. Когда отложенный ордер стаёт рыночным и закрывается то он будет последним в списке исторических ордеров.
Oksana Berenko:
Неверное утверждение. Смотря как история счета отсортирована в терминале. И если он закрылся вчера, а история счета настроена так, что показывать только сегодняшнюю историю, то советник вообще ордер в истории не увидит.
Сортировка не имеет значения.
Неверное утверждение. Смотря как история счета отсортирована в терминале. И если он закрылся вчера, а история счета настроена так, что показывать только сегодняшнюю историю, то советник вообще ордер в истории не увидит.
Vasyl Nosal:
Сортировка не имеет значения.
Только что проверила, вы правы. Имеет значение только то, что загружено во вкладке "история счета"
Сортировка не имеет значения.
Vasyl Nosal:
Сортировка не имеет значения.
Сортировка имеет значение - если терминал закрывался
Сортировка не имеет значения.
for(int i=(OrdersHistoryTotal()-1); i < (OrdersHistoryTotal());i++)
Nikita Solodko:
Что делает этот цикл?
Этот цикл что-то делает один раз
Что делает этот цикл?

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Помогите, я 3 дня пытаюсь решить проблему и не получается... Написал советника, он создает сетку из стоп ордеров после того как откроет ордер по указанной цене. Стопы повторяют сами себя после SLTP.
А вот суть проблемы такова, не важно buy или sell, но ордера ниже отметки перевыставляются все, а выше только каждый второй! Все вроде симметрично написано, помогите исправить ошибку. 3 дня убил не могу понять, что не так.
Механика простая. После открытия базового ордера открывается сетка ордеров, заполняется и по закрытию проверяется какой это ордер был, далее ставится false. Каждый тик советник проверяет какие ордера закрытые и можно ли выставить заново.