Virgin1976:
Здравствуйте уважаемые. Честно долго пытался сам это сделать, но не получается. Необходимо, чтобы происходила проверка по открытым ордерам на определенную валютную пару (в данном случае пытаюсь проверить по EURUSD) и если открытого ордера по этой паре нет, то открыть его. Вот написал, но не работает. Подскажите, что не правильно делаю?
int start()
{
int i= OrdersTotal();
for(i=OrdersTotal()-1;i>=0;i--)
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) && (OrderSymbol() == "EURUSD"))
break;
else
OrderSend("EURUSD",OP_BUY,0.1,Ask,3,Bid-50*Point,Bid+50*Point);
return(0);
}
Попробуй так
int start() { int i, Total = OrdersTotal()-1; for(i = Total; i >= 0; i--) { if(OrderSelect(i, SELECT_BY_POS) && OrderSymbol() == "EURUSD")// По умолчанию ордер выбирается из открытых return(0); } OrderSend("EURUSD",OP_BUY,0.1,Ask,3,Bid-50*Point,Bid+50*Point); return(0); }
Спасибо. Работает.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте уважаемые. Честно долго пытался сам это сделать, но не получается. Необходимо, чтобы происходила проверка по открытым ордерам на определенную валютную пару (в данном случае пытаюсь проверить по EURUSD) и если открытого ордера по этой паре нет, то открыть его. Вот написал, но не работает. Подскажите, что не правильно делаю?
int start()
{
int i= OrdersTotal();
for(i=OrdersTotal()-1;i>=0;i--)
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && (OrderSymbol() == "EURUSD"))
break;
else
OrderSend("EURUSD",OP_BUY,0.1,Ask,3,Bid-50*Point,Bid+50*Point);
return(0);
}