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

Problème stop suiveur et avis sur EA

  • Arru

    Bonjour à tous,

    J'obtient de super résultat en back test avec un EA, mais en réel sur un compte démo le stop loss suiveur ne fonctionne pas ou par palier,

    Je vous mets le code ci-dessous si quelqu'un aurait une idée^^ et je suis bon entendeur pour des améliorations étant donné que j'ai un mois de programmation à mon actif!

    void OnTick()
    {

    lot_mini =MarketInfo(NULL,MODE_MINLOT);
    symbole = Symbol ();
    spread = MarketInfo(NULL,MODE_SPREAD);

    // Stop loss suiveur

    for (ib=0;ib<ticket_buy+1;ib++){
    if (OrderSelect(ib,SELECT_BY_TICKET) ){
    if (OrderCloseTime() == 0)
    if ( symbole == Symbol () )
    if ( OrderStopLoss()<Bid-SL_suiveur && (OrderOpenPrice())+SL_suiveur+4<Bid){
    Modify_buy = OrderModify(ib,0,Bid-SL_suiveur,0,0,clrGreen);}
    }}

    // condition d'achat
    XXXXXXXXX
    // ordre d'achat
    // si ordre d'achat déjà en cours

    if ( OrderSelect(ticket_buy,SELECT_BY_TICKET) )
    if (OrderCloseTime() == 0)
    if ( Bid > (OrderOpenPrice()+ SL_suiveur+5) )
    ticket_buy = ((OrderSend(NULL,OP_BUY,lot_achat,Ask,0,Bid-SL_achat,0,"good",0,0,clrDarkGreen)));

    // si précédent ordre fermé

    if ( OrderSelect(ticket_buy,SELECT_BY_TICKET) )
    if (OrderCloseTime() != 0)
    ticket_buy = (OrderSend(NULL,OP_BUY,lot_achat,Ask,0,Bid-SL_achat,0,"good",0,0,clrDarkGreen));

    // si premier ordre

    if ( ticket_buy == 0 )
    ticket_buy = ((OrderSend(NULL,OP_BUY,lot_achat,Ask,0,Bid-SL_achat,0,"good",0,0,clrDarkGreen)));

    }


    Merci par avance
  • stani

    C'est le code complet ? Difficile de t'aider si ce n'est pas le cas.
  • riden — en réponse à Arru dans son message #118411

    Salut,

    Code
    if ( OrderStopLoss()<Bid-SL_suiveur && (OrderOpenPrice())+SL_suiveur+4<Bid){ .... if ( Bid > (OrderOpenPrice()+ SL_suiveur+5) )

    +4 et +5 !! si l'EURUSD est à 1.1130 par exemple, Bid+5 = 5.1130 et non pas 1.1135 si tu veux par là Bid+5pips alors utilises MarketInfo(OrderSymbol(),MODE_POINT)

    Code
    if ( OrderStopLoss()<Bid-SL_suiveur && (OrderOpenPrice())+SL_suiveur+4*10*MarketInfo(OrderSymbol(),MODE_POINT)<Bid){