SCREENER doji porteur d’eau, pierre tombale et marteau sur HPT HA smooted
Forums › ProRealTime forum Français › Support ProScreener › SCREENER doji porteur d’eau, pierre tombale et marteau sur HPT HA smooted
- This topic has 13 replies, 2 voices, and was last updated 1 year ago by supertiti.
-
-
06/29/2023 at 1:03 PM #216981
SCREENER doji porteur d’eau, pierre tombale et marteau sur HPT HA smooted
Bonjour à tous,
Serait-il possible de nous concocter un screener à partir de l’indicateur PRC HPT Heikin Ashi
Smooted qui nous renverrait les Heikin Ashi doji porteurs d’eau, en pierre tombale après un
trend haussier ou en marteau après un trend baissier .Les conditions seraient que leur
apparition se fasse après une série de hausse ou de baisse .
A définir par une variable (th = trend haussier ou tb = trend baissier).
Un plus serait de pouvoir jouer sur la hauteur des corps et des mèches.
Bonne journée et bons trades.
06/30/2023 at 10:47 AM #217057Pas de lien dans le message, je suppose que c’est celui-ci datant de 2017 et qu’il n’y a pas eu d’autres versions depuis:
https://www.prorealcode.com/prorealtime-indicators/hpt-heikin-ashi-smoothed/
Je jette un oeil…
06/30/2023 at 2:12 PM #21706906/30/2023 at 2:15 PM #21707006/30/2023 at 2:45 PM #217077Ok, dans ce cas, avant de passer au screener, pour l’indicateur il faut remplacer la ligne drawcandle par:
DRAWCANDLE(ExtMapBuffer3,max(ExtMapBuffer1,ExtMapBuffer2),min(ExtMapBuffer1,ExtMapBuffer2),ExtMapBuffer4) coloured(r,g,b)
pour éviter un problème d’affichage sur les parties inférieures des bougies rouges HPT HA smoothed.
Cela n’affectera pas le screener qui n’utilisera pas drawcandle, mais cela évitera d’avoir une visualisation faussée sur les doji bougies rouge pendant vérification sur le graphe d’une valeur retournée par le screener.
06/30/2023 at 2:54 PM #21707806/30/2023 at 2:59 PM #21708006/30/2023 at 3:42 PM #217081Voici le screener,
J’ai ajouté 4 paramètres utilisateurs pour pouvoir définir taille du trend préalable et personnaliser les caractéristiques du doji recherché :
TrendLongueurMini = le nombre de bougies minimum HPT HA smoothed dans le même sens pour faire un trend
DojiCorpsMaxPct = Taille T maximale du Corps en pourcentage T/100 du range entre ses extrémités. Exemple : pour 4% entrer 4 (pas 0.04)
Dans le cas d’un trend haussier, autres caractéristiques du doji pour la plage min/max possible du centre du corps du doji (le centre du corps et sa taille étant définis, les mèches en découleront toutes seules sans besoin de paramétrage supplémentaire):
DojiCentreCorpsMinPct = Centre du Corps à au moins X/100 de la bougie en partant du bas. Exemple : pour 43% entrer 43 (pas 0.43)
DojiCentreCorpsMaxPct = Centre du Corps à au plus X/100 de la bougie en partant du bas. Exemple : pour 57% entrer 57 (pas 0.57)
Ces 2 derniers paramètres pour doji post-trend haussier seront automatiquement convertis en leurs équivalents pour obtenir aussi le doji inverse voulu après un trend baissier
A l’utilisateur de se définir avec ces paramètres soit des porteurs d’eau, soit des pierres tombales, etc…
Le screener renverra à la fois les doji après trend haussier définis par les paramètres utilisateurs ci-dessus, et les dojis inverses après trend baissier sans avoir besoin de les définir aussi, avec une colonne “trend” qui vaudra +1/-1 pour les distinguer dans la liste obtenue.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283//PRC_HPT Heikin Ashi Smoothed | screener//30.06.2023//JC_Bywan @ www.prorealcode.com//forum request https://www.prorealcode.com/topic/screener-doji-porteur-deau-pierre-tombale-et-marteau-sur-hpt-ha-smooted///Based on://PRC_HPT Heikin Ashi Smoothed | indicator//25.04.2017//Nicolas @ www.prorealcode.com//Sharing ProRealTime knowledge//translated from MT4 indicator code//---settingsMaPeriod=6MaPeriod2=2TrendLongueurMini=6// Nombre mini de bougies HPT Heikin Ashi smoothed dans le même sens pour faire un trendDojiCorpsMaxPct= 4// Taille T maximale du Corps en pourcentage T/100 du range entre ses extrémités. Exemple : pour 4% entrer 4 (pas 0.04)DojiCentreCorpsMinPct= 47// Centre du Corps à au moins X/100 de la bougie en partant du bas, après un trend haussierDojiCentreCorpsMaxPct= 53// Centre du Corps à au plus X/100 de la bougie en partant du bas, après un trend haussier//---end of settingsonce maOpen=Openonce maClose=Closeonce maLow=Lowonce maHigh=Highif barindex>0 thenmaOpen=(maOpen[1]*(MAperiod-1)+Open)/MAPeriodmaClose=(maClose[1]*(MAperiod-1)+Close)/MAPeriodmaLow=(maLow[1]*(MAperiod-1)+Low)/MAPeriodmaHigh=(maHigh[1]*(MAperiod-1)+High)/MAPeriodhaOpen=(ExtMapBuffer5[1]+ExtMapBuffer6[1])/2haClose=(maOpen+maHigh+maLow+maClose)/4haHigh=Max(maHigh, Max(haOpen, haClose))haLow=Min(maLow, Min(haOpen, haClose))if (haOpen<haClose) then//r=0//g=191//b=255ExtMapBuffer7=haLowExtMapBuffer8=haHighelse//r=255//g=10//b=0ExtMapBuffer7=haHighExtMapBuffer8=haLowendifExtMapBuffer5=haOpenExtMapBuffer6=haCloseExtMapBuffer1=weightedaverage[MAperiod2](ExtMapBuffer7)ExtMapBuffer2=weightedaverage[MAperiod2](ExtMapBuffer8)ExtMapBuffer3=weightedaverage[MAperiod2](ExtMapBuffer5)ExtMapBuffer4=weightedaverage[MAperiod2](ExtMapBuffer6)endifTrendH= summation[TrendLongueurMini](ExtMapBuffer4>ExtMapBuffer3)=TrendLongueurMiniTrendB= summation[TrendLongueurMini](ExtMapBuffer4<ExtMapBuffer3)=TrendLongueurMiniTailleCorps=abs(ExtMapBuffer4-ExtMapBuffer3)TailleDoji=abs(ExtMapBuffer2-ExtMapBuffer1)if TailleDoji>0 thenTailleCorpsPct=100*TailleCorps/TailleDojiCentreCorpsPct=100*((ExtMapBuffer4+ExtMapBuffer3)/2-min(ExtMapBuffer1,ExtMapBuffer2))/TailleDojielseTailleCorpsPct=0CentreCorpsPct=0endifDojiOK= TailleDoji>0 and TailleCorpsPct<=DojiCorpsMaxPct and CentreCorpsPct>=DojiCentreCorpsMinPct and CentreCorpsPct<=DojiCentreCorpsMaxPctInverseDojiCentreCorpsMinPct= 100-DojiCentreCorpsMaxPctInverseDojiCentreCorpsMaxPct= 100-DojiCentreCorpsMinPctInverseDojiOK= TailleDoji>0 and TailleCorpsPct<=DojiCorpsMaxPct and CentreCorpsPct>=InverseDojiCentreCorpsMinPct and CentreCorpsPct<=InverseDojiCentreCorpsMaxPctselection= (trendH[1] and DojiOK) or (TrendB[1] and InverseDojiOK)trend= trendH[1]-trendB[1]screener[selection](trend as "trend")06/30/2023 at 5:48 PM #217096Il est fort le gars , très fort !!!
J’ai donc modifié la ligne : Candlestick dans l’indicateur comme suggéré ci-dessus.
Quant au screener il me sort des dojis ou pierre tombales , les marteaux viendront à leur heure je suppose.
Bon j’ai le week-end pour m’en remettre et bien regarder les possibilités offertes.
Aujourd’hui en fin de journée il me donne : Métabolic explorer et Ubisoft.
Vraiment un grand merci pour ta dédication et j’encourage nos amis membres de s’intéresser de près à cet indicateur
en bidouillant un peu les paramètres jumelé au centre de gravité proposé par Nicolas on peut faire du bon boulot !
Excellent week-end à tous et bons trades.
Ci-joint un bel exemple issu du code
07/01/2023 at 6:57 AM #217105Pour ceux qui ont déjà pris le code, je corrige la ligne 81: trend= trendH–trendB
avec: trend= trendH[1]–trendB[1]
… cela permet de garder dans la colonne trend le +1/-1 tel qu’il était juste avant la bougie, plutôt qu’éventuellement passer à zéro sur la bougie en cas d’inversin open/close. Je l’edit directement dans le code ci-dessus pour faciliter les futur copier-coller.
Pour le marteau,
soit à partir du même code, il faut modifier les paramètres utilisateurs pour faire correspondre taille et position du corps à un marteau,
soit, si la possibilité de paramétrer n’était pas pour faire « type de bougie par type de bougie» mais devait être un paramétrage multiple pour détecter plusieurs types de bougie dans le même screener, alors il faut me dire combien de types de bougie détecter simultanément dans le même screener (exemple : 2 à la fois si porteur d’eau et pierre tombale, 3 à la fois si ces 2 là et le marteau aussi), et je démultiplierai toutes les lignes rajoutées en conséquence pour déboucher sur une sélection multiple.
07/01/2023 at 12:02 PM #217110Bonjour JC,
Tant qu’à faire autant avoir les 3 types de bougies si possibles pour ouvrir à plus d’opportunités : porteur d’eau,pierre tombale et marteau.
Chacun prendra le signal selon la place de la bougie dans le trend et la signification qui lui correspond.
merci pour le travail et bon week end.
07/03/2023 at 4:10 PM #217202Bonjour à tous,
Pour ceux qui préfère on peut mettre les HA smoothed sous forme de moyenne mobile.
Ci dessous un exemple avec Nexity. MA en jaune
// HPTMA 03.07.2023
//HPT PRC V2 Heikin Ashi Smoothed indicator PRC 25.04.2017
//Nicolas @ http://www.prorealcode.com Sharing ProRealTime knowledge
//translated from MT4 indicator code
defparam calculateonlastbars = 150
//—settings
//MaPeriod = 4//6 perso = 4
//MaPeriod2 = 1// perso = 1
//—end of settingsonce maOpen=Open
once maClose=Close
once maLow=Low
once maHigh=Highif barindex>0 then
maOpen=(maOpen[1]*(MAperiod-1)+Open)/MAPeriod
maClose=(maClose[1]*(MAperiod-1)+Close)/MAPeriod
maLow=(maLow[1]*(MAperiod-1)+Low)/MAPeriod
maHigh=(maHigh[1]*(MAperiod-1)+High)/MAPeriodhaOpen=(ExtMapBuffer5[1]+ExtMapBuffer6[1])/2
haClose=(maOpen+maHigh+maLow+maClose)/4
haHigh=Max(maHigh, Max(haOpen, haClose))
haLow=Min(maLow, Min(haOpen, haClose))
if (haOpen<haClose) then
r=0 // vert clair
g=255//191
b=127//255
ExtMapBuffer7=haLow
ExtMapBuffer8=haHigh
else
r=134//240//255 rose foncé
g=9//128//10
b=82//128//0
ExtMapBuffer7=haHigh
ExtMapBuffer8=haLow
endif
ExtMapBuffer5=haOpen
ExtMapBuffer6=haCloseExtMapBuffer1=weightedaverage[MAperiod2](ExtMapBuffer7)
ExtMapBuffer2=weightedaverage[MAperiod2](ExtMapBuffer8)
ExtMapBuffer3=weightedaverage[MAperiod2](ExtMapBuffer5)
ExtMapBuffer4=weightedaverage[MAperiod2](ExtMapBuffer6)
endifMA = average [MAperiod2](ExtMapBuffer6)
//DRAWCANDLE(ExtMapBuffer3,ExtMapBuffer2,ExtMapBuffer1,ExtMapBuffer4) coloured(r,g,b)
DRAWCANDLE(ExtMapBuffer3,max(ExtMapBuffer1,ExtMapBuffer2),min(ExtMapBuffer1,ExtMapBuffer2),ExtMapBuffer4) coloured(r,g,b)// modifié par JCbyWan
//short = ExtMapBuffer7[1]>ExtMapBuffer8[1] and ExtMapBuffer7[2]<ExtMapBuffer8[2] and ExtMapBuffer7[0]>ExtMapBuffer8[0]
//long = ExtMapBuffer7[1]<ExtMapBuffer8[1] and ExtMapBuffer7[2]>ExtMapBuffer8[2] and ExtMapBuffer7[0]<ExtMapBuffer8[0]RETURN customclose as “customclose” ,MA as ” MA”
07/05/2023 at 8:37 PM #217335Voici, avec 3 jeux de paramètres pour personnaliser la détection de 3 types de chandeliers à la fois après un trend haussier (les 3 réciproques pour après un trend baissier étant automatiquement définis).
Dans la colonne trend on aura désormais: +1 ou +2 ou +3 ou -1 ou -2 ou -3, le signe +/- indiquant le trend précédant le chandelier détecté, et la valeur 1/2/3 pour savoir lequel des 3 types de chandelier.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111//PRC_HPT Heikin Ashi Smoothed | screener//30.06.2023 version 1 doji//05.07.2023 version 3 doji//JC_Bywan @ www.prorealcode.com//forum request https://www.prorealcode.com/topic/screener-doji-porteur-deau-pierre-tombale-et-marteau-sur-hpt-ha-smooted///Based on://PRC_HPT Heikin Ashi Smoothed | indicator//25.04.2017//Nicolas @ www.prorealcode.com//Sharing ProRealTime knowledge//translated from MT4 indicator code//---settingsMaPeriod=6MaPeriod2=2TrendLongueurMini=5// Nombre mini de bougies HPT Heikin Ashi smoothed dans le même sens pour faire un trend// Doji1: porteur d'eauDoji1CorpsMaxPct= 4// Taille T maximale du Corps en pourcentage T/100 du range entre ses extrémités. Exemple : pour 4% entrer 4 (pas 0.04)Doji1CentreCorpsMinPct= 47// Centre du Corps à au moins X/100 de la bougie en partant du bas, après un trend haussierDoji1CentreCorpsMaxPct= 53// Centre du Corps à au plus X/100 de la bougie en partant du bas, après un trend haussier// Doji2: pierre tombaleDoji2CorpsMaxPct= 4// Taille T maximale du Corps en pourcentage T/100 du range entre ses extrémités. Exemple : pour 4% entrer 4 (pas 0.04)Doji2CentreCorpsMinPct= 0// Centre du Corps à au moins X/100 de la bougie en partant du bas, après un trend haussierDoji2CentreCorpsMaxPct= 10// Centre du Corps à au plus X/100 de la bougie en partant du bas, après un trend haussier// Doji3: marteauDoji3CorpsMaxPct= 40// Taille T maximale du Corps en pourcentage T/100 du range entre ses extrémités. Exemple : pour 4% entrer 4 (pas 0.04)Doji3CentreCorpsMinPct= 80// Centre du Corps à au moins X/100 de la bougie en partant du bas, après un trend haussierDoji3CentreCorpsMaxPct= 100// Centre du Corps à au plus X/100 de la bougie en partant du bas, après un trend haussier//---end of settingsonce maOpen=Openonce maClose=Closeonce maLow=Lowonce maHigh=Highif barindex>0 thenmaOpen=(maOpen[1]*(MAperiod-1)+Open)/MAPeriodmaClose=(maClose[1]*(MAperiod-1)+Close)/MAPeriodmaLow=(maLow[1]*(MAperiod-1)+Low)/MAPeriodmaHigh=(maHigh[1]*(MAperiod-1)+High)/MAPeriodhaOpen=(ExtMapBuffer5[1]+ExtMapBuffer6[1])/2haClose=(maOpen+maHigh+maLow+maClose)/4haHigh=Max(maHigh, Max(haOpen, haClose))haLow=Min(maLow, Min(haOpen, haClose))if (haOpen<haClose) then//r=0//g=191//b=255ExtMapBuffer7=haLowExtMapBuffer8=haHighelse//r=255//g=10//b=0ExtMapBuffer7=haHighExtMapBuffer8=haLowendifExtMapBuffer5=haOpenExtMapBuffer6=haCloseExtMapBuffer1=weightedaverage[MAperiod2](ExtMapBuffer7)ExtMapBuffer2=weightedaverage[MAperiod2](ExtMapBuffer8)ExtMapBuffer3=weightedaverage[MAperiod2](ExtMapBuffer5)ExtMapBuffer4=weightedaverage[MAperiod2](ExtMapBuffer6)endif//DRAWCANDLE(ExtMapBuffer3,max(ExtMapBuffer1,ExtMapBuffer2),min(ExtMapBuffer1,ExtMapBuffer2),ExtMapBuffer4) coloured(r,g,b)//short = ExtMapBuffer7[1]>ExtMapBuffer8[1] and ExtMapBuffer7[2]<ExtMapBuffer8[2] and ExtMapBuffer7[0]>ExtMapBuffer8[0]//long = ExtMapBuffer7[1]<ExtMapBuffer8[1] and ExtMapBuffer7[2]>ExtMapBuffer8[2] and ExtMapBuffer7[0]<ExtMapBuffer8[0]TrendH= summation[TrendLongueurMini](ExtMapBuffer4>ExtMapBuffer3)=TrendLongueurMiniTrendB= summation[TrendLongueurMini](ExtMapBuffer4<ExtMapBuffer3)=TrendLongueurMiniTailleCorps=abs(ExtMapBuffer4-ExtMapBuffer3)TailleDoji=abs(ExtMapBuffer2-ExtMapBuffer1)if TailleDoji>0 thenTailleCorpsPct=100*TailleCorps/TailleDojiCentreCorpsPct=100*((ExtMapBuffer4+ExtMapBuffer3)/2-min(ExtMapBuffer1,ExtMapBuffer2))/TailleDojielseTailleCorpsPct=0CentreCorpsPct=0endifDoji1OK= TailleDoji>0 and TailleCorpsPct<=Doji1CorpsMaxPct and CentreCorpsPct>=Doji1CentreCorpsMinPct and CentreCorpsPct<=Doji1CentreCorpsMaxPctDoji2OK= TailleDoji>0 and TailleCorpsPct<=Doji2CorpsMaxPct and CentreCorpsPct>=Doji2CentreCorpsMinPct and CentreCorpsPct<=Doji2CentreCorpsMaxPctDoji3OK= TailleDoji>0 and TailleCorpsPct<=Doji3CorpsMaxPct and CentreCorpsPct>=Doji3CentreCorpsMinPct and CentreCorpsPct<=Doji3CentreCorpsMaxPctInverseDoji1CentreCorpsMinPct= 100-Doji1CentreCorpsMaxPctInverseDoji1CentreCorpsMaxPct= 100-Doji1CentreCorpsMinPctInverseDoji2CentreCorpsMinPct= 100-Doji2CentreCorpsMaxPctInverseDoji2CentreCorpsMaxPct= 100-Doji2CentreCorpsMinPctInverseDoji3CentreCorpsMinPct= 100-Doji3CentreCorpsMaxPctInverseDoji3CentreCorpsMaxPct= 100-Doji3CentreCorpsMinPctInverseDoji1OK= TailleDoji>0 and TailleCorpsPct<=Doji1CorpsMaxPct and CentreCorpsPct>=InverseDoji1CentreCorpsMinPct and CentreCorpsPct<=InverseDoji1CentreCorpsMaxPctInverseDoji2OK= TailleDoji>0 and TailleCorpsPct<=Doji2CorpsMaxPct and CentreCorpsPct>=InverseDoji2CentreCorpsMinPct and CentreCorpsPct<=InverseDoji2CentreCorpsMaxPctInverseDoji3OK= TailleDoji>0 and TailleCorpsPct<=Doji3CorpsMaxPct and CentreCorpsPct>=InverseDoji3CentreCorpsMinPct and CentreCorpsPct<=InverseDoji3CentreCorpsMaxPctDojiOK= Doji1OK or Doji2OK or Doji3OKInverseDojiOK= InverseDoji1OK or InverseDoji2OK or InverseDoji3OKselection= (trendH[1] and DojiOK) or (TrendB[1] and InverseDojiOK)trend= (Doji1OK+2*Doji2OK+3*Doji3OK)*trendH[1]-(InverseDoji1OK+2*InverseDoji2OK+3*InverseDoji3OK)*trendB[1]screener[selection](trend as "trend")07/06/2023 at 2:10 PM #217364Bonjour à tous,
merci JC pour ce nouveau code , je vais profiter de l’heure de la sieste pour le détailler, 35 º C ici en moyenne tous les jours d’où la sieste obligatoire .
bons trades à tous , ce genre de code devrait vous aider !
-
AuthorPosts
Find exclusive trading pro-tools on