Rejoindre la communauté
banner_forum
Devenez membre de la plus grande
communauté francophone sur le Forex
Partagez, échangez et apprenez en gagnant des crédits sur votre compte de trading

Cherche aide concernant le code d'un EA à base de moyennes mobiles

  • richelieu2609

    Bonjour à tous,

    Me revoilà pour solliciter à nouveau l'aide de la communauté.

    J'ai crée un EA dont le but est de repérer lorsque le prix casse la moyenne mobile. Le principe est simple: si le prix casse vers le bas, position de vente qui s'ouvre. Si le prix casse cette moyenne mobile à la hausse, ouverture d'un trade à l'achat.

    Voici le code de la fonction concernant cette vérification:

    Code
    void CheckMACross(){ CrossToBuy=false; CrossToSell=false; double MAVSlowCurr=iMA(Symbol(),0,MAVSlowPeriod,0,MODE_SMA,PRICE_CLOSE,1); double MAVSlowPrev=iMA(Symbol(),0,MAVSlowPeriod,0,MODE_SMA,PRICE_CLOSE,2); if(MAVSlowPrev>Ask&&MAVSlowCurr<Ask){ CrossToBuy=true; } if(MAVSlowPrev<Bid&&MAVSlowCurr>Bid){ CrossToSell=true; } }

    D'après moi, cette fonction analyse la bougie 0 et la bougie 1. C'est à dire que si la bougie d'avant est en dessous de la MM et que la bougie actuelle s'ouvre au dessus, un trade à l'achat s'ouvre (et inversement pour une position à la vente).

    L'ennui, c'est que ça n'est pas ce que je cherche. En fait, je voudrais qu'à chaque fois que le prix casse la moyenne mobile vers le haut ou vers le bas, il prenne une décision, à chaque tick.

    Est-ce-que quelqu'un saurait comment je peux m'y prendre ?

    Merci pour votre aide :)
    Modifié le 2021-04-08 21:30:22 par richelieu2609
  • Mikiburger

    Simplement comme ça ?

    if(MAVSlowCurr<Ask){
    CrossToBuy=true; }
    if(MAVSlowCurr>Bid){
    CrossToSell=true; }
  • richelieu2609

    Mikiburger, le 09/04/2021 dit :
    Simplement comme ça ? if(MAVSlowCurr<Ask){ CrossToBuy=true; } if(MAVSlowCurr>Bid){ CrossToSell=true; }


    Merci d'avoir répondu Mikiburger :)

    Le problème c'est que, comme on peut le voir sur la photo du backtest, ça devient le boxon...

    En effet, cette verif dit que, chaque tick au dessus de la MM = ouverture d'un trade d'achat et chaque tick en dessous = ouverture d'un trade à la vente.

    Or, ce que je cherche, c'est automatiser la prise de décision pile au moment de la cassure de la MM.

    Comment pourrais-je faire ?
    richelieu2609 a joint une image
    cherche-aide-concernant-le-code-d-un-ea-a-base-de-moyennes-mobiles-13306
  • Mikiburger

    Et si tu rajoutes une condition d'ouverture d'ordre ?
    N'ouvrir un ordre que si il n'y a aucune position déjà ouverte.