Ковырялка стандартной поставки ExpertMAMA

 

Народ приделайте кому не в лом визуализацию индкаторов к ExpertMAMA из стандартной поставки, в очередной раз пытаюсь понять логику торговли экспертов из стандартной поставки, уже шифер съезжает

Только чтоб Машки рисовались разным цветом 

У меня создается ощущение что советник открывается по параметрам машки для трейлинга 

//+------------------------------------------------------------------+

//|                                                   ExpertMAMA.mq5 |

//|                   Copyright 2009-2013, MetaQuotes Software Corp. |

//|                                              http://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright   "2009-2013, MetaQuotes Software Corp."

#property link      "http://www.mql5.com"

#property version   "1.00"

//+------------------------------------------------------------------+

//| Include                                                          |

//+------------------------------------------------------------------+

#include <Expert\Expert.mqh>

#include <Expert\Signal\SignalMA.mqh>

#include <Expert\Trailing\TrailingMA.mqh>

#include <Expert\Money\MoneyNone.mqh>

//+------------------------------------------------------------------+

//| Inputs                                                           |

//+------------------------------------------------------------------+

//--- inputs for expert

input string             Inp_Expert_Title       ="ExpertMAMA";

int                      Expert_MagicNumber     =12003;

bool                     Expert_EveryTick       =false;

//--- inputs for signal

input int                Inp_Signal_MA_Period   =12;

input int                Inp_Signal_MA_Shift    =6;

input ENUM_MA_METHOD     Inp_Signal_MA_Method   =MODE_SMA;

input ENUM_APPLIED_PRICE Inp_Signal_MA_Applied  =PRICE_CLOSE;

//--- inputs for trailing

input int                Inp_Trailing_MA_Period =12;

input int                Inp_Trailing_MA_Shift  =0;

input ENUM_MA_METHOD     Inp_Trailing_MA_Method =MODE_SMA;

input ENUM_APPLIED_PRICE Inp_Trailing_MA_Applied=PRICE_CLOSE;

//+------------------------------------------------------------------+

//| Global expert object                                             |

//+------------------------------------------------------------------+

CExpert ExtExpert;

//+------------------------------------------------------------------+

//| Initialization function of the expert                            |

//+------------------------------------------------------------------+

int OnInit(void)

  {

//--- Initializing expert

   if(!ExtExpert.Init(Symbol(),Period(),Expert_EveryTick,Expert_MagicNumber))

     {

      //--- failed

      printf(__FUNCTION__+": error initializing expert");

      ExtExpert.Deinit();

      return(-1);

     }

//--- Creation of signal object

   CSignalMA *signal=new CSignalMA;

   if(signal==NULL)

     {

      //--- failed

      printf(__FUNCTION__+": error creating signal");

      ExtExpert.Deinit();

      return(-2);

     }

//--- Add signal to expert (will be deleted automatically))

   if(!ExtExpert.InitSignal(signal))

     {

      //--- failed

      printf(__FUNCTION__+": error initializing signal");

      ExtExpert.Deinit();

      return(-3);

     }

//--- Set signal parameters

   signal.PeriodMA(Inp_Signal_MA_Period);

   signal.Shift(Inp_Signal_MA_Shift);

   signal.Method(Inp_Signal_MA_Method);

   signal.Applied(Inp_Signal_MA_Applied);

//--- Check signal parameters

   if(!signal.ValidationSettings())

     {

      //--- failed

      printf(__FUNCTION__+": error signal parameters");

      ExtExpert.Deinit();

      return(-4);

     }

//--- Creation of trailing object

   CTrailingMA *trailing=new CTrailingMA;

   if(trailing==NULL)

     {

      //--- failed

      printf(__FUNCTION__+": error creating trailing");

      ExtExpert.Deinit();

      return(-5);

     }

//--- Add trailing to expert (will be deleted automatically))

   if(!ExtExpert.InitTrailing(trailing))

     {

      //--- failed

      printf(__FUNCTION__+": error initializing trailing");

      ExtExpert.Deinit();

      return(-6);

     }

//--- Set trailing parameters

   trailing.Period(Inp_Trailing_MA_Period);

   trailing.Shift(Inp_Trailing_MA_Shift);

   trailing.Method(Inp_Trailing_MA_Method);

   trailing.Applied(Inp_Trailing_MA_Applied);

//--- Check trailing parameters

   if(!trailing.ValidationSettings())

     {

      //--- failed

      printf(__FUNCTION__+": error trailing parameters");

      ExtExpert.Deinit();

      return(-7);

     }

//--- Creation of money object

   CMoneyNone *money=new CMoneyNone;

   if(money==NULL)

     {

      //--- failed

      printf(__FUNCTION__+": error creating money");

      ExtExpert.Deinit();

      return(-8);

     }

//--- Add money to expert (will be deleted automatically))

   if(!ExtExpert.InitMoney(money))

     {

      //--- failed

      printf(__FUNCTION__+": error initializing money");

      ExtExpert.Deinit();

      return(-9);

     }

//--- Set money parameters

//--- Check money parameters

   if(!money.ValidationSettings())

     {

      //--- failed

      printf(__FUNCTION__+": error money parameters");

      ExtExpert.Deinit();

      return(-10);

     }

//--- Tuning of all necessary indicators

   if(!ExtExpert.InitIndicators())

     {

      //--- failed

      printf(__FUNCTION__+": error initializing indicators");

      ExtExpert.Deinit();

      return(-11);

     }

//--- succeed

   return(INIT_SUCCEEDED);

  }

