5 раз прочел, ничЁ не понял :)
sergeyka2003:
Интересует как можно закрыть открытый ордер, если при открытии не выставляем СТОПЛОС? Т.е. нужно закрыть по условиям, пока не смог разобраться, может кто подскажет?
int start() { if (OrdersTotal()!=0) { for(int i=OrdersTotal();i>=0;i--) { if (OrderSelect(i,SELECT_BY_POS)==true) { if (OrderType()==OP_BUY && OrderStopLoss()==0) OrderClose(OrderTicket(),OrderLots(),Bid,0,0); if (OrderType()==OP_SELL && OrderStopLoss()==0) OrderClose(OrderTicket(),OrderLots(),Ask,0,0); } } } return(0); }Наверное так :)
Europa:
Наверное так :)
Наверное так :)
А если у меня открыт ЕДИНОВРЕМЕННО только ОДИН ордер на Бай или Сел?
Запомнить номер тикета открытого ордера или присвоить ордеру оригинальный магик номер или возможно оригинальный комментарий, далее по этим данным отличить ваш ордер от других при наступлении нужных условий и закрыть его.
sergeyka2003:
А если у меня открыт ЕДИНОВРЕМЕННО только ОДИН ордер на Бай или Сел?
А если у меня открыт ЕДИНОВРЕМЕННО только ОДИН ордер на Бай или Сел?
Закроет все
При тестировании у меня открывает Ордер, а закрыть не может!
1 2010.10.26 00:02 buy 1 0.10 1.39583 0.00000 0.00000 0.00 10000.00
2 2010.10.27 23:59 close at stop 1 0.10 1.37739 0.00000 0.00000 -184.47 9815.53
Europa:
Закроет все
Закроет все
Так что не закрывает (см. выше)
//открыли Ордер
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"macd sample",16384,0,Green); // открыть тикет и настроить где печатать if(ticket>0) //открыт ордер - тогда { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice()," Значение = ",red ," Значение = ",blue); // печать ордера Что,Где,Когда? } else Print("Error opening BUY order : ",GetLastError()); //не смогли открыть БАЙ ордер return(0); }
//попытался закрыть.... не получается... ПОДСКАЖИТЕ КАК???
if (OrdersTotal()!=0) { for(i=OrdersTotal();i>=0;i--) { if (OrderSelect(i,SELECT_BY_POS)==true) { if (OrderType()==OP_BUY && OrderStopLoss()==0) OrderClose(OrderTicket(),OrderLots(),Bid,0,0); if (OrderType()==OP_SELL && OrderStopLoss()==0) OrderClose(OrderTicket(),OrderLots(),Ask,0,0) ; } } }
При тестировании у меня открывает Ордер, а закрыть не может!
1 2010.10.26 00:02 buy 1 0.10 1.39583 0.00000 0.00000 0.00 10000.00
2 2010.10.27 23:59 close at stop 1 0.10 1.37739 0.00000 0.00000 -184.47 9815.53
yuripk:
Запомнить номер тикета открытого ордера или присвоить ордеру оригинальный магик номер или возможно оригинальный комментарий, далее по этим данным отличить ваш ордер от других при наступлении нужных условий и закрыть его.
Запомнить номер тикета открытого ордера или присвоить ордеру оригинальный магик номер или возможно оригинальный комментарий, далее по этим данным отличить ваш ордер от других при наступлении нужных условий и закрыть его.
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"macd sample",16384,0,Green); // открыть тикет и настроить где печатать if(ticket>0) //открыт ордер - тогда { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice()," Значение = ",red ," Значение = ",blue); // печать ордера Что,Где,Когда? } else Print("Error opening BUY order : ",GetLastError()); //не смогли открыть БАЙ ордер return(0); } if (OrdersTotal()!=0) { if (OrderSelect(16384,SELECT_BY_TICKET)==true) { if (OrderType()==OP_BUY && OrderStopLoss()==0) OrderClose(16384,OrderLots(),Bid,0,0); if (OrderType()==OP_SELL && OrderStopLoss()==0) OrderClose(16384,OrderLots(),Ask,0,0) ; } }
с МАГИК НОМЕРОМ похоже что тоже не выходит...
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Интересует как можно закрыть открытый ордер, если при открытии не выставляем СТОПЛОС? Т.е. нужно закрыть по условиям, пока не смог разобраться, может кто подскажет?