breackout range
Forums › ProRealTime forum Français › Support ProOrder › breackout range
- This topic has 15 replies, 4 voices, and was last updated 8 years ago by ghary.
-
-
03/11/2016 at 10:56 PM #3593
bonsoir,
j’aurais besoin d’aide pour coder la stratégie suivante :
je veux définir un range sur 60 minutes et s’il est cassé, entrer en position
Par exemple : entre 8h et 9h (preouverture): définition du range avec plus haut et plus bas en timeframe 15min
à partir de 9h:
si cassure du plus haut atteint entre 8h et 9h, entrer long directement avec stop ptrailing
et short, si cassure du plus bas atteint entre 8h et 9h directement avec stop ptrailing
merci d’avance pour votre aide
03/11/2016 at 11:05 PM #359603/12/2016 at 5:39 PM #3606Bonjour yassel,
Voilà votre stratégie, je vous laisse régler le pTrailing à votre convenance. Cette stratégie de breakout est assez similaire de celle de la documentation et employé ici : http://www.prorealcode.com/prorealtime-trading-strategies/breakout-proorder-french-cac40/ (en un peu plus compliqué toutefois, puisqu’on y intègre des conditions restrictives sur la quantité d’ordre journalière et sur des conditions de prises de positions selon la largeur du range.
1234567891011121314151617181920212223242526272829rangestarthour = 080000rangeendhour = 090000if time < rangestarthour OR Intradaybarindex = 0 thenhh = 0ll = 0endifif time>rangestarthour AND time <= rangeendhour thenif high[0]>hh thenhh = high[0]endifif low[0]<ll OR ll=0 thenll = low[0]endifendifif NOT LONGONMARKET AND time >= rangeendhour AND close crosses over hh thenBUY 1 CONTRACTS AT MARKETendifif NOT SHORTONMARKET AND time >= rangeendhour AND close crosses under ll thenSELLSHORT 1 CONTRACTS AT MARKETendifSET STOP pTRAILING 50GRAPH hh as "range top"GRAPH ll as "range bottom"03/12/2016 at 9:56 PM #361003/12/2016 at 11:35 PM #361403/13/2016 at 8:07 AM #3617Oui pour le 5 minutes. Non pour le trade immédiat, PRT prend position à l’ouverture de bougie. Vous pouvez anticiper les conditions en changeant les valeurs des 2 variables horaires ou éventuellement travailler en 1 minute pour être plus précis sur les prix d’entrée.
03/24/2016 at 10:30 AM #419603/24/2016 at 10:41 AM #4197Bonjour,
Pour l’avoir en indicateur, je te suggère juste de remplacer les ordres “Buy” et “Sellshort” par la définition de ton indicateur.
Par exemple :en début de code tu mets : “indicateur = 0”
et tu remplaces la ligne “Buy” par “indicateur = 1” ou “Sellshort” par “indicateur = -1”
A la fin, on met Return indicateur as “INDICATEUR”
Peut être le savais-tu déjà. En principe il est très facile de passer d’un backtest à un indicateur ou à un screener.
Le plus dur c’est de trouver la bonne formule de backtest.
En espérant avoir aidé,Bon courage !
03/24/2016 at 11:39 AM #4209Merci pour la réponse rapide, ceci dit je ne suis pas un virtuose de la programmation PRT
j’ai mis ça:
indicateur =0
rangestarthour = 080000
rangeendhour = 090000
if time < rangestarthour OR Intradaybarindex = 0 then
hh = 0
ll = 0
endifif time>rangestarthour AND time <= rangeendhour then
if high[0]>hh then
hh = high[0]
endif
if low[0]<ll OR ll=0 then
ll = low[0]
endif
endifif NOT LONGONMARKET AND time >= rangeendhour AND close crosses over hh then
indicateur=1
endifif NOT SHORTONMARKET AND time >= rangeendhour AND close crosses under ll then
indicateur=-1
endifPar contre lorsque je valide il me dit les ordres BUY/SELL ne sont pas autorisés mais pourtant je les ai enlevé…
NON ?
Return indicateur as “indicateur”03/24/2016 at 11:42 AM #4210Il faut retirer les “longonmarket” et “shortonmarket”
C’est à cause de ça.
Il faut revoir le code en conséquence. A la place, on peut mettre “if indicator = 1” ou “if indicator = -1” par exemple.
Je n’ai pas accès à PRT depuis mon ordi au boulot, mais j’essaierai de corriger ce code peut être ce soir.
Cordialement,03/25/2016 at 8:09 AM #431203/25/2016 at 9:15 AM #4323Bon j’ai mis cela mais cela ne donne rien: bizarre
1234567891011121314151617181920212223242526rangestarthour = 080000rangeendhour = 090000if time < rangestarthour OR Intradaybarindex = 0 thenhh = 0ll = 0endifif time>rangestarthour AND time <= rangeendhour thenif high[0]>hh thenhh = high[0]endifif low[0]<ll OR ll=0 thenll = low[0]endifendifif indicateur=1 AND time >= rangeendhour AND close crosses over hh thenindicateur=1endifif indicateur=-1 AND time >= rangeendhour AND close crosses under ll thenindicateur=-1endifReturn indicateur as"indicateur"03/25/2016 at 2:17 PM #4366Ca ne peut pass marcher car tu as écrit :
“if indicateur = 1 then” et “if indicateur = -1 then”
Or, à aucun moment ta variable “indicateur” passe à 1 ou à -1
donc ça ne déclenche rien.
Il faut revoir ton code en retirant cela et en remettant les bons paramètres.Je n’ai pas étudié le code en détails, mais après ça fonctionnera forcément.
Si j’ai le temps j’importerai ton code et je le testerai pour corriger l’erreur.
03/25/2016 at 2:24 PM #4368Essaie ceci.
J’ai donc retiré “indicateur = 1” ou “-1” dans les conditions, et rajouté “indicateur = 0” au début.Ca donne quelque chose de positif, à toi d’adapter en fonction.
Cordialement,123456789101112131415161718192021222324252627rangestarthour = 080000rangeendhour = 090000indicateur = 0if time < rangestarthour OR Intradaybarindex = 0 thenhh = 0ll = 0endifif time>rangestarthour AND time <= rangeendhour thenif high[0]>hh thenhh = high[0]endifif low[0]<ll OR ll=0 thenll = low[0]endifendifif time >= rangeendhour AND close crosses over hh thenindicateur=1endifif time >= rangeendhour AND close crosses under ll thenindicateur=-1endifReturn indicateur as"indicateur"03/25/2016 at 3:55 PM #4377 -
AuthorPosts
Find exclusive trading pro-tools on