Помогите исправить ошибку в коде советника. Попытался написать советник на основе индикатора Laguerre.mq4. При компиляции выдает ошибку. Место ошибки в коде выделено жирным. Сам индикатор находится в теле советника.
//+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); }
//+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int limit; int counted_bars = IndicatorCounted(); double CU, CD; //---- last counted bar will be recounted if (counted_bars>0) counted_bars--; else counted_bars = 1; limit = Bars - counted_bars; //---- computations for RSI for (int i=limit; i>=0; i--) { double Price=iMA(NULL,0,1,0,0,Price_Type,i);
CU = 0; CD = 0; if (L0[i] >= L1[i]) CU = L0[i] - L1[i]; else CD = L1[i] - L0[i]; if (L1[i] >= L2[i]) CU = CU + L1[i] - L2[i]; else CD = CD + L2[i] - L1[i]; if (L2[i] >= L3[i]) CU = CU + L2[i] - L3[i]; else CD = CD + L3[i] - L2[i];
if (CU + CD != 0) Filter[i] = (L0[i] + 2 * L1[i] + 2 * L2[i] + L3[i]) / 6.0; } return(0);
//+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { if (OrdersTotal()>0) { CU = 0; CD = 0; { OrderSelect(SELECT_BY_POS); if (OrderSymbol()==Symbol()) { if (OrderType()== OP_BUY) { if ((L0[i] >= L1[i])CU = L0[i] - L1[i],(L1[i] >= L2[i])CU = CU + L1[i] - L2[i],(L2[i] >= L3[i]),CU = CU + L2[i] - L3[i]) OrderClose(OrderTicket(),OrderLots()); else CU++; } if (OrderType()== OP_SELL) { if (CD = L1[i] - L0[i],CD = CD + L2[i] - L1[i],CD = CD + L3[i] - L2[i]) OrderClose(OrderTicket(),OrderLots()); else CD++; } } }
if (CU > CD && CU == 0) { OrderSend(Symbol(),OP_BUY,lots,Ask,0/*(Ask-StopLoss*Point)*/,0,); } if (CU < CD && CD ==0) { OrderSend(Symbol(),OP_SELL,lots,Bid,,0/*(Bid+StopLoss*Point)*/,0,); }
Нужен советник снимающии показания с Торговой Системы с шаблоном.Когда появляются стрелки одного индикатора должен открывать ордер в направление стрелки и если она меняется закрывать предыдущии ордер и открывать новый,выставляя стоп-лосс и тейк-профит.
Напишу советник любой сложности. Главное чтобы идея была хорошая. Как вы будет его использовать меня не волнует: будете продавать - не возражаю (денег требовать не буду).
P. S. Если вам нужен индикатор, то вы должны мне описать стратегию, в которой хотите его использовать.
Здравствуйте! нужен торговый робот на MTD 4 . могу выслать фотки с примерами сделок. отвечатьжелательно на почту пожалуйста. money3@inbox.ru Все подробности по почте перешлю. вместе с фото и описанием.
Здравствуйте! нужен торговый робот на MTD 4 . могу выслать фотки с примерами сделок. отвечатьжелательно на почту пожалуйста. money3@inbox.ru Все подробности по почте перешлю. вместе с фото и описанием.
ramses: ну Вы можете исправить ошибку что бы я увидел не дочет?
Вы знаете, почему никто не исправляет Ваш код? Потому что по нему четко видно, что учебник Вы не прочитали, а в этом случае разговор получится тяжелый и скорее всего бесполезный.
Здравствуйте.Нужен советник который бы выставлял на заданном расстоянии от рынка позы в обе стороны (напр. Bay Stop и Sell Limit, опционально лучше сделать чтоб выставлял и в одну сторону) с учетом спреда. С возможностью включения трала пока позы не в рынке и перехода в безубыток(по гибким критериям) после открытия. А если еще будет функция включения/выключения автоматического открытия позиций после закрытия предыдущих, будет ваще здорово.
Большая просьба - больше не спамить. Что бы быть услышанным - достаточно одного поста в одной ветке. Остальные я удалил
Большая просьба - больше не спамить. Что бы быть услышанным - достаточно одного поста в одной ветке. Остальные я удалил
//+------------------------------------------------------------------+
//| Laguerre+.mq4 |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
//---- input parameters
extern int TrailingStop=0;
extern int StopLoss=0;
extern double lots=0.1;
extern double gamma = 0.7;
extern int Price_Type = 0;
//---- buffers
double Filter[];
double L0[];
double L1[];
double L2[];
double L3[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(5);
//---- indicators
SetIndexStyle(0, DRAW_LINE);
SetIndexDrawBegin(0, 1);
SetIndexLabel(0, "LaguerreFilter");
SetIndexBuffer(0, Filter);
SetIndexBuffer(1, L0);
SetIndexBuffer(2, L1);
SetIndexBuffer(3, L2);
SetIndexBuffer(4, L3);
//----
string short_name="LaguerreFilter(" + DoubleToStr(gamma, 2) + ")";
IndicatorShortName(short_name);
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars = IndicatorCounted();
double CU, CD;
//---- last counted bar will be recounted
if (counted_bars>0)
counted_bars--;
else
counted_bars = 1;
limit = Bars - counted_bars;
//---- computations for RSI
for (int i=limit; i>=0; i--)
{
double Price=iMA(NULL,0,1,0,0,Price_Type,i);
L0[i] = (1.0 - gamma)*Price + gamma*L0[i+1];
L1[i] = -gamma*L0[i] + L0[i+1] + gamma*L1[i+1];
L2[i] = -gamma*L1[i] + L1[i+1] + gamma*L2[i+1];
L3[i] = -gamma*L2[i] + L2[i+1] + gamma*L3[i+1];
CU = 0;
CD = 0;
if (L0[i] >= L1[i])
CU = L0[i] - L1[i];
else
CD = L1[i] - L0[i];
if (L1[i] >= L2[i])
CU = CU + L1[i] - L2[i];
else
CD = CD + L2[i] - L1[i];
if (L2[i] >= L3[i])
CU = CU + L2[i] - L3[i];
else
CD = CD + L3[i] - L2[i];
if (CU + CD != 0)
Filter[i] = (L0[i] + 2 * L1[i] + 2 * L2[i] + L3[i]) / 6.0;
}
return(0);
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
if (OrdersTotal()>0)
{
CU = 0;
CD = 0;
{
OrderSelect(SELECT_BY_POS);
if (OrderSymbol()==Symbol())
{
if (OrderType()== OP_BUY)
{
if ((L0[i] >= L1[i])CU = L0[i] - L1[i],(L1[i] >= L2[i])CU = CU + L1[i] - L2[i],(L2[i] >= L3[i]),CU = CU + L2[i] - L3[i])
OrderClose(OrderTicket(),OrderLots());
else CU++;
}
if (OrderType()== OP_SELL)
{
if (CD = L1[i] - L0[i],CD = CD + L2[i] - L1[i],CD = CD + L3[i] - L2[i])
OrderClose(OrderTicket(),OrderLots());
else CD++;
}
}
}
if (CU > CD && CU == 0)
{
OrderSend(Symbol(),OP_BUY,lots,Ask,0/*(Ask-StopLoss*Point)*/,0,);
}
if (CU < CD && CD ==0)
{
OrderSend(Symbol(),OP_SELL,lots,Bid,,0/*(Bid+StopLoss*Point)*/,0,);
}
//----
return(0);
}
//+------------------------------------------------------------------+
Напишу советник любой сложности. Главное чтобы идея была хорошая. Как вы будет его использовать меня не волнует: будете продавать - не возражаю (денег требовать не буду).
P. S. Если вам нужен индикатор, то вы должны мне описать стратегию, в которой хотите его использовать.
Здравствуйте! нужен торговый робот на MTD 4 . могу выслать фотки с примерами сделок. отвечатьжелательно на почту пожалуйста. money3@inbox.ru Все подробности по почте перешлю. вместе с фото и описанием.
Здравствуйте! нужен торговый робот на MTD 4 . могу выслать фотки с примерами сделок. отвечатьжелательно на почту пожалуйста. money3@inbox.ru Все подробности по почте перешлю. вместе с фото и описанием.
Два старта. Перечитать учебник, разобрать типовую структуру советника.
ну Вы можете исправить ошибку что бы я увидел не дочет?
ну Вы можете исправить ошибку что бы я увидел не дочет?