"SAFE MODE"
Forums › ProRealTime forum Français › Support ProOrder › "SAFE MODE"
- This topic has 10 replies, 3 voices, and was last updated 6 years ago by Toto le Heros.
-
-
04/09/2018 at 6:45 PM #67770
Bonjour,
Je cherche un moyen simple de remplacer le TP d’une stratégie par 0 dans le cas où le trade part dans la mauvaise direction (sauver le trade : “SAFE MODE”).
L’idée est simple. Pour un LONG, dès que le + haut d’une barre clôturée est inférieure à la position prise => SAFE MODE (même principe pour un SHORT avec le + bas).
Je ne comprends pas pourquoi cela ne fonctionne pas (pourtant la fonction GRAPH montre que le SAFEMODE est bien enclenché…)
Un exemple ici sur le BRENT avec une condition basique sur le RSI.
Merci de votre aide;)
SAFE MODE ON BRENT RSI123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990DEFPARAM CumulateOrders = False // Cumulating positions deactivated// long entry parameterONCE longRSI=30// short entry parameterONCE shortRSI=70// position and money managementONCE positionSize = 1ONCE NUMBAR=0ONCE SAFEMODE=0ONCE trailingStartLong = 10ONCE trailingStartShort = 10ONCE stopLoss = 3 // in %ONCE takeProfit = 5 // in %ONCE TPSAFE=0// conditions to enter long positionsc1 = RSI crosses over longRSIIF c1 AND NOT ONMARKET THENBUY positionSize CONTRACT AT MARKETENDIF// conditions to enter short positionsc2 = RSI crosses under shortRSIIF c2 AND NOT ONMARKET THENSELLSHORT positionSize CONTRACT AT MARKETENDIF//trailing stop//resetting variables when no trades are on marketIF NOT ONMARKET THENMAXPRICE = 0MINPRICE = closepriceexit = 0ENDIF//case SHORT orderIF SHORTONMARKET THENMINPRICE = MIN(MINPRICE, close) //saving the MFE of the current tradeIF tradeprice(1) - MINPRICE >= trailingStartShort * pointsize THEN //if the MFE is higher than the trailingstop thenpriceexit = MINPRICE + trailingStartShort * pointsize //set the exit price at the MFE + trailing stop price levelENDIFENDIF//case LONG orderIF LONGONMARKET THENMAXPRICE = MAX(MAXPRICE, close) //saving the MFE of the current tradeIF MAXPRICE - tradeprice(1) >= trailingStartLong * pointsize THEN //if the MFE is higher than the trailingstop thenpriceexit = MAXPRICE - trailingStartLong * pointsize //set the exit price at the MFE - trailing stop price levelENDIFENDIF//exit on trailing stop price levelsIF ONMARKET AND priceexit > 0 thenEXITSHORT AT priceexit STOPSELL AT priceexit STOPENDIF//SAFE MODEif onmarket thenNUMBAR=NUMBAR+1elseNUMBAR=0endifIF NOT ONMARKET THENSAFEMODE=0endifif (longonmarket and high<tradeprice(1)) or (shortonmarket and low>tradeprice(1)) thenSAFEMODE=1endifif SAFEMODE=0 thenSET TARGET %PROFIT takeProfitelseSET TARGET PROFIT TPSAFEendifSET STOP %LOSS stopLossgraph SAFEMODE04/09/2018 at 8:38 PM #67773à la ligne 84, TPSAFE aura toujours une valeur nulle!
Cela peut-il être la cause?04/10/2018 at 9:45 AM #67880Merci de ta réponse Roberto.
En fait, c’est ce que je souhaite. Je souhaite que si on “bascule” en “SAFEMODE” du fait de la condition SAFEMODE=1, alors à ce moment là le TP initial ne s’applique plus mais qu’il se fige à 0.
(“Sauver le trade en essayant de le faire clôturer FLAT si les cours ne partent pas dans le sens du trade).
04/10/2018 at 10:33 AM #67884https://www.prorealcode.com/documentation/target/
Comme vous pouvez le voir dans la documentation SET TARGET PROFIT X définit la cible à ce prix.
Étant ZÉRO, il ne sera jamais atteint.04/10/2018 at 11:03 AM #67886On peut se tutoyer 😉
je ne suis pas sûr de te suivre, mais te remercie de ta réponse.
le TP n’est-il pas le gain (en points) espéré ? (la différence entre le prix atteint et le prix de la position initiale ?…) En tous cas, c’est toujours comme cela que je l’ai codé…
Quelle serait une alternative possible ?
04/10/2018 at 11:49 AM #67890La traduction littérale de la documentation anglaise dit Instruction pour définir un ordre cible au niveau de prix x.
Pour indiquer les points cibles, vous devez écrire SET TARGET PPROFIT, au moins autant que je sache.
Dans tous les cas, si votre instruction indique la différence de prix à utiliser comme cible, je ne sais pas si ZERO est accepté.
Pour le seuil de rentabilité (breakeven) j’utilise le code écrit par @Nicolas.
04/10/2018 at 12:21 PM #67896???
Merci quand même.
04/10/2018 at 4:46 PM #6793304/10/2018 at 5:18 PM #67939Certains trades mal engagés (graph SAFEMODE à 1) se redressent et traversent le breakeven. Ils cloturent positifs, accompagnés par le trailing stop…
04/17/2018 at 5:46 PM #6862104/18/2018 at 8:25 AM #68652Bonjour Nicolas,
Merci de ta réponse.
Eh bien non, il me semble. Un ordre est en perte, disons d’une dizaine de points (gain=-10) et son SAFE MODE est à 1. Il est sensé coupé à gain=0 si il refait son retard (TP=0) ou bien au Stop Loss défini.
J’observe des cas où il remonte mais ne se coupe pas à 0. Il franchit le TP et est ensuite “pris en charge” par le TRAILING STOP.
C’est positif du point de vue de trade en question, mais çà ne fait pas ce que je souhaite.
Merci
-
AuthorPosts
Find exclusive trading pro-tools on