Bonjour,
Dans un backtest, quelqu’un aurait-il une idée pour placer un stop suiveur au plus bas de chaque nouvelle bougie ?
Si je programme :
IF longonmarket THEN
set stop loss (close-lowest[1])
ENDIF
je ne pense pas que cela fonctionne
Merci
salut docteur trading
j c q dans les plateformes standard- existe une différence essentielle entre les calcul des variable normal et les variable et fonctions de type STOP.
tendie q tous les autre sont recalculer a base de chaque nouvelle bougie- les stop sont calculer a CHAQUE TICK. sera veut dire q a partir de se moment la les stop dune façon BUILT IN devienne dynamique a chaque nouveau tick et donc varie et avance vis a vis de la variations des courbes. ainsi en placent par exemple un stop “sous le plus bas de la Nieme bougie” change et varie dune façon dynamique.
se sera en effets une bonne questions si dans prorealtime sera fonctionne aussi de cette façon.
ci la réponse et non- ton stop programer de la façon simple q tu viens de presenter ne pourra pas fonctionner a mon avis/
nicolas? qqn de pro? vous aves une réponse peut être?
merci a tous
Non, ça ne fonctionne pas de cette façon. Ton STOPLOSS sera en effet placé une seule fois pour toute sur ton ordre ou ton panier d’ordres. Voilà visuellement :
indi = average[20](close)
if close crosses over indi then
BUY 1 LOT AT MARKET
endif
mystop = Close-low[1]
IF longonmarket THEN
set stop loss mystop
GRAPH mystop as "stop loss"
ENDIF
Dans l’image jointe, tu remarques qu’en effet ta variable bouge à chaque nouvelle bougie, la valeur que tu souhaites affecter à ton stop change, mais pas le stoploss inscrit dans le carnet d’ordre du courtier, comme tu peux le voir sur cet ordre qui a bien fermé en perte au premier “mystop” auquel il a été affecté. Pour faire du trailing stop, il faut plutôt utiliser les fonctions “built-in” de la plateforme, voir mon article sur ce sujet : http://www.prorealcode.com/blog/learning/kinds-trailing-stop-proorder/
Bonjour,
Voici ce que j’utilise. Ca place le STOP au niveau de la cloture mais tu dois pouvoir adapter pour que ça utilise le plus bas.
// Valeur du Stop Suiveur
Seuil = 30
// Condition prise de position
IF TIME = 090000 THEN
BUY 1 CONTRACT AT MARKET
TRAIL= Close - Seuil
SELL AT TRAIL STOP
ENDIF
// Trailing Stop Maison
// Mise à jour du cours de vente
IF close-Seuil > TRAIL THEN
trail = close - Seuil
ENDIF
// Ordre de vente STOP
IF LONGONMARKET THEN
SELL AT TRAIL STOP
ENDIF
Bonjour,
Attention, il y a une petite erreur. Il faut rajouter une condition NOT ONMARKET dans la boucle de prise de position. Quand j’ai extrait la fonction Stop Suiveur de mon Set Up, j’ai enlevé un peu trop de code 😉
// Valeur du Stop SUiveur
DEFPARAM CumulateOrders = False
Seuil = 30
c1=rsi[20](close) crosses over 30
// Condition prise de position
IF c1 AND NOT ONMARKET THEN
BUY 1 CONTRACT AT MARKET
TRAIL= Close - Seuil
SELL AT TRAIL STOP
ENDIF
// Trailing Stop Maison
// Mise à jour du cours de vente
IF close-Seuil > TRAIL THEN
trail = close - Seuil
ENDIF
// Ordre de vente STOP
IF LONGONMARKET THEN
SELL AT TRAIL STOP
ENDIF
++