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 de tp et sl

  • aymeric78

    Salut à tous,
    j'arrive a passer l'ordre avec un takeprofit et un stoploss de 20 en utilisant ta technique ci-dessous or Sur la plate forme FxPro, le tp et sl affiche 200 et -200 avec un lot de 1. Y aurait il un moyen pour qu'il affiche entre 20 et -20, pour avoir une précision a 5 chiffre après la virgule sur le SL et TP. et si on met un écart plus grand ça met une erreur 130 car je préféré mettre 50 en tp.

    Code
    #import "stdlib.ex4" string ErrorDescription(int error_code); #import #include <stderror.mqh> int stoploss = 20; bool buySignal, sellSignal, buyActive, sellActive; double orderLot; double factor = Point*MathPow(10, Digits % 2); int minStop = MarketInfo(Symbol(), MODE_STOPLEVEL) * factor; int slippage = 3; int magicNumber = 4537; void openNewTrade() { double sl; int error; if (buySignal) { sl=Ask - (stopLoss * factor); if (Ask - sl < minStop) sl=Ask - minStop; OrderSend(Symbol(), OP_BUY, orderLot, ask, slippage, NormalizeDouble(sl, Digits), 0, "Commentaire EA", magicNumber, 0); error = GetLastError(); if (error == ERR_NO_ERROR) buyActive = true; else Print("BUY ", orderLot, "@", ask, " sl:", d2s(sl, Digits)," fail: ", ErrorDescription(error)); } if (sellSignal) { sl=Bid + (stopLoss * factor); if (sl - Bid < minStop) sl=Bid + minStop; OrderSend(Symbol(), OP_SELL, orderLot, Bid, slippage, NormalizeDouble(sl, Digits), 0, NAME+" "+VERSION+" "+sPeriod, magicNumber, 0); error = GetLastError(); if (error == ERR_NO_ERROR) sellActive = true; else Print("SELL ", orderLot, "@", Bid, " sl:", d2s(sl, Digits)," fail: ", ErrorDescription(error)); } }