//+------------------------------------------------------------------+

//| Deinitialization function of the expert                          |

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

  {

   ExtExpert.Deinit();

  }

//+------------------------------------------------------------------+

//| Function-event handler "tick"                                    |

//+------------------------------------------------------------------+

void OnTick(void)

  {

   ExtExpert.OnTick();

  }

//+------------------------------------------------------------------+

//| Function-event handler "trade"                                   |

//+------------------------------------------------------------------+

void OnTrade(void)

  {

   ExtExpert.OnTrade();

  }

//+------------------------------------------------------------------+

//| Function-event handler "timer"                                   |

//+------------------------------------------------------------------+

void OnTimer(void)

  {

   ExtExpert.OnTimer();

  }

//+------------------------------------------------------------------+


 

Если я правильно понял,то эксперт просто докидывает на график свои машки.

После снятия эксперта машки остаются.Мало ли посмотреть и проанализировать.

 

Файлы:
 
Karlson:

Если я правильно понял,то эксперт просто докидывает на график свои машки.

После снятия эксперта машки остаются.Мало ли посмотреть и проанализировать.

 

Спасибо огромное, в понедельник гляну, на тестере поставочный эксперт  у меня не работает адекватно, предполагаю это связано с тралами, буду пробовать на демке.

Ещё нужна консультация, я чайник в кодировании.

Вопрос: Правильно ли я понимаю, что рассматриваемый советник принимает решения на основе вот этого

https://www.mql5.com/ru/docs/standardlibrary/expertclasses/csignal/signal_ma 

Документация по MQL5: Стандартная библиотека / Классы торговых стратегий / Модули торговых сигналов / Сигналы индикатора Moving Average
Документация по MQL5: Стандартная библиотека / Классы торговых стратегий / Модули торговых сигналов / Сигналы индикатора Moving Average
  • www.mql5.com
Стандартная библиотека / Классы торговых стратегий / Модули торговых сигналов / Сигналы индикатора Moving Average - Документация по MQL5
 
Никогда не изучал эти модули.Не помогу.
 

Народ кто может пояснить имеет ли отношение SignalMA.mqh

к описанию здесь https://www.mql5.com/ru/docs/standardlibrary/expertclasses/csignal/signal_ma

в работе рассматриваемого советника 

Документация по MQL5: Стандартная библиотека / Классы торговых стратегий / Модули торговых сигналов / Сигналы индикатора Moving Average
Документация по MQL5: Стандартная библиотека / Классы торговых стратегий / Модули торговых сигналов / Сигналы индикатора Moving Average
  • www.mql5.com
Стандартная библиотека / Классы торговых стратегий / Модули торговых сигналов / Сигналы индикатора Moving Average - Документация по MQL5
Причина обращения: