Questions des débutants MQL5 MT5 MetaTrader 5 - page 212

 
paladin800:

En suivant le lien vers l'indicateur, vous pouvez voir qu'il y a 8 paramètres d'entrée. Deux de ces chaînes (s1 et s2) ne transmettent pas de valeurs à l'indicateur, mais vous devez les inclure dans votre gestionnaire d'une manière ou d'une autre. Faites ce qui suit :

Cela fonctionne, merci beaucoup !
 

Dans la fenêtre du graphique de mon EA, le profit est affiché lorsque la taille de la police est petite et que la couleur de la police se confond avec le reste des inscriptions, dans le code, cela ressemble à ceci

Commentaire (profit)

Messieurs les programmeurs, aidez-moi à changer la taille de la police dans le code, et ce serait bien de changer la couleur...

 
rus-lot:

Dans la fenêtre du graphique de mon EA, le profit est affiché lorsque la taille de la police est petite et que la couleur de la police se confond avec le reste des inscriptions, dans le code, cela ressemble à ceci

Commentaire (profit)

Messieurs les programmeurs, aidez-moi à changer la taille de la police dans le code, et ce serait bien de changer la couleur...

Lamarque de texte ne fonctionne pas ?
 
Messieurs, s'il vous plaît, aidez-nous. Besoin urgent, car en ce moment il y a des commandes peu claires qui traînent... Si l'auteur du signal a des transactions fermées, mais pas les miennes, cela signifie que quelque chose ne fonctionne pas correctement, n'est-ce pas ? Puis-je fermer des transactions manuellement dans ce cas, ou est-ce que je comprends mal quelque chose ?
 
Silent:
Une marque de texte ne fonctionnerait-elle pas ?
Je vais essayer même si je ne suis pas très doué pour ça, mais à première vue ça montre comment déplacer le texte et mon texte est un état de profit, c'est à dire une valeur modifiable.
 
rus-lot:
Je vais essayer bien que je sois très loin dans ces choses mais à première vue, il montre comment déplacer le texte et mon texte est un état de profit pour dire une valeur variable.

On fait du profit une chaîne de caractères, puis on place ce texte dans une étiquette

le script a été écrit de cette façon, je pense qu'il y a plus d'exemples dans kodobase

 
Silent:

en faire une chaîne de caractères, puis mettre ce texte dans une étiquette

le script a été écrit de cette façon, je pense qu'il y a plus d'exemples dans kodobase

Le problème est que mon bénéfice est calculé pour deux paires de devises.
 
rus-lot:
Le problème est que mon bénéfice est calculé pour deux paires de devises.

Additionner les bénéfices, puis convertir (sortir le résultat de l'opération),

ou ajouter des lignes (plus de détails ici) (sortie de 2 valeurs par ligne),

ou deux points, respectivement, profit1 et profit2)...

quelle différence cela fait-il de savoir lequel sortir.

 
Silent:

Additionner les bénéfices, puis convertir (sortir le résultat de l'opération),

ou ajouter des lignes (plus de détails ici) (sortie de 2 valeurs par ligne),

ou deux points, respectivement profit1 et profit2)...

Quelle différence cela fait-il de ce que vous produisez ?

Pour un débutant, c'est difficile à faire, mais j'ai pensé que si le bénéfice est affiché dans la fenêtre comme ceci

