Aide au codage - page 761

 
oguz:

mladen,

"simple (Regularized ema) EA 1.3" a été actif sur 5 parités différentes en même temps de 10h à 21h mais il n'a ouvert aucun ordre !

Y a-t-il un problème dans cette EA pour ouvrir des ordres ?

P.S : Il s'agissait de graphiques de démonstration (ecn-pro) tickmill.

Bonjour oguz

Il fonctionne comme il est supposé le faire, mais s'il vous plaît toujours essayer d'expliquer votre problème exactement, si possible avec des images d'illustration, au moins faire votre travail qui vous appartient comme le temps est le plus important pour chaque personne.

Salutations


 
mntiwana:
Bonjour oguz

Il fonctionne comme il est supposé le faire, mais s'il vous plaît toujours essayer d'expliquer votre problème exactement, si possible avec des images d'illustration, au moins faire votre travail qui vous appartient comme le temps est le plus important pour chaque personne.

Salutations


Cher @mntiwana

Le problème est simple au niveau de ma stupidité !

Je pensais que ce bouton n' était qu'un message d'information ! Alors qu'il faisait cet expert On-Enable / Off-Disable !

Quand j'ai vu la couleur du bouton dans votre graphique, il était rouge !

Merci pour vos graphiques :)

 
Cher Mladen,

J'essaie de calculer la différence MA3 - MA1 donnée par le code suivant :
      for(int i=limit - 1; i>=0; i--)
      {  
        double MA1, MA2, MA3, MA4;
 
        buffer[i] = EMPTY_VALUE;

        MA1 = iCustomMa(MAType1,getPrice(pr_open,Open,Close,High,Low,i),MAPeriod,i,0);
        MA2 = iCustomMa(MAType1,getPrice(pr_close,Open,Close,High,Low,i),MAPeriod,i,0);
 
        MA3 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_OPEN,i);
        MA4 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_CLOSE,i);

        buffer[i] = MA3 - MA1;
      }
où MAType1 = iEMA(...), MAType2 = MODE_EMA. Pour la boucle ci-dessus, la différence MA3 - MA1 est sensiblement différente de 0.0.
est sensiblement différente de 0,0. Cependant, lorsque je commente MA2 :
      for(int i=limit - 1; i>=0; i--)
      {  
        double MA1, MA2, MA3, MA4;
 
        buffer[i] = EMPTY_VALUE;

        MA1 = iCustomMa(MAType1,getPrice(pr_open,Open,Close,High,Low,i),MAPeriod,i,0);
      //  MA2 = iCustomMa(MAType1,getPrice(pr_close,Open,Close,High,Low,i),MAPeriod,i,0);
 
        MA3 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_OPEN,i);
        MA4 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_CLOSE,i);

        buffer[i] = MA3 - MA1;
      }
la différence MA3 - MA1 est exactement égale à 0,0 (comme prévu).
Je ne peux pas comprendre un tel comportement, s'il vous plaît aidez ; cela ressemble à un bug, ou alors...
 
wojtekpaul:
Cher Mladen,

J'essaie de calculer la différence MA3 - MA1 donnée par le code suivant :
      for(int i=limit - 1; i>=0; i--)
      {  
        double MA1, MA2, MA3, MA4;
 
        buffer[i] = EMPTY_VALUE;

        MA1 = iCustomMa(MAType1,getPrice(pr_open,Open,Close,High,Low,i),MAPeriod,i,0);
        MA2 = iCustomMa(MAType1,getPrice(pr_close,Open,Close,High,Low,i),MAPeriod,i,0);
 
        MA3 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_OPEN,i);
        MA4 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_CLOSE,i);

        buffer[i] = MA3 - MA1;
      }
où MAType1 = iEMA(...), MAType2 = MODE_EMA. Pour la boucle ci-dessus, la différence MA3 - MA1 est sensiblement différente de 0.0.
est sensiblement différente de 0.0. Cependant, lorsque je commente MA2 :
      for(int i=limit - 1; i>=0; i--)
      {  
        double MA1, MA2, MA3, MA4;
 
        buffer[i] = EMPTY_VALUE;

        MA1 = iCustomMa(MAType1,getPrice(pr_open,Open,Close,High,Low,i),MAPeriod,i,0);
      //  MA2 = iCustomMa(MAType1,getPrice(pr_close,Open,Close,High,Low,i),MAPeriod,i,0);
 
        MA3 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_OPEN,i);
        MA4 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_CLOSE,i);

        buffer[i] = MA3 - MA1;
      }
la différence MA3 - MA1 est exactement égale à 0,0 (comme prévu).
Je ne peux pas comprendre un tel comportement, aidez-moi s'il vous plaît ; cela ressemble à un bug, ou alors...
Vous appliquez le prix d'ouverture dans le premier appel à la MA personnalisée et ensuite le prix de fermeture dans le deuxième appel à la MA personnalisée - et vous faites cela à la même instance de l'ema. Vous ne pouvez pas faire cela. Vous mélangez des pommes et des poires. Pour chaque prix (ou valeur) différent, utilisez une instance différente de custom ma.

Déclarez deux instances de custom ma et faites ensuite ce qui suit :

for(int i=limit - 1; i>=0; i--)
{  
        double MA1, MA2, MA3, MA4;

        buffer[i] = EMPTY_VALUE;

        MA1 = iCustomMa(MAType1,getPrice(pr_open,Open,Close,High,Low,i),MAPeriod,i,0);
        MA2 = iCustomMa(MAType1,getPrice(pr_close,Open,Close,High,Low,i),MAPeriod,i,1);

        MA3 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_OPEN,i);
        MA4 =  iMA(NULL,0,MAPeriod,0,MAType2,PRICE_CLOSE,i);

        buffer[i] = MA3 - MA1;
}
Et alors elles seront exactement les mêmes (MA1 à MA3 et MA2 à MA4).
 
oui, vous êtes un génie. :)
 
wojtekpaul:

Désolé pour cette question stupide, mais comment déclarer les deux instances ?

La fonction originale 'custom ma' est déclarée avec instanceNo=0,

et si je mets le paramètre à 1 lorsque j'appelle la fonction dans le code,

je ne reçois rien...

Vérifiez les maInstances dans le code :)
 
mladen:

Déclarer deux instances de custom ma

Désolé pour la question stupide, mais comment déclarer deux instances ?

La fonction originale 'custom ma' est déclarée avec int instanceNo=0,

et si je mets le paramètre à 1 lors de l'appel de la fonction dans le code,

Je ne reçois rien (bien que maintenant cela n'interfère pas avec la fonction avec

l'instance 0)...

 

OK, merci, je dois encore apprendre beaucoup :-)))


EDIT : OK, maintenant je vois - maInstances sont dans la nouvelle version de MAs

(par exemple dans le nouveau format de BB stops), mais ils semblent être absents

dans l'ancienne version (où environ 20 MAs sont disponibles).

 
wojtekpaul:

OK, merci, je dois encore apprendre beaucoup :-)))


EDIT : OK, maintenant je vois - maInstances sont dans la nouvelle version de MAs

(par exemple dans le nouveau format de BB stops), mais ils semblent être absents

dans l'ancienne version (où environ 20 MAs sont disponibles).

Les anciennes versions n'avaient pas la possibilité d'avoir plusieurs instances
 
Bonjour tout le monde et merci pour tout l'aide que vous apporté était ce forum je voudrais vous demandé si il était possible de mettre laflèche qui a sur ce indicateur directement sur lexml-ph