ProRealCode - Trading & Coding with ProRealTime™
Bonjour, j’aimerais parametrer un scrreener qui détecte les configs suivantes: dernière bougie ( j’utilise un blanc/noir sur les graphes et en barchart pour mieux les detecter) et heikensashi de meme nature ( haussiere ou baissiere). donc blanc/vert ( BV) ou noir/rouge( NR) avec comme signal ( haussier) buy >du plus haut d’une NR si cours > bandeau de hull . quelques exemples suivent ( pour faciliter la vue , à nouveau j’ai placé un barchart ( blanc/noir au lieu de vert/rouge) à la place d’une bougie classique. Par la suite, le signal 5* sera: buy >noir/rouge NR si cours >hull et inversement sell< blanc/vert ( BV) si cours <bandeau de hull. D’autre signaux sur configs 2 bougies tels que; blanc/rouge ( BR) apres une noir/rouge ( NR) alors sell<NR si hull negatif. si hull positif, une NR aprés un BR alors buy>NR. J’ai identifié plusieurs configs qui donnent régulièrement des points avec un stoploss proche. Les stoploss sont placés sous le plus bas d’une NR si signal BUY ou au dessus d’une BV si signal SELL
Comme parametre, le timeframe. Il faut detecter les weekly daily puis dans toutes les UT inférieures jusqu’au 5mn.
Pour le bandeau de hull, j’utilise celui ci
//conversion de code tradingview
//@version=4
//study(“Hull Trend with Kahlman”, shorttitle=”HMA-Kahlman Trend”, overlay=true)
//variables
//length=24
//showcross=t
//gain=10000
//k=f
//nonrepainting=f
src=customclose
length =length
showcross = showcross
gain = gain
k = k
hma= WeightedAverage[ROUND(SQRT(length))](2 * WeightedAverage[ROUND(length / 2)](src) – WeightedAverage[length](src))
// Calcul des composants de l’indicateur HMA3
p=(length/2)
wma1 = WeightedAverage[round(p/3)](close)
wma2 = WeightedAverage[round(p/2)](close)
wma3 = WeightedAverage[round(p)](close)
// Calcul de l’indicateur HMA3
ga=3*wma1-wma2-wma3
hma3 = WeightedAverage[round(p)](ga)
// Initialisation des variables du filtre de Kalman
ONCE Pred = src
ONCE Velo = 0
ONCE Smooth = src
kf = src
// Boucle de calcul pour le filtre de Kalman
IF BarIndex > 0 THEN
Smooth = Pred + (src-Pred)*SQRT((gain/10000)*2)
Velo=Velo+((gain/10000)*(src-Pred))
Pred=Smooth+Velo
kf=Pred
ENDIF
wma1f = WeightedAverage[round(p/3)](kf)
wma2f = WeightedAverage[round(p/2)](kf)
wma3f = WeightedAverage[round(p)](kf)
// Calcul du filtrage de b
gaf=3*wma1f-wma2f-wma3f
if k then
a =WeightedAverage[ROUND(SQRT(length))](2 * WeightedAverage[ROUND(length / 2)](kf) – WeightedAverage[length](kf))
b =WeightedAverage[round(p)](gaf)
endif
if not k then
a = hma
b = hma3
endif
if showcross then
crossdn =a crosses over b
atrh = averagetruerange[10](close)*0.5
if nonrepainting=0 then
if crossdn then
DRAWTEXT(“.”, barindex-1,high[1]+atrh,dialog,bold,20)coloured(250,250,0)
//DRAWPOINT(barindex-1,high[1]+atrh,4)coloured(255,250,250,100)bordercolor(0,0,0,0)
endif
crossup = a crosses under b
if crossup then
DRAWTEXT(“.”, barindex-1,b[1]-atrh,dialog,bold,20)coloured(250,255,0)
//DRAWPOINT(barindex-1,b[1]-atrh,5)coloured(250,255,250,100)bordercolor(0,0,0,0)
endif
endif
if nonrepainting=1 then
if crossdn then
DRAWTEXT(“Vh”, barindex,high+atrh,dialog,bold,20)coloured(255,250,0)
//DRAWPOINT(barindex,high+atrh,5)coloured(255,250,250)bordercolor(0,0,0,0)
endif
crossup = a crosses under b
if crossup then
DRAWTEXT(“Ah”, barindex,b-atrh,dialog,bold,20)coloured(250,255,0)
//DRAWPOINT(barindex,b-atrh,5)coloured(250,250,250)bordercolor(0,0,0,0)
endif
endif
endif
return a as “hull”,b as “hull3”
A ver si lo he entendido bien: buy-> noir/rouge NR si cours>hull –> haopen < haclose and open < close and close < min(a,b) sell-> blanc/vert ( BV) si cours< bandeau de coque –> haopen > haclose and open > close and close > max(a,b) Ici, vous aurez le code pour que vous puissiez jouer avec les conditions (à partir de la ligne 58 du code) :
//////HULL TREND WITH KAHLMAN////////////////////
//variables
length=24
showcross=1
gain=10000
k=0
nonrepainting=0
src=customclose
length =length
showcross = showcross
gain = gain
k = k
hma= WeightedAverage[ROUND(SQRT(length))](2 * WeightedAverage[ROUND(length / 2)](src) - WeightedAverage[length](src))
// Calcul des composants de l’indicateur HMA3
p=(length/2)
wma1 = WeightedAverage[round(p/3)](close)
wma2 = WeightedAverage[round(p/2)](close)
wma3 = WeightedAverage[round(p)](close)
// Calcul de l’indicateur HMA3
ga=3*wma1-wma2-wma3
hma3 = WeightedAverage[round(p)](ga)
// Initialisation des variables du filtre de Kalman
ONCE Pred = src
ONCE Velo = 0
ONCE Smooth = src
kf = src
// Boucle de calcul pour le filtre de Kalman
IF BarIndex > 0 THEN
Smooth = Pred + (src-Pred)*SQRT((gain/10000)*2)
Velo=Velo+((gain/10000)*(src-Pred))
Pred=Smooth+Velo
kf=Pred
ENDIF
wma1f = WeightedAverage[round(p/3)](kf)
wma2f = WeightedAverage[round(p/2)](kf)
wma3f = WeightedAverage[round(p)](kf)
// Calcul du filtrage de b
gaf=3*wma1f-wma2f-wma3f
if k then
a =WeightedAverage[ROUND(SQRT(length))](2 * WeightedAverage[ROUND(length / 2)](kf) - WeightedAverage[length](kf))
b =WeightedAverage[round(p)](gaf)
endif
if not k then
a = hma
b = hma3
endif
////////////////////////////////////////////////////////////////
////HEIKIN ASHI
once haopen=open
haclose=(open+close+high+low)/4
if barindex> 0 then
haopen=(haopen+haclose[1])/2
endif
halow=min(low,min(haclose,haopen))
hahigh=max(high,max(haclose,haopen))
//////////////////////////////////////////////////////////////////
/////CONDITIONS
//sell< blanc/vert ( BV) si cours < bandeau de hull
if haopen < haclose and open < close and close < min(a,b) then
res = -1
//buy >du plus haut d’une NR si cours > bandeau de hull
elsif haopen > haclose and open > close and close > max(a,b) then
res = +1
else
res = 0
endif
return res
Il est clair que vous souhaitez simplement quitter la dernière ligne (retour) et la remplacer par le filtre. Exemple : Vous souhaitez afficher des valeurs avec res = -1 screener[res=-1]
merci Ivan pour ton travail.
Est ce que c’est un screener ou bien un indicateur? Je cherche à parametrer un screener pour tester les actions du nasdaq qui ont un potentiel de breakout LONG ou SHORT dés le lendemain. Muchas gracias.
Pour avoir un screener seul, vous devez éliminer la dernière ligne et écrire à votre place : screener[res=-1]
//////HULL TREND WITH KAHLMAN////////////////////
//variables
length=24
//showcross=1
gain=10000
k=0
src=customclose
length =length
//showcross = showcross
gain = gain
k = k
hma= WeightedAverage[ROUND(SQRT(length))](2 * WeightedAverage[ROUND(length / 2)](src) - WeightedAverage[length](src))
// Calcul des composants de l’indicateur HMA3
p=(length/2)
wma1 = WeightedAverage[round(p/3)](close)
wma2 = WeightedAverage[round(p/2)](close)
wma3 = WeightedAverage[round(p)](close)
// Calcul de l’indicateur HMA3
ga=3*wma1-wma2-wma3
hma3 = WeightedAverage[round(p)](ga)
// Initialisation des variables du filtre de Kalman
ONCE Pred = src
ONCE Velo = 0
ONCE Smooth = src
kf = src
// Boucle de calcul pour le filtre de Kalman
IF BarIndex > 0 THEN
Smooth = Pred + (src-Pred)*SQRT((gain/10000)*2)
Velo=Velo+((gain/10000)*(src-Pred))
Pred=Smooth+Velo
kf=Pred
ENDIF
wma1f = WeightedAverage[round(p/3)](kf)
wma2f = WeightedAverage[round(p/2)](kf)
wma3f = WeightedAverage[round(p)](kf)
// Calcul du filtrage de b
gaf=3*wma1f-wma2f-wma3f
if k then
a =WeightedAverage[ROUND(SQRT(length))](2 * WeightedAverage[ROUND(length / 2)](kf) - WeightedAverage[length](kf))
b =WeightedAverage[round(p)](gaf)
endif
if not k then
a = hma
b = hma3
endif
////////////////////////////////////////////////////////////////
////HEIKIN ASHI
once haopen=open
haclose=(open+close+high+low)/4
if barindex> 0 then
haopen=(haopen+haclose[1])/2
endif
//////////////////////////////////////////////////////////////////
/////CONDITIONS
//sell< blanc/vert ( BV) si cours < bandeau de hull
if haopen < haclose and open < close and close < min(a,b) then
res = -1
//buy >du plus haut d’une NR si cours > bandeau de hull
elsif haopen > haclose and open > close and close > max(a,b) then
res = +1
else
res = 0
endif
SCREENER[res=-1](close as "close")
Ok merci , j’ai trouvé comment le placer dans proscreener. Ce screener donne des BV Blanc sur Vert. Comment avoir des NR Noir sur Rouge?
quelques exemples encore des signaux en sell sous BV et Buy >NR. J’ai trouvé une dizaine de combinaisons avec ces BV BR NV NR
J’aimerai avoir un screener de BV et un autre de NR sur des valeurs du nasdaq avec minimum 1.000.000 titres daily en moyenne. Merci.
Sur le NQ en 2m ce 21 mars, j’ai identifié 15 signaux en 1h20 qui donnent en moins de 2 bougies au moins 6 pts donc 90 points . Le 2mn semble bien adapté
Sur le NQ en 2m ce 21 mars, j’ai identifié 15 signaux en 1h20 qui donnent en moins de 2 bougies au moins 6 pts donc 90 points . Le 2mn semble bien adapté.
en suivant la tendance, sous un BV c’est SELL , au dessus dun NR c’est BUY.
Il vous suffit de modifier la dernière ligne. Au lieu de res=-1 vous devriez mettre res=1
Merci bien Ivan.
Je cherche à créer un robot pour prendre les ordres auto sur le NQ YM CL. Time frame 2mn et prendre que 4 pts sur NQ 10 pts sur YM et 10 points sur CL. est ec que tu sais le programmer? Pour lemoment uniquemnt avec les signaux Buy > NR et SELL<BV. mais j’ai listé 15 autres onfigurations de 2 bougies ui générent également de bons siganux en scalping.
exemple egalement du systeme avec DAX UT 15mn et sell uniquement <hull et Buy uniquement >hull
ce matin sur le Dax 15mn, un faux signal , on met un stop juste au dessus de 50% de la bougie signal. puis 3 signaux BUY pour un target maxi de 50pts environ.
Buy > trait vert. en rose clair, l initiale balance du jour et de la veille en haut du graphe
signaux en 5mn ce matin
Hola, Sólo tienes que cambiar res=1 et res=-1 por les órdenes de compra y venta.
defparam cumulateorders = false
//////HULL TREND WITH KAHLMAN////////////////////
//variables
length=24
//showcross=1
gain=10000
k=0
src=customclose
length =length
//showcross = showcross
gain = gain
k = k
hma= WeightedAverage[ROUND(SQRT(length))](2 * WeightedAverage[ROUND(length / 2)](src) - WeightedAverage[length](src))
// Calcul des composants de l’indicateur HMA3
p=(length/2)
wma1 = WeightedAverage[round(p/3)](close)
wma2 = WeightedAverage[round(p/2)](close)
wma3 = WeightedAverage[round(p)](close)
// Calcul de l’indicateur HMA3
ga=3*wma1-wma2-wma3
hma3 = WeightedAverage[round(p)](ga)
// Initialisation des variables du filtre de Kalman
ONCE Pred = src
ONCE Velo = 0
ONCE Smooth = src
kf = src
// Boucle de calcul pour le filtre de Kalman
IF BarIndex > 0 THEN
Smooth = Pred + (src-Pred)*SQRT((gain/10000)*2)
Velo=Velo+((gain/10000)*(src-Pred))
Pred=Smooth+Velo
kf=Pred
ENDIF
wma1f = WeightedAverage[round(p/3)](kf)
wma2f = WeightedAverage[round(p/2)](kf)
wma3f = WeightedAverage[round(p)](kf)
// Calcul du filtrage de b
gaf=3*wma1f-wma2f-wma3f
if k then
a =WeightedAverage[ROUND(SQRT(length))](2 * WeightedAverage[ROUND(length / 2)](kf) - WeightedAverage[length](kf))
b =WeightedAverage[round(p)](gaf)
endif
if not k then
a = hma
b = hma3
endif
////////////////////////////////////////////////////////////////
////HEIKIN ASHI
once haopen=open
haclose=(open+close+high+low)/4
if barindex> 0 then
haopen=(haopen+haclose[1])/2
endif
//////////////////////////////////////////////////////////////////
/////CONDITIONS
//sell< blanc/vert ( BV) si cours < bandeau de hull
if haopen < haclose and open < close and close < min(a,b) then
sellshort 1 contract at market
//buy >du plus haut d’une NR si cours > bandeau de hull
endif
if haopen > haclose and open > close and close > max(a,b) then
buy 1 contract at market
endif
Merci bien Ivan
Voici les resultats sur les 5 derniers jours 7395€ de gains ( 20€ le lot) 80% de reussite.
Peut on l’ameliorer?
Merci bien Ivan
Voici les resultats sur les 5 derniers jours 7395€ de gains ( 20€ le lot) 80% de reussite.
Peut on l’ameliorer? par exemple sur un SELL on met un stop suiveur si le cours cloture >ema8
et inversement pour un BUY
Screener bougie+heikenashi meme couleur
This topic contains 16 replies,
has 2 voices, and was last updated by
Iván González
1 year, 10 months ago.
| Forum: | Support Plateforme : Graphiques, Données & Courtiers |
| Language: | French |
| Started: | 03/02/2024 |
| Status: | Active |
| Attachments: | 16 files |
The information collected on this form is stored in a computer file by ProRealCode to create and access your ProRealCode profile. This data is kept in a secure database for the duration of the member's membership. They will be kept as long as you use our services and will be automatically deleted after 3 years of inactivity. Your personal data is used to create your private profile on ProRealCode. This data is maintained by SAS ProRealCode, 407 rue Freycinet, 59151 Arleux, France. If you subscribe to our newsletters, your email address is provided to our service provider "MailChimp" located in the United States, with whom we have signed a confidentiality agreement. This company is also compliant with the EU/Swiss Privacy Shield, and the GDPR. For any request for correction or deletion concerning your data, you can directly contact the ProRealCode team by email at privacy@prorealcode.com If you would like to lodge a complaint regarding the use of your personal data, you can contact your data protection supervisory authority.