BEZUMEC >>:
Доброго времени суток.
Очень нужна помощь. В общем смысл такой: при появлении новой свечи у меня открывается новый ордер (BAY \ SELL), когда индикатор Parabolic SAR меняет направление мне надо закрыть все открытые ордера. Код как бы есть, но как закрыть все ордера не имею представления. Вот часть кода:
OrderSend(Symbol(),OP_BUY,0.1,Ask,2,Bid-999*Point,Bid+999*Point);
OrderSend(Symbol(),OP_SELL,0.1,Bid,2,Ask+999*Point,Ask-999*Point);
Заранее благодарен.
Доброго времени суток.
Очень нужна помощь. В общем смысл такой: при появлении новой свечи у меня открывается новый ордер (BAY \ SELL), когда индикатор Parabolic SAR меняет направление мне надо закрыть все открытые ордера. Код как бы есть, но как закрыть все ордера не имею представления. Вот часть кода:
int start()
{
double sar_0, sar_1;
sar_0 = iSAR(NULL,PERIOD_H4,0.1,0.2,0);
sar_1 = iSAR(NULL,PERIOD_H4,0.1,0.2,1);
double MA_0, MA_1;
MA_0 = iMA(NULL,PERIOD_H4,5,0,MODE_SMA,PRICE_CLOSE,0);
MA_1 = iMA(NULL,PERIOD_H4,5,0,MODE_SMA,PRICE_CLOSE,1);
if(sar_1 < MA_1 && sar_0 > MA_1)
//Закрыть все ордера.
if(sar_1 > MA_1 && sar_0 < MA_1)
//Закрыть все ордера.
}
Ордера открываю так: {
double sar_0, sar_1;
sar_0 = iSAR(NULL,PERIOD_H4,0.1,0.2,0);
sar_1 = iSAR(NULL,PERIOD_H4,0.1,0.2,1);
double MA_0, MA_1;
MA_0 = iMA(NULL,PERIOD_H4,5,0,MODE_SMA,PRICE_CLOSE,0);
MA_1 = iMA(NULL,PERIOD_H4,5,0,MODE_SMA,PRICE_CLOSE,1);
if(sar_1 < MA_1 && sar_0 > MA_1)
//Закрыть все ордера.
if(sar_1 > MA_1 && sar_0 < MA_1)
//Закрыть все ордера.
}
OrderSend(Symbol(),OP_BUY,0.1,Ask,2,Bid-999*Point,Bid+999*Point);
OrderSend(Symbol(),OP_SELL,0.1,Bid,2,Ask+999*Point,Ask-999*Point);
Заранее благодарен.
void CloseThisSymbolAll() { int trade; for(trade=OrdersTotal()-1;trade>=0;trade--) { OrderSelect(trade,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()!=Symbol()) continue; if(OrderSymbol()==Symbol() && OrderMagicNumber()== MAGICMA) { if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,5,Blue); if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,5,Red); } } }
При компиляции ругается на строку:
if(OrderSymbol()==Symbol() && OrderMagicNumber()== MAGICMA)
>>'MAGICMA' - variable not defined
if(OrderSymbol()==Symbol() && OrderMagicNumber()== MAGICMA)
>>'MAGICMA' - variable not defined
Разобрался. Огромное спасибо.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Очень нужна помощь. В общем смысл такой: при появлении новой свечи у меня открывается новый ордер (BAY \ SELL), когда индикатор Parabolic SAR меняет направление мне надо закрыть все открытые ордера. Код как бы есть, но как закрыть все ордера не имею представления. Вот часть кода:
{
double sar_0, sar_1;
sar_0 = iSAR(NULL,PERIOD_H4,0.1,0.2,0);
sar_1 = iSAR(NULL,PERIOD_H4,0.1,0.2,1);
double MA_0, MA_1;
MA_0 = iMA(NULL,PERIOD_H4,5,0,MODE_SMA,PRICE_CLOSE,0);
MA_1 = iMA(NULL,PERIOD_H4,5,0,MODE_SMA,PRICE_CLOSE,1);
if(sar_1 < MA_1 && sar_0 > MA_1)
//Закрыть все ордера.
if(sar_1 > MA_1 && sar_0 < MA_1)
//Закрыть все ордера.
}
OrderSend(Symbol(),OP_BUY,0.1,Ask,2,Bid-999*Point,Bid+999*Point);
OrderSend(Symbol(),OP_SELL,0.1,Bid,2,Ask+999*Point,Ask-999*Point);
Заранее благодарен.