Aide au codage - page 676

 

Salut les amis,

J'essaie de faire un EA qui achète quand deux indicateurs indiquent (les deux doivent le faire), et vend quand les mêmes indicateurs indiquent. Si l'un des deux indicateurs change et qu'un ordre est ouvert, l'ordre devrait être fermé.
J'ai essayé, mais je ne comprends pas :

#define _doNothing 0
#define _doBuy     1
#define _doSell    2
int start()
{
   int doWhat = _doNothing;
      double hull_trend_current  = iCustom(NULL,0,"StepMA of rsi adaptive ema 2.8",PERIOD_CURRENT,RsiType,RsiLength,RsiPrice,Sensitivity,StepSize,Filter,FilterPeriod,FilterOn,10,BarToUse);
      double hull_trend_previous = iCustom(NULL,0,"StepMA of rsi adaptive ema 2.8",PERIOD_CURRENT,RsiType,RsiLength,RsiPrice,Sensitivity,StepSize,Filter,FilterPeriod,FilterOn,10,BarToUse+1);
      double hull_trend_current2  = iCustom(NULL,0,"step one more average 2.3 mtf",PERIOD_CURRENT,11,BarToUse);
      double hull_trend_previous2 = iCustom(NULL,0,"step one more average 2.3 mtf",PERIOD_CURRENT,11,BarToUse+1);
      if (hull_trend_current!=hull_trend_previous && hull_trend_current2!=hull_trend_previous2)
         if (hull_trend_current==1 && hull_trend_current2==1)
               doWhat = _doBuy;
         else  doWhat = _doSell;
         if (doWhat==_doNothing && !DisplayInfo) return(0);
         

Cet EA n'ouvre des ordres que lorsque les deux indicateurs font le même changement sur la même barre.

 
simon_json:

Salut les amis,

J'essaie de faire un EA qui achète quand deux indicateurs indiquent (les deux doivent le faire), et vend quand les mêmes indicateurs indiquent. Si l'un des deux indicateurs change et qu'un ordre est ouvert, l'ordre doit être fermé.
J'ai essayé cela, mais je ne comprends pas :

Cela n'ouvre les ordres que lorsque les deux indicateurs font le même changement sur la même barre.

De la façon dont vous les vérifiez, lorsque l'une des conditions est vraie, alors vous avez un by ou une vente (pas lorsque les deux conditions sont vraies). Est-ce bien ce que vous vouliez ?
 

Bonjour ;

Quelqu'un peut-il m'aider avec l'indicateur de fibrage automatique ci-joint ? Je veux être capable d'ajouter ou de supprimer des niveaux de fibrage. J'ai essayé de jouer avec le code mais peu importe ce que je fais, il ne montre que les niveaux par défaut d'origine. J'apprécierais toute aide.

Merci

Dossiers :
Fibos.mq4  5 kb
 
speedytina:

Bonjour ;

Quelqu'un peut-il m'aider avec l'indicateur de fibrage automatique ci-joint ? Je veux être capable d'ajouter ou de supprimer des niveaux de fibrage. J'ai essayé de jouer avec le code mais quoi que je fasse, il ne montre que les niveaux par défaut d'origine. J'apprécierais toute aide.

Merci

Postez la tentative d'ajout de niveaux pour que nous puissions vous aider à coder.
 
mladen:
De la manière dont vous les vérifiez, lorsque l'une des conditions est vraie, alors vous avez un by ou une vente (et non pas lorsque les deux conditions sont vraies). Est-ce bien ce que vous vouliez ?

Merci pour la réponse !
Je veux acheter lorsque les deux indicateurs indiquent (disons que les deux sont verts). Si l'un d'eux devient rouge (vente), l'EA doit sortir de l'achat. Si le même indicateur redevient vert (donc les deux sont verts), EA devrait acheter à nouveau. Et la même chose pour les ordres de vente ;

Je veux vendre lorsque les deux indicateurs indiquent (disons que les deux sont rouges). Si l'un d'entre eux devient vert (achat), EA doit sortir de la vente. Si le même indicateur redevient rouge (les deux sont donc verts), l'EA doit à nouveau vendre.

Ils se filtrent donc mutuellement.

 
simon_json:

Merci pour la réponse !
Je veux acheter lorsque les deux indicateurs indiquent (disons que les deux sont verts). Si l'un d'entre eux devient rouge (vente), EA doit sortir de l'achat. Si le même indicateur redevient vert (donc les deux sont verts), EA devrait acheter à nouveau. Et la même chose pour les ordres de vente ;

Je veux vendre lorsque les deux indicateurs indiquent (disons que les deux sont rouges). Si l'un d'entre eux devient vert (achat), EA doit sortir de la vente. Si le même indicateur redevient rouge (donc les deux sont verts), EA doit vendre à nouveau.

Ainsi, ils se filtrent mutuellement en quelque sorte.

simon

d'après mes observations, ne fermez pas une transaction sur les signaux opposés d'un indicateur, cela pourrait être un signal faux/short, fermez sur autre chose ou quand les deux deviennent opposés ou par limite de prise de profit.... enfin fermez une partie (disons 50 %) de cette transaction si vous voulez utiliser votre première méthode.

 
mladen:
Postez la tentative d'ajout de niveaux pour que nous puissions vous aider à coder.

Merci mladen.

J'essaie d'ajouter le fib level 0.764.

J'ai changé les lignes de code 71 et 88 de fib level 1.618 à 0.764. Il s'est compilé correctement. Cependant, lorsque je charge l'indi révisé sur un graphique, il continue d'afficher le niveau 1.618 même s'il n'est plus dans le code. Le niveau 0.764 n'apparaît pas même s'il est maintenant dans le code au lieu de 1.618.

J'ai également essayé d'ajouter une ligne de code supplémentaire en plus des 5 niveaux par défaut. Cela n'a pas fonctionné non plus. Au lieu des lignes de code "f_1[i] à f_7[i]", j'ai augmenté à "f_1[i] à f_8[i]".

Merci pour toute aide

 
speedytina:

Merci mladen.

J'essaie d'ajouter le fib level 0.764.

J'ai changé les lignes de code 71 et 88 de fib level 1.618 à 0.764. Il s'est compilé correctement. Cependant, lorsque je charge l'indi révisé sur un graphique, il continue d'afficher le niveau 1.618 même s'il n'est plus dans le code. Le niveau 0.764 n'apparaît pas même s'il est maintenant dans le code au lieu de 1.618.

J'ai également essayé d'ajouter une ligne de code supplémentaire en plus des 5 niveaux par défaut. Cela n'a pas fonctionné non plus. Au lieu des lignes de code "f_1[i] à f_7[i]", j'ai augmenté à "f_1[i] à f_8[i]".

Merci pour toute aide

Cet indicateur utilise les tampons uniquement comme une sorte de distraction. Il crée un objet "fibo" et ensuite dans cet objet, les niveaux doivent être traités différemment. Utilisez le fichier joint

Dossiers :
Fibos.mq4  6 kb
 
mntiwana:

simon

d'après mes observations, ne fermez pas une transaction sur les signaux opposés d'un indicateur, il pourrait s'agir d'un faux signal ou d'un signal de vente à découvert, fermez sur une autre chose ou lorsque les deux deviennent opposés ou par limite de prise de profit .... enfin fermez une partie (disons 50 %) de cette transaction si vous voulez utiliser votre première méthode.

Merci pour les suggestions ! Oui, ça me paraît bien. Je pense que je pourrais être capable de coder certaines des suggestions par moi-même si j'ai de l'aide pour le début :)
 
simon_json:
Merci pour les suggestions ! Oui, ça a l'air bien. Je pense que je pourrais être capable de coder certaines des suggestions par moi-même si j'ai de l'aide au départ :)

Je pense que MLADEN et stevenpun t'aident de temps en temps et que tu le fais parfaitement bien que lentement :)

Merci à tous les deux.