Il n’est pas possible de fermer individuellement des positions spécifiques au sein d’une stratégie avec plusieurs positions ouvertes simultanément. La gestion des stoploss individuels pour chaque trade dans un contexte où les positions se chevauchent nécessite des solutions de contournement, comme les sorties partielles.
Pour gérer les stoploss de chaque position de manière indépendante, tu peux envisager d’utiliser des sorties partielles basées sur différents niveaux de prix pour chaque position. Voici une approche générale pour cela :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Paramètres des positions
prixEntree1=100// Prix d'entrée pour la position 1
stopLoss1=95// Stoploss pour la position 1
quantite1=1// Quantité pour la position 1
stop1DejaDeclenche=0// Flag pour le stoploss 1
prixEntree2=105// Prix d'entrée pour la position 2
stopLoss2=100// Stoploss pour la position 2
quantite2=1// Quantité pour la position 2
stop2DejaDeclenche=0// Flag pour le stoploss 2
// Réinitialisation des flags si on n'est pas sur le marché
ifnotlongonmarketthen
stop1DejaDeclenche=0
stop2DejaDeclenche=0
endif
// Logique de trading
iflongonmarketthen
ifclose<stopLoss1andstop1DejaDeclenche=0then
sellquantite1contractatmarket// Sortie partielle pour la position 1
stop1DejaDeclenche=1// Marquer le stoploss 1 comme déclenché
endif
ifclose<stopLoss2andstop2DejaDeclenche=0then
sellquantite2contractatmarket// Sortie partielle pour la position 2
stop2DejaDeclenche=1// Marquer le stoploss 2 comme déclenché
endif
endif
Le code est commenté, j’espère que c’est compréhensible 🙂
Il faudra néanmoins adapter le code pour correctement renseigner les prix d’entrées dans des variables de façon “dynamique” lorsque tu ouvres une nouvelle position.
Merci beaucoup Nicolas, ton bout de code (trés bien commenté !) ma permis de comprendre une approche différente et de m’essayer au Array pour indexer les différentes entrées.
To help us continually offer you the best experience on ProRealCode, we use cookies. By clicking on "Continue" you are agreeing to our use of them. You can also check our "privacy policy" page for more information.Continue