Можете смеяться - "поправил" код - написал совершенно странную вещь
Дальше пишет - лот не того размера...
Могу и посмешнее написать
Мне ОрдерЛотз возвращает 0 для открытой позиции...
OrderClose(i+1,OrderLots(),Bid,3);Первый ордер закрылся.
Дальше пишет - лот не того размера...
Могу и посмешнее написать
Мне ОрдерЛотз возвращает 0 для открытой позиции...
Всё. Приехали...
Сори, забыл. Там надо написать OrderTicket()............................
Сори, забыл. Там надо написать OrderTicket()............................
В функцию OrderClose() в первом параметре нужно передать тикет ордера:
OrderClose(OrderTicket(),OrderLots(),Bid,3);
Закрытие позиций нужно произоводить не с начала,а с конца:
OrderClose(OrderTicket(),OrderLots(),Bid,3);
Закрытие позиций нужно произоводить не с начала,а с конца:
for(int i=OrdersTotal()-1;i>0;i--) { //........ }Вот тебе код закрытия всех позиций:
for (int i=OrdersTotal()-1; i>=0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderSymbol()==Symbol()) { order_type=OrderType(); if(order_type==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,Red); else if(order_type==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Yellow); } } }
Спасибо!
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Размер лота выдает 0.1 - как положенно, номер тикета тоже не минусовый.
Но тестер выдает - то ему тикет не такой, то ему лот неправильный. При этом некоторые позы закрывает.......
Я вообще не понимаю поведение тестера - раньше такого не наблюдалось и все работало как следует.
Маааленькая просьба - не писать многозначительных фраз вроде "ой сколько тут ошибок!" а указывать на саму ошибку, как правильно и причину если это возможно