stop à multiple niveaux
Forums › ProRealTime forum Français › Support ProOrder › stop à multiple niveaux
- This topic has 10 replies, 2 voices, and was last updated 2 years ago by Nicolas.
-
-
06/25/2022 at 2:39 PM #196088
Bonjour je suis très nouveau sur prorealtime et j’ai besoin d’aide pour finir et continuer à améliorer mon système.
(simple croisement sur un TF.20 secondes)
mon objectif est de viser petit mais profitable j’ai encore assez de bons résultats mais ma condition de sortie me fait perdre énormément
C’est pour quoi je me tourne vers vous car je suis à la recherche d’un stop à multiples palier
(si 5$ de profit déplacement du stop à 1$) si 15=5 / 25=15 / 40=30 etc…
Ou ci vous avez une autre idée comme conditions de sortie je suis au preneur
Je vous partage mon code si cela peut aidermerci énormément pour avoir pris le temps de lire ce poste et merci à celui qui pourra m’aider
ps. excusez-moi si je ne suis pas dans le bon groupe
Dax / 0.5 TF.20 secondes123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263// Définition des paramètres du codeDEFPARAM CumulateOrders = False // Cumul des positions désactivé// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position avant l'heure spécifiéenoEntryBeforeTime = 060000timeEnterBefore = time >= noEntryBeforeTime// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position après l'heure spécifiéenoEntryAfterTime = 223000timeEnterAfter = time < noEntryAfterTime// simple croisement// Conditions pour ouvrir une position en vente à découvertindicator1 = HullAverage[800](close)indicator2 = Average[600](close)c1 = (indicator1 CROSSES UNDER indicator2)IF c1 AND timeEnterBefore AND timeEnterAfter THENSELLSHORT 0.5 CONTRACT AT MARKETENDIF// Conditions pour fermer une position en vente à découvertindicator3 = HullAverage[800](close)c2 = (close CROSSES OVER indicator3)IF c2 THENEXITSHORT AT MARKETENDIF// Stops et objectifsSET STOP pLOSS 20//-------------------------------------------------------- DAX TF.20 secondes MAA le 25.06.22// ---------------Simple stratégie de croisement//// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille// d’une position avant l'heure spécifiée ==> timeEnterBefore ==> 06h00//// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille// d’une position après l'heure spécifiée ==> timeEnterAfter ==> 22h30////// Indicateur N°1 ==> Moyenne Mobile HULL ==> 800 Périodes// Indicateur N°2 ==> Moyenne Mobile Simple ==> 600 Périodes//////--------------- Conditions pour ouvrir une position en vente taille 0.5//// Moyenne Mobile HULL ==> 800 Périodes// Croise à la hausse// Moyenne Mobile Simple ==> 600 Périodes//////--------------- Conditions pour fermer une position en vente// Quant le prix Croise à la hausse L'indicateur N°3 ==> Moyenne Mobile HULL ==> 800 Périodes////Stop Loss 10$06/25/2022 at 7:43 PM #19610906/28/2022 at 8:25 AM #196254Je n’ai pas bien compris les paliers pour modifier le stoploss, mais voici un exemple pour modifier celui-ci en fonction du gain de ton ordre (+5 points, passer l’ordre à breakeven).
123if traceprice-close >= 5*pointsize thenset stop breakevenendif06/29/2022 at 8:45 AM #196355Merci énormément pour m’avoir répondu mais voilà mon objectif serai une évolution du stop façon stop suiveur mais avec IG ce n’est pas possible alors au lieu de suivre à la traîne le prix mon objectif serai que a différents niveaux de profit je puisse déplacer mon stop alors oui une mise à BE et si une évolution serait favorable redéplacer le stop à plus 15$ de profit si le gain est a 25 et continuer le déplacement à 35$ si le gain est a 50 etc.
Ou si vous avez un bout de code que je puisse le copier et modifier suivent les différents objectifs je suis preneur
Merci énormément de prendre le temps de me répondre Salutations à vous et à la communauté
06/29/2022 at 3:10 PM #196380(si 5$ de profit déplacement du stop à 1$) si 15=5 / 25=15 / 40=30 etc…
Ok essayons avec ce type de code:
exemple avec un ordre d'achat (strategie à modifier)12345678910111213141516171819202122232425262728293031defparam cumulateorders=falsefloatingprofit = (((close-positionprice)*pointvalue)*countofposition)/pipsize //actual trade gainsif not onmarket thennewsl = 0endifif rsi[14] crosses over 50 thenbuy 1.5 contract at marketset stop ploss 50endifif longonmarket thenivalue = (abs(countofposition)*pointvalue)*pointsizeif floatingprofit>=15 thennewsl = max(newsl,tradeprice+ivalue*5)endifif floatingprofit>=25 thennewsl = max(newsl,tradeprice+ivalue*15)endifif floatingprofit>=40 thennewsl = max(newsl,tradeprice+ivalue*30)endifendifif longonmarket and newsl>0 thenset stop price newslendifgraphonprice newsl07/01/2022 at 12:05 AM #19650107/01/2022 at 11:27 AM #196524ça fonctionne pour moi, il faut pour cela que la condition soit testée bien entendu, vu que le code est lu une seule fois par bougie, il est possible que le stoploss soit tapé car inscrit dans le carnet d’ordres avant que le code ai pu tester les différents niveaux de profit.
Sur quelle unité de temps as-tu testé ?
Dans cette version, j’ai ajouté la variable “step” qui est graphé, on voit bien que les différents niveaux qui s’enclenche: 1 puis 2 puis 3, selon l’évolution du gain, bien sûr ça peut être très rapide.
123456789101112131415161718192021222324252627282930313233343536defparam cumulateorders=falsefloatingprofit = (((close-positionprice)*pointvalue)*countofposition)/pipsize //actual trade gainsif not onmarket thennewsl = 0step=0endifif rsi[14] crosses over 50 thenbuy 1.5 contract at marketset stop ploss 50endifif longonmarket thenivalue = (abs(countofposition)*pointvalue)*pointsizeif floatingprofit>=15 thennewsl = max(newsl,tradeprice+ivalue*5)step=1endifif floatingprofit>=25 thennewsl = max(newsl,tradeprice+ivalue*15)step=2endifif floatingprofit>=40 thennewsl = max(newsl,tradeprice+ivalue*30)step=3endifendifif longonmarket and newsl>0 thenset stop price newslendifgraphonprice newslgraph step07/06/2022 at 6:53 PM #196917Bonjour / bonsoir elas je ne comprends pas pourquoi je reste avec des positions perdantes alors que de base elle était en gain ( je test le stop à multiples palier avec une simple stratégie de croisement des moyennes possibilité de le faire avec tout les TF) ceci a pour but d’avoir ce bout de code qu il me manque pour mes différentes stratégies
07/07/2022 at 8:56 AM #19694507/07/2022 at 12:38 PM #19697207/07/2022 at 1:11 PM #196974Je vois, j’ai modifié le code pour utiliser la nouvelle instruction SET STOP $PROFIT pour placer un stop profit en monnaie:
1234567891011121314151617181920212223242526272829303132defparam cumulateorders=falsefloatingprofit = (((close-positionprice)*pointvalue)*countofposition)/pipsize //actual trade gainsif not onmarket thennewsl = 0step=0endifif rsi[14] crosses over 50 thenbuy 1.5 contract at marketset stop ploss 50endifif longonmarket thenif floatingprofit>=15 thennewsl = 5step=1endifif floatingprofit>=25 thennewsl = 15step=2endifif floatingprofit>=40 thennewsl = 30step=3endifendifif longonmarket and newsl>0 thenset stop $profit newslendif -
AuthorPosts
Find exclusive trading pro-tools on