Помощь в кодировании - страница 712

 
mladen:
Метод точно такой же - просто измените целевое окно в ChartIndicatorAdd() на 0

Привет mladen, спасибо за ответ... Я изучал здесь...

ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle);

где (1) верхнее окно

CharGetInteger(1=>верхнее окно)

где (0) внизу

ChartIndicatorAdd(0,(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL),RSI1Handle);
CharGetInteger(0=>нижнее окно)

не так-то просто обнаружить это... lol

Теперь я пытаюсь добавить разные цвета в MA.
 
baraozemo:

Привет mladen, спасибо за ответ... Я изучал здесь...

ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle);

где (1) верхнее окно

CharGetInteger(1=>верхнее окно)

где (0) внизу

ChartIndicatorAdd(0,(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL),RSI1Handle);
CharGetInteger(0=>нижнее окно)

не так-то просто обнаружить это... lol

Теперь я пытаюсь добавить разные цвета в MA.

Вот так

ChartIndicatorAdd(0,0,MA1Handle);
 
mladen:

Например

ChartIndicatorAdd(0,0,MA1Handle);

вопрос о размещении индикатора сверху или снизу, как я уже сказал, я обнаружил...

ChartIndicatorAdd(0,1,MA1Handle); (сверху)

ChartIndicatorAdd(0,2,RS1Handle); (внизу)

реальные проблемы:

1) теперь я пытаюсь применить другой цвет к MA's

2) и решить проблему, чтобы освободить MA's от графики (RSI's и WPR очищены правильно...).

например...

RSI1, RSI2, RSI3 и WPR очищаются правильно, но MA1, MA2, MA3 не очищаются...

int OnInit()

  {

  

  if (_Period==Signal_0_MA_Timeframe)  

   {

   MA1Handle = iMA(_Symbol,Signal_0_MA_Timeframe,Signal_0_MA_PeriodMA,Signal_0_MA_Shift,Signal_0_MA_Method,Signal_0_MA_Applied);

   if (MA1Handle!=INVALID_HANDLE)

      ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle);

      //return(INIT_SUCCEEDED);

   }

  

  //---adicionando MA2

  if (_Period==Signal_1_MA_Timeframe)

   {

   MA2Handle = iMA(_Symbol,Signal_1_MA_Timeframe,Signal_1_MA_PeriodMA,Signal_1_MA_Shift,Signal_1_MA_Method,Signal_1_MA_Applied);

   if (MA2Handle!=INVALID_HANDLE)

      ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA2Handle);

      //return(INIT_SUCCEEDED);      

   }   



===============================//===========================


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

//| Deinitialization function of the expert                          |

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

void OnDeinit(const int reason)

  {

   //limpa do gráfico os indicadores RSI e WPR

    for (int w = (int)ChartGetInteger(0,CHART_WINDOWS_TOTAL); w>=0; w--)

   {

      string name = ChartIndicatorName(0,w,0);

      if (StringFind(name,"RSI(",0)==0)

            ChartIndicatorDelete(0,w,name);

      if (StringFind(name,"%R(",0)==0)

            ChartIndicatorDelete(0,w,name);

      if (StringFind(name,"Moving Average(",0)==0)

            ChartIndicatorDelete(0,w,name);

   }         

   

   ExtExpert.Deinit();

  }

 
baraozemo:

вопрос о размещении индикатора сверху или снизу, как я уже сказал, я обнаружил...

ChartIndicatorAdd(0,1,MA1Handle); (сверху)

ChartIndicatorAdd(0,2,RS1Handle); (внизу)

собственно проблемы:

1) сейчас я пытаюсь применить другой цвет к MA's

2) и решить проблему, чтобы освободить MA's от графиков (RSI's и WPR убираются правильно...).

например...

RSI1,RSI2,RSI3 и WPR очищаются правильно, но MA1,MA2,MA3 не очищаются...