Commentaire(profit1+profit2

puis, afin de le faire descendre d'une ligne, il faut ajouter le signe "\n" suivant

Commentaire("\n", profit1+profit2

C'est pourquoi je pensais qu'il serait possible d'ajouter un autre caractère à la ligne, mais ce que vous dites sera compliqué et non réalisable pour moi, je n'y comprends rien.

 
paladin800:

En suivant le lien vers l'indicateur, vous pouvez voir qu'il y a 8 paramètres d'entrée. Deux de ces chaînes (s1 et s2) ne transmettent pas de valeurs à l'indicateur, mais vous devez les inclure dans votre gestionnaire d'une manière ou d'une autre. Vous devriez le faire de cette façon :

Je ne peux pas obtenir de signaux d'entrée sur le marché à partir de cet indicateur(https://www.mql5.com/ru/code/1806) lorsqu'il trouve une divergence.

 MACD_Divergence__Handle=iCustom(NULL,0,"MACD_Divergence",
                                "---",
                                MACD_Divergence__fastEMA,
                                MACD_Divergence__slowEMA,
                                MACD_Divergence__signalMA,
                                "---",
                                drawIndicatorTrendLines,
                                drawPriceTrendLines,
                                displayAlert);
   if(MACD_Divergence__Handle==INVALID_HANDLE)                               
     {
      Print(" Не удалось получить хендл индикатора MACD_Divergence");
      return(INIT_FAILED);
     }
......................................
void OnDeinit(const int reason)
  {
IndicatorRelease(MACD_Divergence__Handle);

......................................
void OnTick()
  {
  ArraySetAsSeries(bullishDivergenceBuffer,true);
   ArraySetAsSeries(bearishDivergenceBuffer,true);
   ArraySetAsSeries(macdBuffer,true);
   ArraySetAsSeries(signalBuffer,true);
......................................
   if(CopyBuffer(MACD_Divergence__Handle,0,0,30,bullishDivergenceBuffer)<0 || CopyBuffer(MACD_Divergence__Handle,1,0,30,bearishDivergenceBuffer)<0)
      
           {
      Alert("Ошибка копирования значений индикаторных буферов индикатора MACD_Divergence :",GetLastError(),"!!");
      return;
           }
    if(
       CopyBuffer(MACD_Divergence__Handle,2,0,3,macdBuffer)<0 ||CopyBuffer(MACD_Divergence__Handle,3,0,3,signalBuffer)<0 )
           {
      Alert("Ошибка копирования значений индикаторных буферов индикатора MACD_Divergence :",GetLastError(),"!!");
      return;
           }       
           
           
Print(" !!!!!!!!!!!!!!!! bullishDivergenceBuffer =  ",bullishDivergenceBuffer[0]);
Print(" !!!!!!!!!!!!!!!! bearishDivergenceBuffer =  ",bearishDivergenceBuffer[0]);
Print(" !!!!!!!!!!!!!!!! macdBuffer =  ",macdBuffer[0]);
Print(" !!!!!!!!!!!!!!!! signalBuffer =  ",signalBuffer[0]);

Techniquement, tout semble aller bien, pas d'erreur commeGetLastError ouINVALID_HANDLE à aucun moment, j'ai essayé d'obtenir les valeurs pour la divergence haussière et baissière, elles sont vides :

2014.03.14 19:34:15 Core 1 2014.03.03 16:00:00 ! !!!!!!!!!!!!!!! bullishDivergenceBuffer = 1.797693134862316e+308
2014.03.14 19:34:15 Core 1 2014.03.03 16:00:00 ! !!!!!!!!!!!!!!! bearishDivergenceBuffer = 1.797693134862316e+308
2014.03.14 19:34:15 15 Core 1 2014.03.03 16:00:00 ! !!!!!!!!!!!!!!! signalBuffer = 0.001566958632905211
2014.03.14 19:34:15 Core 1 2014.03.03 16:00:00 ! !!!!!!!!!!!!!!! macdBuffer = 0.001471813911680497

Comment puis-je obtenir ces valeurs ? L'indicateur lui-même a les valeurs, j'ai essayé de les sortir viaPrint et ils montrent les valeurs d'extrema, pourquoi ils ne sont pas passés à l'EA ?

J'ai essayé de nombreuses variantes, mais le résultat est le même. Peut-être que la requêteCopyBuffer devrait être différente, mais comment ? Je n'ai rien trouvé dans la recherche.

Ou la valeur de la barre 0 dans l'EA et [currentExtremum] dans l'indicateur ne sont pas en corrélation ? Comment puis-je les réconcilier ?

MACD Divergence
MACD Divergence
  • votes : 24
  • 2013.11.04
  • Alain Verleyen
  • www.mql5.com
Индикатор выводит линии дивергенции индикатора MACD и отображает сигналы на покупку и продажу при помощи стрелок.