Besoin d'une formule de moneymanagement LOT size basée sur le SL et le risque du compte ! - page 2
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Si j'ai bien compris la question, ceci fera l'affaire pour vous.
double free = AccountFreeMargin() ;
double potencial_loss,
double sum_potencial_loss = 0
double pips, lot_size ;
double pourcentage_depo = 5 ;
potencial_loss = (OrderLots() * (OrderOpenPrice() - OrderStopLoss()))*100000 ;
sum_potencial_loss = long_sum_potencial_loss + long_potencial_loss ;
lot_size = ((((free-long_sum_potencial_loss) * percent_depo)/100.0)/pips)/100000 ;
Merci, mais j'ai déjà la formule, j'ai juste besoin de fixer la valeur du point parce que j'ai un compte en EUR et non en USD :
Et j'ai besoin de remplacer le Point par TICKVALUE* TICKSIZE, donc ça ressemblerait à ça
Si quelqu'un peut confirmer que cette idée est correcte, alors le problème est résolu, je suppose. Alors, s'il vous plaît, aidez-moi rapidement, et Joyeux Noël après !
J'ai supprimé votre code . . . .
Merci pour votre aide.
Merci mais j'ai déjà la formule, j'ai juste besoin de fixer la valeur du point parce que j'ai un compte en EUR et non en USD.le code est le suivant :
Et j'ai besoin de remplacer le Point par TICKVALUE* TICKSIZE, donc cela ressemblerait à ceci
Si quelqu'un peut confirmer que cette idée est correcte, alors le problème est résolu, je suppose. Alors, s'il vous plaît, aidez-moi rapidement, et Joyeux Noël après !
Je ne peux pas le confirmer mais je suggère de le déboguer avec la fonction Alert() ; comme ceci ?
ou
Et vous le confirmerez par vous-même.
Merci pour votre aide.
Je ne peux pas le confirmer mais je suggère de le déboguer avec la fonction Alert() ; comme ceci ?
ou
Et vous le confirmerez par vous-même.
Non, ce que je voulais dire, c'est qu'il est correct d'utiliser TICKVALUE* TICKSIZE ou TICKVALUE/ TICKSIZE comme WHRoeder l'a suggéré, car l'astérisque semble plus logique dans ce cas.
Proximus: WTF guys, shouldnt that be TICKVALUE * TICKSIZE instead of TICKVALUE /TICKSIZE ? I think there is a big mistake there
Si TickValue est de 10$ et Ticksize=0.0001. Si le marché bouge de 0.0020, la valeur est de $10/0.0001 * 0.0020=$200 / par lot. 10 $ par pip * 20 pips / par lot.
Si TickValue est 1$ et Ticksize=0.00001. Si le marché bouge de 0,0020, la valeur est de 1 $/0,00001 * 0,0020 = 200 $ / par lot. Il n'y a pas d'erreur ici.
Ok, cela devrait être les étapes pour le CALCUL DE LA TAILLE DU VOLUME(maximum) :
(merci de me corriger si je me trompe ^_^)
AccountMoneyRisk = AccountMoney * Risk%
Cotation du compte/contre-devise = Cotation(Compte-devise/contre-devise)
CounterCurrencyRisk = AccountMoneyRisk * AccountCounterQuote
PipValue = CounterCurrencyRisk / StopLoss
LotTickValue = LotSize * TickSize
Volume = PipValue * LotTickValue
Exemple :
Devise du compte : EUR
Paire de devises : GBPUSD
Devise de base : GBP
Contre-devise : USD
Argent du compte : 5000 EUR
Risque : 1 %.
StopLoss : 200 pips (contre monnaie)
LotSize : 100000 (Contre-Devise)
Taille des tics : 0. 00001
AccountMoneyRisk = AccountMoney * Risk% = 5000 EUR * 1% = 50 EUR
Cotation de la devise du compte = Cotation (devise du compte/devise de la contrepartie) = Cotation (EUR/USD) = 1,5000
CounterCurrencyRisk = AccountMoneyRisk * AccountCounterQuote = 50 EUR * 1,5000 = 75 USD
PipValue = CounterCurrencyRisk / StopLoss = 75 / 200 = 0,375
LotTickValue = LotSize * TickSize = 100000 * 0.00001 = 1 USD
Volume = PipValue * LotTickValue = 0.375 * 1 USD = 0.375
Cela suppose que la CounterCurrency est la même que la AccountCurrency, et n'inclut pas le spread, et suppose à tort qu'un pip == un point sur un courtier à 5 chiffres et que ticksize == point.
Pas nécessairement. Solde du compte * pourcentage = RISK = (OrderOpenPrice - OrderStopLoss)*DIR * OrderLots * DeltaPerlot (Note OOP-OSL inclut le SPREAD)
Ok, voici la version finale, veuillez confirmer si elle est correcte, je ne comprends pas pourquoi vous insistez sur votre truc DeltaPerlot alors qu'il ne fonctionne clairement pas dans ma situation, car j'ai un compte en EUR.
C'est ma fonction de dimensionnement de lot :
- Le STOPSLIP ajoute un nombre X de pips au niveau actuel de la position+SPREAD.
- J'utilise TICKVALUE * TICKSIZE parce que j'ai un compte en EUR et non en USD. Il est donc logique que la valeur du pip soit de 0,000007 au lieu de 0,00001 chez mon courtier à 5 chiffres, car elle est comptabilisée dans le taux de change de l'EUR.
Donc quelqu'un peut-il me confirmer si c'est correct, ou si ce n'est pas le cas alors corrigez MA formule, ne me donnez pas de liens vers d'autres posts, parce que je ne les comprends pas, corrigez juste ma fonction LOT() et je serai content, aidez-moi s'il vous plaît !J'ai mal à la tête rien qu'en essayant de comprendre les parenthèses !
Pour être honnête, je n'ai absolument aucune idée de ce que vous essayez d'obtenir ici.
Je ne vois pas en quoi MODE_STOPLEVEL ou SPREAD sont pertinents, vous devriez sûrement baser vos calculs sur la distance stop-loss du prix actuel ?
La devise du compte ne devrait pas faire de différence, le calcul devrait être le même car TICKVALUE est dans la devise du compte.
Veuillez noter qu'en mettant votre ligne de code sur 2 lignes, le message n'est pas aussi large et est plus facile à lire sans avoir à scroller de droite à gauche :)