Forums › ProRealTime forum Français › Support ProOrder › Demande de boucle pour pyramidage, trailing stop et breakeven › Reply To: Demande de boucle pour pyramidage, trailing stop et breakeven
Voilà ci-dessous ce que j’utilise actuellement. Le Trailing c’est le tien, le système de pyramidage, je l’ai écrit avec les posts que j’ai trouvé sur le sujet.
Peut-on améliorer ce concept ?
Comment le trailing va t-il se comporter sur les entrée suivantes compte tenue qu’actuellement c’est (TP/2) de la première position qui active le trail ?
A chaque nouvelles positions, nouveau TP et donc la variable “startBreakeven1” de la précédente devrait être recalculé et on perd le BE précédemment acquis … En cas de retournement et si la dernière position n’a pas pu activé son breakeven on peut redescendre au SL de la première position…
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
//Pyramidage si Be + limitation de position************************ //**Nonbre de Position autorisé** NbrPosi=5 If onmarket And (close>=startBreakeven1) and (abs(COUNTOFPOSITION)<NbrPosi) then// Pyra=1 elsif not onmarket then Pyra=1 else Pyra=0 endif //Canal Donchian************************************ DC=15//A optimiser de temps en temps CDH=Highest[DC](high) CDB=Lowest[DC](low) If Pyra and C1 then SL= abs (close-CDB)+(SPREAD/2) TP= SL BUY N CONTRACTS AT MARKET ENDIF //Trail ***************************************************************** startBreakeven1 = TP/2 //how much pips/points in gain to activate the breakeven function? PointsToKeep1= 1 //how much pips/points to keep in profit above of below our entry price when the breakeven is activated (beware of spread) //reset the breakevenLevel when no trade are on market IF NOT ONMARKET THEN breakevenLevel=0 ENDIF // --- BUY SIDE --- //test if the price have moved favourably of "startBreakeven1" points already IF LONGONMARKET and close-tradeprice(1)>=startBreakeven1*pipsize THEN //calculate the breakevenLevel breakevenLevel = tradeprice(1)+PointsToKeep1*pipsize ENDIF //place the new stop orders on market at breakevenLevel IF breakevenLevel>0 THEN SELL AT breakevenLevel STOP ENDIF // --- SHORT SIDE --- IF SHORTONMARKET and tradeprice(1)-close>startBreakeven1*pipsize THEN //calculate the breakevenLevel breakevenLevel = tradeprice(1)-PointsToKeep1*pipsize ENDIF //place the new stop orders on market at breakevenLevel IF breakevenLevel>0 THEN EXITSHORT AT breakevenLevel STOP ENDIF |