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

 

Советник открывает позицию по сигналу 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);

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

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

 
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         
Причина обращения: