ЗДОРОВО ВСЕМ!!! Я НОВИЧОК И КАК ВСЕ НОВИЧКИ РЕШИЛ СДЕЛАТЪ СЕБЕ СОВЕТНИК.ВЪ СПРОСИТЕ КАК? МЕТОДОМ КОПИРОВАНИЯ КУСКОВ КОДА ИЗ НЕСКОЛЪКИХ СОВЕТНИКОВ.ВСЕ ВРОДЕ ХОРОШО,ТОЛЪКО ОШИБКА ПРИ КОМПИЛЯЦИИ ВЪДАЕТСЯ НА СТРОКУ КОТОРАЯ ИДЕТ ВНИЗ ПОСЛЕ КОНЦА КОДА,НА ЕТОИ СТРОКЕ НИЧЕГО НЕТ
'\end_of_program' - ending bracket '}' expected C:\Program Files\BenchMark MetaTrader 4\experts\cm_EA News.mq4 (111, 1)
'\end_of_program' - unbalanced left parenthesis C:\Program Files\BenchMark MetaTrader 4\experts\cm_EA News.mq4 (111, 1)
МОИ КОД ЗАКАНЧИВАЕТСЯ НА 106 СТРОКЕ, А МНЕ ДАЕТСЯ ОШИБКА НА 111 СТРОКЕ,РАЗВЕ ТАКОЕ ВОЗМОЖНО.ИЗВИНИТЕ МЕНЯ ЗА -Ъ- Я ИЗ БОЛГАРИИ И НА МОЕИ КЛАВИАТУРЕ НЕТ РУСКОЕ -ЬI
Я ПРОСЧИТАЛ ДАЖЕ AkeIPad ПОДКЛЮЧАЛ ВСЕ РАВНО ТАКЖЕ ПОКАЗЪВАЕТ.И ПОЧЕМУ ТАКАЯ РАЗНИЦА В СТРОКАХ!
Я ПРОСЧИТАЛ ДАЖЕ AkeIPad ПОДКЛЮЧАЛ ВСЕ РАВНО ТАКЖЕ ПОКАЗЪВАЕТ.И ПОЧЕМУ ТАКАЯ РАЗНИЦА В СТРОКАХ!
Может, всё же, код выложите?
extern int Stoploss = 0, //стоплосс, если 0 то не изменяется
Takeprofit = 0; //тейкпрофит, если 0 то не изменяется
extern int TrailingStop = 3; //длинна тралла, если 0 то нет тралла
extern int TrailingStart = 1; //когда включать тралл, например после достижения 40 п прибыл
extern int StepTrall = 1; //шаг тралла - перемещать стоплосс не ближе чем StepTrall
extern int Magic = 77; //магик
extern int Step = 10; //расстояние от цены
extern double Lot = 0.03;
extern int slippage = 30; //Максимально допустимое отклонение цены для рыночных ордеров (ордеров на покупку или продажу).
//--------------------------------------------------------------------
int STOPLEVEL;
//--------------------------------------------------------------------
int init()
{
}
//--------------------------------------------------------------------
int deinit()
{
}
//--------------------------------------------------------------------
int start()
{
STOPLEVEL=MarketInfo(Symbol(),MODE_STOPLEVEL);
double OSL,StLo,PriceB,PriceS,OOP,SL,TP;
int b,s,TicketB,TicketS,OT,Order;
for (int i=0; i<OrdersTotal(); i++);
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES));
{
if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber());
{
OT = OrderType();
OSL = NormalizeDouble(OrderStopLoss(),Digits);
OOP = NormalizeDouble(OrderOpenPrice(),Digits);
SL=OSL;
if (OT==OP_BUY);
{
b++;
if (Order==OP_BUY && Bid+5*Point<OOP);
{
if(OrderSend(Symbol(),OP_SELL,Lot*1,NormalizeDouble(Bid-5*Point,Bid + Takeprofit*Point,Digits,slippage,0,0,"",Magic,0,Red)!=-1) return;
}
if (TrailingStop>=STOPLEVEL && TrailingStop!=0 && (Bid - OOP)/Point >= TrailingStart);
{
StLo = NormalizeDouble(Bid - TrailingStop*Point,Digits);
if (StLo>=OOP && StLo > OSL+StepTrall*Point) SL = StLo;
}
if (SL > OSL);
{
if (!OrderModify(OrderTicket(),OOP,SL,TP,0,White)) Print("Error ",GetLastError()," Order Modify Buy SL ",OSL,"->",SL);
else Print("Order Buy Modify SL ",OSL,"->",SL);
}
}
if (OT==OP_SELL);
{
s++;
if (Order==OP_SELL && Ask-5*Point>OOP);
{
if(OrderSend(Symbol(),OP_BUY,Lot*1,NormalizeDouble(Ask+5*Point,Ask - TrailingStop*Point,Digits),slippage,0,0,"",Magic,0,Blue)!=-1) return;
}
if (TrailingStop>=STOPLEVEL && TrailingStop!=0 && (OOP - Ask)/Point >= TrailingStart);
{
StLo = NormalizeDouble(Ask + TrailingStop*Point,Digits);
if (StLo<=OOP && (StLo < OSL-StepTrall*Point || OSL==0)) SL = StLo;
}
if ((SL < OSL || OSL==0) && SL!=0);
{
if (!OrderModify(OrderTicket(),OOP,SL,TP,0,White)) Print("Error ",GetLastError()," Order Modify Sell SL ",OSL,"->",SL);
else Print("Order Sell Modify SL ",OSL,"->",SL);
}
}
if (OT==OP_BUYSTOP) (PriceB=OOP; TicketB=OrderTicket();
if (OT==OP_SELLSTOP) (PriceS=OOP; TicketS=OrderTicket();
{
if (b+TicketB==0);
{
if (Stoploss>=STOPLEVEL && Stoploss!=0) SL = NormalizeDouble(Bid - Stoploss * Point,Digits); else SL=0;
if (Takeprofit>=STOPLEVEL && Takeprofit!=0) TP = NormalizeDouble(Ask + Takeprofit * Point,Digits); else TP=0;
if (OrderSend(Symbol(),OP_BUYSTOP,Lot,NormalizeDouble(Ask+Step * Point,Digits),slippage,SL,TP,"news",Magic,0,CLR_NONE)!=-1);
}
if (s+TicketS==0);
{
if (Stoploss>=STOPLEVEL && Stoploss!=0) SL = NormalizeDouble(Ask + Stoploss * Point,Digits); else SL=0;
if (Takeprofit>=STOPLEVEL && Takeprofit!=0) TP = NormalizeDouble(Bid - Takeprofit * Point,Digits); else TP=0;
if (OrderSend(Symbol(),OP_SELLSTOP,Lot,NormalizeDouble(Bid - Step * Point,Digits),slippage,SL,TP,"news",Magic,0,CLR_NONE)!=-1);
}
}
}
}
}
//----------------------------------------------------------------------
Да, и еще - уберите все ";" после условий...
if (OT==OP_SELL); - не правильно
if (OT==OP_SELL) - правильно
Последней скобки "}" не хватает.
И после всех параметров циклов то-же уберите ";"...
Код слишком аккуратный... )))
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
ЗДОРОВО ВСЕМ!!! Я НОВИЧОК И КАК ВСЕ НОВИЧКИ РЕШИЛ СДЕЛАТЪ СЕБЕ СОВЕТНИК.ВЪ СПРОСИТЕ КАК? МЕТОДОМ КОПИРОВАНИЯ КУСКОВ КОДА ИЗ НЕСКОЛЪКИХ СОВЕТНИКОВ.ВСЕ ВРОДЕ ХОРОШО,ТОЛЪКО ОШИБКА ПРИ КОМПИЛЯЦИИ ВЪДАЕТСЯ НА СТРОКУ КОТОРАЯ ИДЕТ ВНИЗ ПОСЛЕ КОНЦА КОДА,НА ЕТОИ СТРОКЕ НИЧЕГО НЕТ
'\end_of_program' - ending bracket '}' expected C:\Program Files\BenchMark MetaTrader 4\experts\cm_EA News.mq4 (111, 1)
'\end_of_program' - unbalanced left parenthesis C:\Program Files\BenchMark MetaTrader 4\experts\cm_EA News.mq4 (111, 1)
МОИ КОД ЗАКАНЧИВАЕТСЯ НА 106 СТРОКЕ, А МНЕ ДАЕТСЯ ОШИБКА НА 111 СТРОКЕ,РАЗВЕ ТАКОЕ ВОЗМОЖНО.ИЗВИНИТЕ МЕНЯ ЗА -Ъ- Я ИЗ БОЛГАРИИ И НА МОЕИ КЛАВИАТУРЕ НЕТ РУСКОЕ -ЬI