Amélioration point d’entrée sur point pivot
Forums › ProRealTime forum Français › Support ProOrder › Amélioration point d’entrée sur point pivot
- This topic has 1 reply, 2 voices, and was last updated 2 months ago by Iván.
-
-
08/28/2024 at 1:00 AM #236766
Hello,
Je cherche à améliorer une stratégie sur futures cac en timeframe 1Minute, notamment le point d’entrée sur des positions short. J’ai remarqué que mon signal d’entrée est trop précoce et que bien souvent le cours vient taper le point pivot supérieur avant de partir en effet à la baisse.
Je souhaite donc ne pas shorter sur mon signal de vente mais sur le point pivot supérieur le plus proche.
Pour l’exemple ci-dessous j’ai repris un indicateur lambda. L’idée est que lorsqu’un signal short apparaît, j’attends que le cours soit au dessus du point pivot supérieur le plus proche (puisque je short) pour rentrer en position short. Le problème c’est que mon code ne fonctionne pas et je ne comprends pas pourquoi.
Dans 1 premier temps, j’ai chercher à récupérer les niveaux des points pivots. Ensuite vous verrez 1 stratégie lambda pour le signal de short, c’est pour l’exemple. Et enfin je cherche à savoir quel est le point pivot supérieur le plus proche de mon signal de vente pour rentrer sur ce niveau.
La variable “monpoint” est sensé donner le niveau du pivot le plus proche à la hausse. Je l’ai appelé dans l’indicateur et il semble correct. Mais pourtant lorsque je l’utilise sur cette ligne :
“if SignalPositionSell = 1 and high > monpoint then ”
–>rien ne se passe. Si je remplace “monpoint” par un niveau du cac par exemple
“if SignalPositionSell = 1 and high > 7390 then”
–>alors cela fonctionne.
Je ne comprends pas. Help Please. Je pense que cela peut servir à d’autre de venir chercher un point pivot sur une alerte. J’avais dans un premier temps mis un ordre limite sur la variable “monpoint” dans ma stratégie mais cela ne marchait pas. C’est pourquoi j’ai décidé de voir en détail via un indicateur, sans succès.
Timeframe (daily)
//pt pivot
Ht = DHigh(1)
Bs = DLow(1)
C = DClose(1)
Pivot = (Ht+Bs+2*C)/4
Sup1 = (2*Pivot) – Ht
Sup2 = Pivot – (Ht – Bs)
Sup3 = Bs – 2*(Ht – Pivot)
Sup4 = Bs – 3*(Ht – Pivot)
Res1 = (2*Pivot) – Bs
Res2 = Pivot + (Ht – Bs)
Res3 = Ht + 2*(Pivot – Bs)
Res4 = Ht + 3*(Pivot – Bs)Timeframe (default)
TODFromHour = 080000 //time of the day
TODToHour = 200000 //time of the dayinTimeInterval = time>=TODFromHour and time<TODToHour
//short term stochastic
sto = stochastic[5,3]
//long term stochastic
stol = stochastic[233,1]ma100 = average[100,2](close)
ma50 = average[50,2](close)//atr = averagetruerange[14]
if inTimeInterval and barindex>233 and signalpositionsell<>1 then//if stol>52.01 and sto<10.1 and close>MA100 and close>MA50 and signalpositionsell<>1 then
//SignalPositionSell = 1
//PriceAlert = close[1]
//drawarrowup(barindex,low-4*pointsize) coloured(102,255,0)
//endif
if stol<52.01 and sto>89.9 and close<MA100 and close<MA50 and signalpositionsell<>1 then
SignalPositionSell = 1
PriceAlert = close[1]
endif
endif/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//calcule le point pivot le plus proche à la hausse du signal de vente pour vendre au niveau du point pivot
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Signal de vente placé entre Pivot et S1
if PriceAlert < Pivot and PriceAlert > Sup1 then
monpoint= Pivot
endif//Signal de vente placé entre S1 et S2
if PriceAlert < Sup1 and PriceAlert > Sup2 then
monpoint= Sup1
endif//Signal de vente placé entre S2 et S3
if PriceAlert < Sup2 and PriceAlert > Sup3 then
monpoint= Sup2
endif//Signal de vente placé entre S3 et S4
if PriceAlert < Sup3 and PriceAlert > Sup4 then
monpoint= Sup3
endif//Signal de vente placé entre Pivot et R1
if PriceAlert > Pivot and PriceAlert < Res1 then
monpoint= Res1
endif//Signal de vente placé entre R1 et R2
if PriceAlert > Res1 and PriceAlert < Res2 then
monpoint= Res2
endif//Signal de vente placé entre R2 et R3
if PriceAlert > Res2 and PriceAlert < Res3 then
monpoint= Res3
endif//Signal de vente placé entre R3 et R4
if PriceAlert > Res3 and PriceAlert < Res4 then
monpoint= Res4
endif/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////if SignalPositionSell = 1 and high > monpoint then //and high > 7635
drawarrowdown(barindex,high+8) coloured(255,0,0)
DrawText(“#pricealert#”,barindex,high+4,Dialog,Bold,15)coloured(255,0,0)
DrawText(“#monpoint#”,barindex,high+12,Dialog,Bold,15)coloured(255,0,0)
signalpositionsell=0
endifreturn
08/30/2024 at 10:12 AM #236888Holà. Il a simplement ajouté une ligne 49 (pour la représentation du monpoint) et a modifié les lignes 89 à 91 pour l'emplacement des signaux et des textes en fonction de la vraie gamme.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495Timeframe (daily)//pt pivotHt = DHigh(1)Bs = DLow(1)C = DClose(1)Pivot = (Ht+Bs+2*C)/4Sup1 = (2*Pivot) - HtSup2 = Pivot - (Ht - Bs)Sup3 = Bs - 2*(Ht - Pivot)Sup4 = Bs - 3*(Ht - Pivot)Res1 = (2*Pivot) - BsRes2 = Pivot + (Ht - Bs)Res3 = Ht + 2*(Pivot - Bs)Res4 = Ht + 3*(Pivot - Bs)Timeframe (default)TODFromHour = 080000 //time of the dayTODToHour = 200000 //time of the dayinTimeInterval = time>=TODFromHour and time<TODToHour//short term stochasticsto = stochastic[5,3]//long term stochasticstol = stochastic[233,1]ma100 = average[100,2](close)ma50 = average[50,2](close)//atr = averagetruerange[14]if inTimeInterval and barindex>233 and signalpositionsell<>1 thenif stol<52.01 and sto>89.9 and close<MA100 and close<MA50 and signalpositionsell<>1 thendrawarrowup(barindex,low-0.5*tr) coloured(102,255,0)SignalPositionSell = 1PriceAlert = close[1]endifendif////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////calcule le point pivot le plus proche à la hausse du signal de vente pour vendre au niveau du point pivot//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////once monpoint=undefined//Signal de vente placé entre Pivot et S1if PriceAlert < Pivot and PriceAlert > Sup1 thenmonpoint= Pivotendif//Signal de vente placé entre S1 et S2if PriceAlert < Sup1 and PriceAlert > Sup2 thenmonpoint= Sup1endif//Signal de vente placé entre S2 et S3if PriceAlert < Sup2 and PriceAlert > Sup3 thenmonpoint= Sup2endif//Signal de vente placé entre S3 et S4if PriceAlert < Sup3 and PriceAlert > Sup4 thenmonpoint= Sup3endif//Signal de vente placé entre Pivot et R1if PriceAlert > Pivot and PriceAlert < Res1 thenmonpoint= Res1endif//Signal de vente placé entre R1 et R2if PriceAlert > Res1 and PriceAlert < Res2 thenmonpoint= Res2endif//Signal de vente placé entre R2 et R3if PriceAlert > Res2 and PriceAlert < Res3 thenmonpoint= Res3endif//Signal de vente placé entre R3 et R4if PriceAlert > Res3 and PriceAlert < Res4 thenmonpoint= Res4endif//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////if SignalPositionSell = 1 and high > monpoint thendrawarrowdown(barindex,high) coloured(255,0,0)DrawText("#pricealert#",barindex,high+0.25*tr,Dialog,Bold,15)coloured(255,0,0)DrawText("#monpoint#",barindex,high+0.5*tr,Dialog,Bold,15)coloured(255,0,0)signalpositionsell=0endifreturn monpoint coloured("blue") -
AuthorPosts
Find exclusive trading pro-tools on