Comprendre : Stop suiveur ProRealTime code
Forums › ProRealTime forum Français › Support ProOrder › Comprendre : Stop suiveur ProRealTime code
- This topic has 2 replies, 2 voices, and was last updated 8 years ago by HC.
-
-
01/04/2017 at 1:37 PM #19816
Bonjour,
Je recherche à comprendre le stop suiveur sur la plateforme ProRealTime en automatique.
Suite à un précédent message, j’ai bien été orienté (et en remercie encore) vers :
http://www.prorealcode.com/blog/trading/complete-trailing-stop-code-function/
Ayant beaucoup de lagunes en anglais et meme avec un traducteur, j’essaie de comprendre ce code (que je reproduis ici)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455defparam cumulateorders = false//order launch (example) would be set to any other entry conditions//c1 = close>close[1]c2 = close<close[1]//if c1 then//BUY 1 LOT AT MARKET//SET STOP PLOSS 50//endifif c2 thenSELLSHORT 1 LOT AT MARKETSET STOP PLOSS 50endif//************************************************************************//trailing stop functiontrailingstart = 20 //trailing will start @trailinstart points profittrailingstep = 5 //trailing step to move the "stoploss"//reset the stoploss valueIF NOT ONMARKET THENnewSL=0ENDIF//manage long positionsIF LONGONMARKET THEN//first move (breakeven)IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THENnewSL = tradeprice(1)+trailingstep*pipsizeENDIF//next movesIF newSL>0 AND close-newSL>=trailingstep*pipsize THENnewSL = newSL+trailingstep*pipsizeENDIFENDIF//manage short positionsIF SHORTONMARKET THEN//first move (breakeven)IF newSL=0 AND tradeprice(1)-close>=trailingstart*pipsize THENnewSL = tradeprice(1)-trailingstep*pipsizeENDIF//next movesIF newSL>0 AND newSL-close>=trailingstep*pipsize THENnewSL = newSL-trailingstep*pipsizeENDIFENDIF//stop order to exit the positionsIF newSL>0 THENSELL AT newSL STOPEXITSHORT AT newSL STOPENDIFJ’ai bien compris la variable “trailingstart”, le “trailingstep”
Mais je ne comprends pas ce à partir des lignes 27 à 37, et surtout où placer les conditions, par exemple :
1234567891011121314151617// Conditions pour ouvrir une position acheteuseindicator1 = MACDline[12,26,9](close)indicator2 = ExponentialAverage[9](MACDline[12,26,9](close))c1 = (indicator1 CROSSES OVER indicator2)IF c1 THENBUY 1 CONTRACT AT MARKETENDIF// Conditions pour ouvrir une position en vente à découvertindicator1 = MACDline[12,26,9](close)indicator2 = ExponentialAverage[9](MACDline[12,26,9](close))c1 = (indicator1 CROSSES under indicator2)IF c1 THENSELLSHORT 1 CONTRACT AT MARKETENDIFLa meilleure façon pour apprendre, est de comprendre ce que l’on fait.
Merci, si il en a qui peuvent me ‘traduire’ le code en langage parlé.01/04/2017 at 2:39 PM #19817La fonction de trailing stop que j’ai posté dans le blog est “plug and play”, c’est à dire que dans la majorité des cas, un simple copier/coller de l’ensemble de cette fonction, à la fin du code d’une stratégie, suffit à la rendre opérationnelle.
Dans ce code, tout tourne autour de la variable “newSL” (soit “nouveau stoploss” pour les réfractaires à l’anglais). Le code de décompose selon s’il s’agit d’une ordre d’achat ou de vente (mais je pense que tu l’aurais compris), puisque le stoploss (newSL) ne se placera pas, bien entendu, au même niveau de prix, dans un sens ou dans l’autre. Si tu regardes attentivement ligne par ligne, comment on “joue” avec cette variable (les valeurs qu’on lui donne et les tests que l’on fait avec), je pense que tu devrais arriver à comprendre 🙂 Sinon, appel le 18 (Nicolas le pompier).
01/05/2017 at 9:02 PM #19973Je vous remercie pour ces explications.
Je comprends mieux comment positionner les conditions en Haut, puis ce code en copier/coller en fin de stratégie.
Je comprends maintenant le fonctionnement du code et de la variable NewSL
Ce code sert aussi bien en position Long que en position Courte
Je pense qu’on peut traduire la derniere partie par un ” si NewSL est supérieur à 0 alors vendre à newSL, sortir de position short à newSL”
12345//stop order to exit the positionsIF newSL>0 THENSELL AT newSL STOPEXITSHORT AT newSL STOPENDIF -
AuthorPosts
Find exclusive trading pro-tools on