Bonjour à tous,
J’aimerais savoir comment faire pour remplacer la variable “Positionsize” afin de déclencher un ordre en réel. Tout en sachant que “Positionsize = 1 contrat”.
Voici un exemple ci-dessous :
Merci pour vos réponses.
Bien à vous.
REM Money Management
Capital = 10000
Risk = 0.01
StopLoss = 10
REM Calculate contracts
equity = Capital + StrategyProfit
maxrisk = round(equity*Risk)
PositionSize = max(1,abs(round((maxrisk/StopLoss)/PointValue)*pipsize))
Désolé je ne comprends pas bien la question.
Le calcul de cette variable est correct et fonctionnera en réel, je ne vois pas bien où tu souhaites en venir ? 🙂
Lorsque j’intègre ce morceau de code dans ma stratégie et bien ma stratégie ne déclenche aucun ordre. Comme ci-dessous :
IF time > 080000 and time < 200000 and c1 THEN
BUY Positionsize CONTRACT AT MARKET
ENDIF
Cela fonctionne très bien en “Probacktest” mais pas en réel. Je pense que mon courtier attends la valeur d’un chiffre entier pour passer un ordre et non une variable.
Alors comment faire pour ne pas perdre le bénéfice du “Money Management” mentionné ci-dessus ?
La variable retourne bien un nombre entier, puisqu’elle est “round”. Le seul problème possible AMHA serait la taille minimum du lot calculé, ici si il est inférieur à 1, le lot serait de 1 et donc si ton instrument n’acceptes que des lots de 5 à minima par exemple, ça ne fonctionnera pas.
Pour palier à ce problème, tu peux modifier le code comme ceci en ajoutant une nouvelle variable qui devra être renseigné avec la taille minimum du lot accepté par le courtier pour l’instrument que tu trades :
REM Money Management
Capital = 10000
Risk = 0.01
StopLoss = 10
LotMinimum = 5
REM Calculate contracts
equity = Capital + StrategyProfit
maxrisk = round(equity*Risk)
PositionSize = max(LotMinimum,abs(round((maxrisk/StopLoss)/PointValue)*pipsize))
Sinon, tu peux aussi faire un GRAPH de PositionSize pour voir dans le backtest pourquoi la valeur retournée ne fonctionnerait pas en réel..
Merci Nicolas !
Je trade sur le DAX 30 mini à 1 euro.
En trading réel, tu as dans la liste des ordres rejetés les messages d’erreurs qui te permettront de savoir de où peut provenir ton problème (voir image).
Très bien, je regarderai lorsque cela arrivera.
Merci pour les tuyaux ! 🙂