Как изменить ширину индикатора с помощью скрипта?

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

Я хочу изменить ширину индикатора с помощью скрипта или эксперта. Я добавил индикатор, используя скрипт на графике. Но не получите способа изменить ширину линий.

Вот сценарий:

 void  OnStart  ()  
   {  

   ResetLastError  ();  

   for  (  int  i =  1  ; i <=  3  ; i ++)  
    {  
     int  dem =  iDeMarker  (  _Symbol  ,  _Period  ,  14  * i);  
     ChartIndicatorAdd  (  0  ,  1  , dem);  

    }  
 } 

Пожалуйста, дайте мне знать, что я могу сделать.

Vladimir Karputov
Модератор
181888
Vladimir Karputov  

Для этого необходимо использовать пользовательский индикатор. Например такойRSI Custom Smoothing - можно менять цвет линии, толщину линии ...

Во входные параметры были вынесены такие параметры:

  • цвет основной линии индикатора
  • толщина основной линии индикатора
  • значения двух уровней индикатора

RSI Custom Smoothing

Для чего были внесены эти изменения: теперь из советника можно управлять уровнями индикатора и его цветом - это особенно удобно при визуальном тестировании. Например в советнике заданы нестандартные уровни: 35 и 75. При использовании индикатора RSI Custom Smoothing советник в режиме визуального тестирования на индикаторе будет отображаться именно уровни 35 и 75.

Также добавлено сглаживание индикаторного буфера. Сглаживание выполнено по методу Simple averaging с периодом 6.

Пример создания хендла индикатора в советнике:

//--- create handle of the indicator iRSI
   handle_iCustom=iCustom(m_symbol.Name(),Period(),"RSI Custom Smoothing",Inp_RSI_Period,
                          Inp_RSI_Color,Inp_RSI_Width,Inp_RSI_Level1,Inp_RSI_Level2);
//--- if the handle is not created 
   if(handle_iCustom==INVALID_HANDLE)
     {
      //--- tell about the failure and output the error code 
      PrintFormat("Failed to create handle of the iRSI indicator for the symbol %s/%s, error code %d",
                  m_symbol.Name(),
                  EnumToString(Period()),
                  GetLastError());
      //--- the indicator is stopped early 
      return(INIT_FAILED);
     }

 


jaffer wilson
2453
jaffer wilson  
Vladimir Karputov :

For this you need to use a custom indicator. For Example The the the thisthe the the the the RSI the Smoothing the the the Custom  - the CAN you change the line color, line thickness ...

Разве это не возможно с Demarker в MT5?

Vladimir Karputov
Модератор
181888
Vladimir Karputov  
jaffer wilson:

Разве это не возможно с Demarker в MT5?

Для этого необходимо использовать пользовательский индикатор у которого есть входной параметр "ширина линии".

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