int OnInit()

  {

  

  if (_Period==Signal_0_MA_Timeframe)  

   {

   MA1Handle = iMA(_Symbol,Signal_0_MA_Timeframe,Signal_0_MA_PeriodMA,Signal_0_MA_Shift,Signal_0_MA_Method,Signal_0_MA_Applied);

   if (MA1Handle!=INVALID_HANDLE)

      ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA1Handle);

      //return(INIT_SUCCEEDED);

   }

  

  //---adicionando MA2

  if (_Period==Signal_1_MA_Timeframe)

   {

   MA2Handle = iMA(_Symbol,Signal_1_MA_Timeframe,Signal_1_MA_PeriodMA,Signal_1_MA_Shift,Signal_1_MA_Method,Signal_1_MA_Applied);

   if (MA2Handle!=INVALID_HANDLE)

      ChartIndicatorAdd(0,(int)ChartGetInteger(1,CHART_WINDOWS_TOTAL),MA2Handle);

      //return(INIT_SUCCEEDED);      

   }   



===============================//===========================


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

//| Deinitialization function of the expert                          |

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

void OnDeinit(const int reason)

  {

   //limpa do gráfico os indicadores RSI e WPR

    for (int w = (int)ChartGetInteger(0,CHART_WINDOWS_TOTAL); w>=0; w--)

   {

      string name = ChartIndicatorName(0,w,0);

      if (StringFind(name,"RSI(",0)==0)

            ChartIndicatorDelete(0,w,name);

      if (StringFind(name,"%R(",0)==0)

            ChartIndicatorDelete(0,w,name);

      if (StringFind(name,"Moving Average(",0)==0)

            ChartIndicatorDelete(0,w,name);

   }         

   

   ExtExpert.Deinit();

  }

Синусоидальная скользящая средняя имеет только название "Скользящая средняя", вы не можете однозначно идентифицировать ее, поэтому вы не можете безопасно удалить ее
 

Mladen, 1) помогите пожалуйста сделать круглые цифры в iCustom не более 0.1 или 0.01.

и объясните, пожалуйста, как вставить "value2" (или 3) вместо среднего значения индикатора по умолчанию?

iCustom(symbolName,PeriodMinutes,"_1_IFT 2-1",0,i)

 

здравствуйте, господин Младен

Я запустил этот индикатор {ssa_squeeze_of_averages_mtf_amp_alerts_2.mq4}, но он ничего не показывает.

не могли бы вы исправить это

наилучшие пожелания

и не могли бы вы сделать MTF этого индикатора:ma_count_amp_alerts.mq4

MTF похожей гистограммы:

 
bilbao:

здравствуйте, господин Младен

Я запустил этот индикатор {ssa_squeeze_of_averages_mtf_amp_alerts_2.mq4}, но он ничего не показывает.

не могли бы вы исправить это

наилучшие пожелания

и не могли бы вы сделать MTF этого индикатора:ma_count_amp_alerts.mq4

MTF похожей гистограммы:

Вам нужен "SSA цены" для работы ssa_squeeze . ..
 
kostumer27:

Mladen, 1) помогите пожалуйста сделать круглые цифры в iCustom не более 0.1 или 0.01.

и объясните, пожалуйста, как вставить "value2" (или3) вместо значения индикатора по умолчанию?

iCustom(symbolName,PeriodMinutes,"_1_IFT 2-1",0,i)

Зависит от списка параметров индикатора, но вы должны передать параметры между именем индикатора и номером буфера.

Что-то вроде этого:

iCustom(symbolName,PeriodMinutes,"_1_IFT-1",yourParameter1,yourParameter2,yourParameter3,yourParameter9999,0,i)

Другая часть, которую я не понимаю

Если вы имеете в виду горячее ограничение возвращаемых значений, то вы не можете этого сделать. Вы можете ограничить только значение, присвоенное чему-то из вызова iCustom(), например, так

double result = MathMax(MathMin(iCustom(symbolName,PeriodMinutes,"_1_IFT 2-1",0,i),0.1),0.01);
 
mladen:
Вам нужно "SSA цены", чтобы ssa_squeeze . .. работал

спасибо.

теперь работает

 

мистер Младен

можно сделать из него MTF

похожая гистограмма

наилучшее мнение

Файлы:
Причина обращения: