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

OrderClose (tit soucis)

  • karine75

    coucou,

    j'ai un soucis avec mon EA, en faisant le backtest j'ai vu que l'OrderClose ne marchait pas.
    En fait, mon signal d'achat se fait bien au bon endroit, mais il ne s'arrête qu'au prochain signal d'achat ou à cause du StopLoss ou TakeProfit et pas quand le signal de vente intervient, je comprend pas trop où j'ai fait l'erreur donc si quelqu'un voit :)

    if (Buy1_1 > Buy1_2 ) {
    OrderSend (Symbol (), OP_BUY, 1, Ask, 3, Ask - 500 * Point, Ask + 500 * Point, "achat", 231456, 0, Blue);
    }

    if (CloseBuy1_1 < CloseBuy1_2) {
    OrderClose (OrderTicket (), OrderLots (), Bid, 3, CLR_NONE);
    return(0);

    ++
  • furynick

    Si tu utilises les OrderTicket et OrderLots sans avoir sélectionné ton ordre avec un OrderSelect auparavant ça ne risque pas de fonctionner.

    Il faut peut-être que tu récupères le n° du ticket renvoyé par OrderSend :
    Code
    if (Buy1_1 > Buy1_2 ) { ticket = OrderSend (Symbol (), OP_BUY, 1, ask, 3, ask - 500 * Point, ask + 500 * Point, "achat", 231456, 0, Blue); } if (CloseBuy1_1 < CloseBuy1_2) { OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES); OrderClose (OrderTicket (), OrderLots (), Bid, 3, CLR_NONE); return(0);
  • karine75

    coucou et merci pour ta réponse furynick, cette nuit en fouillant sur le net j'ai trouvé un tit bout de code, je l'ai mis et ça marche, ça respecte bien ma condition, mais dans le journal j'ai une erreur de ticket, mais enfin ça marche quand même lol.
    Par contre, ce qui me dérange c'est que dès qu'un ordre est clos, il re ouvre sur la même barre grrr, tu sais pas comment je dois faire pour mettre un délai entre les positions (par exemple attendre 1 heure entre chaque nouvelle ordre) ?

    Gros bibi
  • karine75

    edit: ou pas exemple faire une commande manuelle qui dirait: ouvrir nouvelle ordre?