Уважаемые разработчики, функция
OrderSelect(_i, SELECT_BY_POS, MODE_TRADES);
|
После того как явно прописываешь
if(OrderSymbol() == Symbol() && OrderCloseTime() <= 0 && OrderMagicNumber() == Magic)
всё начинает работать исправно.
Это я чего-то не понимаю или глюк терминала?
Закрытых отложек не бывает. Что такое "закрытые отложки"? Каким образом их можно "закрыть"
К словам не цепляйтесь, конечно, удалённые.
Это другое дело. Никогда не наблюдал такого эффекта. Можно кусочек кода который выбирает?
Ошибка скорее всего именно в нём.
пожалуйста, правда определение времени закрытия (удаления) я уже добавил. Эта функция не единственная, которая не правильно работает, а просто элементарный пример.
//+------- //+------------------------------------------------------------------+ //| valenok2003@mail.ru 08.12.2010 //+------------------------------------------------------------------+ //| comment_num_orders() выдаёт в комментарии общее количество ордеров //| требует: //| - магик //+------------------------------------------------------------------+ void comment_num_orders(int _Magic) { if(!Comment_ON) return; string _Function = "comment_num_orders():"; int _Cnt_BUY = 0; int _Cnt_SELL = 0; int _Cnt_BUYSTOP = 0; int _Cnt_SELLSTOP = 0; for(int _i=OrdersTotal()-1; _i>=0; _i--) { OrderSelect(_i, SELECT_BY_POS, MODE_TRADES); if(OrderSymbol()==Symbol() && OrderType()==OP_BUY && OrderCloseTime() <= 0 && OrderMagicNumber()==_Magic) _Cnt_BUY++; if(OrderSymbol()==Symbol() && OrderType()==OP_SELL && OrderCloseTime() <= 0 && OrderMagicNumber()==_Magic) _Cnt_SELL++; if(OrderSymbol()==Symbol() && OrderType()==OP_BUYSTOP && OrderCloseTime() <= 0 && OrderMagicNumber()==_Magic) _Cnt_BUYSTOP++; if(OrderSymbol()==Symbol() && OrderType()==OP_SELLSTOP && OrderCloseTime() <= 0 && OrderMagicNumber()==_Magic) _Cnt_SELLSTOP++; } Txt_Comment = Txt_Comment + "\n"+"== всего ордеров =="; if(_Cnt_BUY != 0) Txt_Comment = Txt_Comment + "\n"+"OP_BUY: " +_Cnt_BUY; if(_Cnt_SELL != 0) Txt_Comment = Txt_Comment + "\n"+"OP_SELL: " +_Cnt_SELL; if(_Cnt_BUYSTOP != 0) Txt_Comment = Txt_Comment + "\n"+"OP_BUYSTOP: " +_Cnt_BUYSTOP; if(_Cnt_SELLSTOP != 0)Txt_Comment = Txt_Comment + "\n"+"OP_SELLSTOP: "+_Cnt_SELLSTOP; return; } //+------------------------------------------------------------------+ //+-------
пожалуйста, правда определение времени закрытия (удаления) я уже добавил. Эта функция не единственная, которая не правильно работает, а просто элементарный пример.
Прошу прощения, - моя невнимательность. У меня на 10 ордеров 0.01 был открыт один лок на 0.1.
Ещё раз извините.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Уважаемые разработчики, функция
OrderSelect(_i, SELECT_BY_POS, MODE_TRADES);
После того как явно прописываешь
if(OrderSymbol() == Symbol() && OrderCloseTime() <= 0 && OrderMagicNumber() == Magic)
всё начинает работать исправно.
Это я чего-то не понимаю или глюк терминала?