Скачать MetaTrader 5

Не срабатывает фильтрация MACD , помогите

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
juno24
40
juno24  

Советник открывает позицию по сигналу MA. Нормально открывает, как задумано.

При попытке установить фильтр по MACD,он его не воспринимает. Не могу понять, то ли я дурак, то ли лыжи не едут .

Код следующий .

1. Инициалицация

macd_signal= iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
macd_main = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);

2.

в условие на открытие ордера BUY добавляю && macd_main > 0

Но позиция все равно открываетстя, если даже MACD < 0 .

Умный человек посоветовал использовать предущий бар, сделал так

macd_signal= iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
macd_main = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);

Результат не изменился .

Помогите плиз!!!

Роман
7939
Роман  
stoploss:

Советник открывает позицию по сигналу MA. Нормально открывает, как задумано.

При попытке установить фильтр по MACD,он его не воспринимает. Не могу понять, то ли я дурак, то ли лыжи не едут .

Код следующий .

1. Инициалицация

mdac_signal= iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
mdac_main = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);

2.

в условие на открытие ордера BUY добавляю && mdac_main > 0

Но позиция все равно открываетстя, если даже MACD < 0 .

Умный человек посоветовал использовать предущий бар, сделал так

mdac_signal= iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
mdac_main = iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);

Результат не изменился .

Помогите плиз!!!








Делайте по аналогии учебника с этой страничке...

Правьте условия на вход по себя и все... Вместо стохастика подключайте МА и вперед...

Проверьте еще раз сигналы на вход от МА, которые Вы не предоставили на рассмотрение...

Вот и все.

//--------------------------------------------------------------- 4 --
   // Параметры технич. индикат:
   M_0=iMACD(Sym,PERIOD_H1,12,26,9,PRICE_CLOSE,MODE_MAIN,1); // 0 бар
   M_1=iMACD(Sym,PERIOD_H1,12,26,9,PRICE_CLOSE,MODE_MAIN,2); // 1 бар
   S_0=iMACD(Sym,PERIOD_H1,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);//0 бар
   S_1=iMACD(Sym,PERIOD_H1,12,26,9,PRICE_CLOSE,MODE_SIGNAL,2);//1 бар
 
   St_M_0=iStochastic(Sym,PERIOD_M15,5,3,3,MODE_SMA,0,MODE_MAIN,  1);
   St_M_1=iStochastic(Sym,PERIOD_M15,5,3,3,MODE_SMA,0,MODE_MAIN,  2);
   St_S_0=iStochastic(Sym,PERIOD_M15,5,3,3,MODE_SMA,0,MODE_SIGNAL,1);
   St_S_1=iStochastic(Sym,PERIOD_M15,5,3,3,MODE_SMA,0,MODE_SIGNAL,2);
//--------------------------------------------------------------- 5 --
   // Вычисление торговых критериев
   if(M_0>S_0 && -M_0>Opn && St_M_0>St_S_0 && St_S_0<St_min)
      return(10);                      // Открытие Buy    
   if(M_0<S_0 &&  M_0>Opn && St_M_0<St_S_0 && St_S_0>St_max)
      return(20);                      // Открытие Sell 
   if(M_0<S_0 &&  M_0>Cls && St_M_0<St_S_0 && St_S_0>St_max)
      return(11);                      // Закрытие Buy    
   if(M_0>S_0 && -M_0>Cls && St_M_0>St_S_0 && St_S_0<St_min)
      return(21);                      // Закрытие Sell         
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий