Aide au codage - page 712

 
mladen:
La méthode est exactement la même - il suffit de changer la fenêtre cible dans le ChartIndicatorAdd() pour qu'elle soit 0.

Salut mladen, merci pour la réponse... J'étudiais ici...

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

où (1) fenêtre supérieure

CharGetInteger(1=>fenêtre supérieure)

where (0) inférieur

ChartIndicatorAdd(0,(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL),RSI1Handle) ;
CharGetInteger(0=>basse)

pas facile de découvrir cela... lol

maintenant j'essaie de mettre une couleur différente dans le MA
 
baraozemo:

Salut mladen, merci pour la réponse... J'étudiais ici...

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

où (1) fenêtre supérieure

CharGetInteger(1=>fenêtre supérieure)

where (0) inférieur

ChartIndicatorAdd(0,(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL),RSI1Handle) ;
CharGetInteger(0=>basse)

pas facile de découvrir cela... lol

maintenant j'essaie de mettre une couleur différente dans le MA

Comme ceci

ChartIndicatorAdd(0,0,MA1Handle);
 
mladen:

Comme ceci

ChartIndicatorAdd(0,0,MA1Handle);

la question de mettre l'indicateur en haut ou en bas, comme je l'ai dit, j'ai découvert...

ChartIndicatorAdd(0,1,MA1Handle); (haut)

ChartIndicatorAdd(0,2,RS1Handle); (en bas)

les problèmes réels :

1) maintenant j'essaie d'appliquer une couleur différente aux MA's

2) et de résoudre un problème pour libérer les MA's des graphiques (les RSI's et le WPR sont nettoyés correctement... )

par exemple...

le RSI1,RSI2,RSI3 et WPR est nettoyé correctement mais le MA1,MA2,MA3 n'est pas nettoyé...

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:

la question de mettre l'indicateur en haut ou en bas, comme je l'ai dit, j'ai découvert...

ChartIndicatorAdd(0,1,MA1Handle); (haut)

ChartIndicatorAdd(0,2,RS1Handle); (en bas)

les problèmes actuels :

1) maintenant j'essaie d'appliquer une couleur différente aux MA's

2) et de résoudre un problème pour libérer les MA's des graphiques (les RSI's et le WPR sont nettoyés correctement... )

par exemple...

les RSI1,RSI2,RSI3 et WPR sont nettoyés correctement mais les MA1,MA2,MA3 ne sont pas nettoyés...

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();

  }

La moyenne mobile sinusoïdale n'a qu'un nom "Moyenne mobile" ; vous ne pouvez pas l'identifier de manière unique, donc vous ne pouvez pas la supprimer en toute sécurité.
 

Mladen, 1) aidez-nous à arrondir les chiffres dans iCustom à 0,1 ou 0,01 maximum.

et expliquez, s'il vous plaît comment insérer "value2" (ou3) au lieu de la moyenne de l'indicateur par défaut ?

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

 

BONJOUR Mr. mladen

j'ai lancé cet indicateur{ssa_squeeze_of_averages_mtf_amp_alerts_2.mq4} mais il ne montre rien.

pouvez-vous le réparer

merci pour votre aide

et pouvez-vous faire la MTF de cet indicateur :ma_count_amp_alerts.mq4

MTF similaire à cet histogramme :

 
bilbao:

BONJOUR Mr. mladen

j'ai lancé cet indicateur{ssa_squeeze_of_averages_mtf_amp_alerts_2.mq4} mais il ne montre rien.

pouvez-vous le réparer

Cordialement

et pouvez-vous faire la MTF de cet indicateur :ma_count_amp_alerts.mq4

MTF similaire à cet histogramme :

Vous avez besoin de "SSA of price" pour que le ssa_squeeze . .. fonctionne.
 
kostumer27:

Mladen, 1) aidez-nous à arrondir les chiffres dans iCustom à 0,1 ou 0,01 maximum.

et expliquez, s'il vous plaît comment insérer "valeur2" (ou3) au lieu de la moyenne de l'indicateur par défaut ?

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

Cela dépend de la liste des paramètres de l'indicateur, mais vous devez passer les paramètres entre le nom de l'indicateur et le numéro de tampon.

Quelque chose comme ceci :

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

L'autre partie, je ne comprends pas

Si vous voulez dire à chaud pour limiter les valeurs de retour, vous ne pouvez pas le faire. Vous pouvez seulement limiter la valeur assignée à quelque chose à partir de l'appel iCustom(), comme ceci

double result = MathMax(MathMin(iCustom(symbolName,PeriodMinutes,"_1_IFT 2-1",0,i),0.1),0.01);
 
mladen:
Vous avez besoin de "SSA of price" pour que le ssa_squeeze . .. fonctionne.

Merci.

maintenant ça marche

 

mr mladen :

on pourrait en faire une MTF

similaire à l'histogramme de cette image

Bien vu

Dossiers :