Потому, что слишком замудрёно написано. Тестирую я сейчас свой советник и там счудил ошибку по которой наставилось немыслемое количество ордеров на демо счёте, как рыночных так и отложников. Чтобы быстренько всё почистить написал простенький скриптик...
/*********************************************************************\ CleanAll.mq4 | Copyright 2016, Viktorov | v4forex@yandex.ru | \*********************************************************************/ #property copyright "Copyright 2016, Viktorov" #property link "v4forex@yandex.ru" #property version "1.00" #property strict /********************Script program start function********************/ void OnStart() { int i, total = OrdersTotal(); for(i = total ; i >= 0; i--) { if(OrderSelect(i, SELECT_BY_POS)) { if(OrderType() > OP_SELL) { if(!OrderDelete(OrderTicket())) printf("***********"); } if(OrderType() < OP_SELLSTOP) { if(!OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 100)) printf("***********"); } } } }/********************************************************************/
Посчитай сколько строк и выбери не нужное в своём коде.
Ой!!! Извини, не сразу посмотрел что выбираешь i-тый ордер по тикету из истории...
for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_TICKET, MODE_HISTORY)) {
Даже не знаю что сказать...
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь