afficher uniquement que les 2 derniers signaux sur le graphique
Forums › ProRealTime forum Français › Support ProBuilder › afficher uniquement que les 2 derniers signaux sur le graphique
- This topic has 14 replies, 4 voices, and was last updated 3 years ago by
Codeur.
-
-
03/18/2022 at 8:00 AM #190124
Bonjour,
Dans un code j’ai rajouté la fonction comme cité dans le titre
En fait je voudrais ne garder sur le graphique que les 2 derniers signaux pour alléger
la lecture et les anciens signaux n’ayant plus aucun intérêt
J’ai donc ajouté en début de code l’instruction
DEFPARAM DRAWONLASTBARONLY = TRUE
mais tous les signaux restent affichés au lieu des 2 derniers seulement comme je voudrais
Y – a t-il une instruction complémentaire à coder
Merci pour votre réponse
Cordialement
03/18/2022 at 8:26 AM #190125Bjr,
Sans voir le code, on ne peut que faire des suppositions et risquer de répondre à côté, donc possible que ce que je dise ne corresponde pas à votre cas…
Si vos signaux qui restent tous affichés sont générés via par exemple une valeur en ligne return, alors il faut savoir que ” defparam drawonlastbaronly = true ” est quelque chose qui s’applique aux instructions graphiques (drawline, drawtext, etc…) mais pas aux valeurs renvoyées par la ligne return. Pour n’en garder que 2, il faut à chaque bougie connaitre les 2 plus récents, et les marquer via un objet graphique (drawarrow par exemple), de là on a une situation qui permet de ne tracer tout le temps que ces 2 signaux sans conserver leur historique.
03/18/2022 at 8:35 AM #190126Bonjour JC_Bywan,
merci pour la réponse
Je joins le code, je pensais que c’était plus simple
c’est le code pour pour les signaux de breakouts haussiers
et comme écris plus haut je ne voudrais que les 2 derniers signaux sur le graphique
Merci pour le retour
Cordialement
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556//Defparam DRAWONLASTBARONLY = trueTRADINGTIME = time >= 034500 and time < 220000// ------------------------------------------------------------- BREAKOUT HAUSSIER SUPERTREND [2.5,10] -------------------------------------------------------------ST = supertrend [2.5,10]SignalSt = close > STp = 20dev = 2.5 // Modifiable en 2.5BollSup =Average[p](close)+dev*std[p](close)//BollInf = Average[p](close)-dev*std[p](close)a1 = close > BollSup// // ANALYSE 9 DERNIERS CHANDELIERS ET LE CHANDELIER EN COURS// -- Le calcul se fait sur les 9 précédents et le chandelier en courshh=highest[9](high)//bullish breakoutif hh<>hh[1] thenhhbar=barindexENDIFif close crosses over hh[1] then//DRAWCANDLE(open,high,low,close)COLOURED(124,252,0)if SignalSt and TRADINGTIME and BOhaussier thenDRAWCANDLE(open,high,low,close)COLOURED(135,206,250) // LIGHT SKY BLUEif a1 thendrawtext("ALERT >> ",barindex[9],hh[1],SansSerif,Bold,12) coloured(255,0,0)ENDIF//drawsegment(hhbar[1],hh[1],barindex,hh[1]) coloured(0,0,255)drawtext(" ---------------------",barindex[9],hh[1],SansSerif,Bold,14) coloured(0,0,255)drawtext("BO ",barindex[9],hh[1],SansSerif,Bold,12) coloured(0,0,255)var = hh[1]If PrixHaussier thenDRAWTEXT(" #var# ", barindex[8],hh[1] ,SansSerif,Bold,10) COLOURED(0,0,255)//DRAWARROWUP(barindex,low-0.009)coloured(25,25,112)ENDIFENDIFENDIFRETURN03/18/2022 at 9:25 AM #190129J’ai modifié le titre pour que ce soit plus explicite. Suite à une autre demande de ce type, j’avais répondu dans ce post: https://www.prorealcode.com/topic/dernier-signal/#post-156750
“Le code ci-dessous enregistre dans des tableaux les occurrences de tes détections de chandeliers. Puis à partir de la bougie courante, on fait une recherche dans les occurrences du tableau et on les affiche en les comptant, puis si on en a affiché suffisamment, on sort de la boucle.”
03/18/2022 at 9:34 AM #190131Re,
je t’ai décommenté le defparam drawonlastbaronly,
je t’ai rajouté 2 blocs de lignes chacun entre des lignes ////////////// pour capturer les 2 signaux les plus récents
ils sont tracés non plus via un chandelier coloré, car drawcandle ne peut se dessiner que sur barre en cours et par conséquent ne cohabite pas avec un drawonlastbaronly où on aurait besoin de la redessiner dans le passé à chaque nouvelle barre, mais via une flèche DRAWARROWUP de la couleur voulue light sky blue
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283Defparam DRAWONLASTBARONLY = true//PrixHaussier=1//BOhaussier=1TRADINGTIME = time >= 034500 and time < 220000// ------------------------------------------------------------- BREAKOUT HAUSSIER SUPERTREND [2.5,10] -------------------------------------------------------------ST = supertrend [2.5,10]SignalSt = close > STp = 20dev = 2.5 // Modifiable en 2.5BollSup =Average[p](close)+dev*std[p](close)//BollInf = Average[p](close)-dev*std[p](close)a1 = close > BollSup// // ANALYSE 9 DERNIERS CHANDELIERS ET LE CHANDELIER EN COURS// -- Le calcul se fait sur les 9 précédents et le chandelier en courshh=highest[9](high)//bullish breakoutif hh<>hh[1] thenhhbar=barindexENDIFif close crosses over hh[1] thenif SignalSt and TRADINGTIME and BOhaussier then//////////////////////////////////////////////////s2O=s1Os2H=s1Hs2L=s1Ls2range=s1ranges2a1=s1a1bars2=bars1vars2=vars1s1O=opens1H=highs1L=lows1range=s1H-s1Ls1a1=a1bars1=barindexvars1 = hh[1]//////////////////////////////////////////////////ENDIFENDIF//////////////////////////////////////////////////if bars2>=9 thenDRAWarrowUP(bars1,s1L-s1range)COLOURED(135,206,250)//DRAWCANDLE(s1O,s1H,s1L,s1C)COLOURED(135,206,250) // LIGHT SKY BLUEif s1a1 thendrawtext("ALERT >> ",bars1-9,hh[barindex-bars1+1],SansSerif,Bold,12) coloured(255,0,0)ENDIFdrawtext(" ---------------------",bars1-9,hh[barindex-bars1+1],SansSerif,Bold,14) coloured(0,0,255)drawtext("BO ",bars1-9,hh[barindex-bars1+1],SansSerif,Bold,12) coloured(0,0,255)If PrixHaussier thenDRAWTEXT(" #vars1# ", bars1-8,vars1 ,SansSerif,Bold,10) COLOURED(0,0,255)ENDIF//DRAWarrowUP(bars2,s2L-s2range)COLOURED(135,206,250)//DRAWCANDLE(s2O,s2H,s2L,s2C)COLOURED(135,206,250) // LIGHT SKY BLUEif s2a1 thendrawtext("ALERT >> ",bars2-9,hh[barindex-bars2+1],SansSerif,Bold,12) coloured(255,0,0)ENDIFdrawtext(" ---------------------",bars2-9,hh[barindex-bars2+1],SansSerif,Bold,14) coloured(0,0,255)drawtext("BO ",bars2-9,hh[barindex-bars2+1],SansSerif,Bold,12) coloured(0,0,255)If PrixHaussier thenDRAWTEXT(" #vars2# ", bars2-8,vars2 ,SansSerif,Bold,10) COLOURED(0,0,255)ENDIFendif//////////////////////////////////////////////////RETURN03/18/2022 at 9:38 AM #19013203/18/2022 at 12:01 PM #190144bonjour à tous,
ce sujet m’intéresse car alléger les signaux sur le graphe est une bonne chose.
En utilisant “drawpoint ” ou un autre signal pourrait-on faire ressortir les deux derniers signaux sur un croisement de moyennes mobiles ?
c1 = customclose crosses over average [20]
c2 = customclose crosses under average [20]
ainsi j’espère mieux comprendre les explications
bonne journée
03/18/2022 at 3:46 PM #190156Bjr,
adapté aux 2 derniers signaux de croisement de mm20, avec conservation du barindex, du niveau, et de la couleur pour distinguer lequel était c1 et lequel était c2
1234567891011121314151617181920212223242526272829Defparam DRAWONLASTBARONLY = truec1 = customclose crosses over average[20]c2 = customclose crosses under average[20]if c1 or c2 thenbars2=bars1closes2=closes1rs2=rs1gs2=gs1//bars1=barindexcloses1=closeendifif c1 thenrs1=0gs1=255endifif c2 thenrs1=255gs1=0endifDRAWPOINT(bars1, closes1, 3) coloured(rs1,gs1,0)DRAWPOINT(bars2, closes2, 3) coloured(rs2,gs2,0)return03/18/2022 at 4:30 PM #19015803/18/2022 at 5:20 PM #190159Re-
Le code marche nickel, j’aimerai changer les couleurs des points j’ai trouvé pour le jaune mais pas pour le bleu ciel (c2), le RGB demande 3 chiffres, ici on parle de quoi comme code ?
merci pour ton aide
if c1 then
rs1=247//0
gs1=255 // jaune
endifif c2 then
rs1= 255
gs1= 0 // bleu ciel ?
endif03/18/2022 at 5:33 PM #190160Pour bleu ciel on peut prendre 135,206,250 par exemple, et rajouter les lgnes qui permettent de faire varier le B du RGB:
1234567891011121314151617181920212223242526272829303132defparam DRAWONLASTBARONLY = truec1 = customclose crosses over average[20]c2 = customclose crosses under average[20]if c1 or c2 thenbars2=bars1closes2=closes1rs2=rs1gs2=gs1bs2=bs1//bars1=barindexcloses1=closeendifif c1 thenrs1=247//0gs1=255bs1=0endifif c2 thenrs1=135//255gs1=206//0bs1=250endifDRAWPOINT(bars1, closes1, 3) coloured(rs1,gs1,bs1)DRAWPOINT(bars2, closes2, 3) coloured(rs2,gs2,bs2)return03/18/2022 at 6:52 PM #19016103/29/2022 at 7:11 AM #190688A L’attention de JC_Byvan
Bonjour,
merci encore pour le code que tu m’a transmis plus haut
j’essaye d’appliquer la même chose pour le breakout baissier.
Pourrais tu m’expliquer en quelques mot les lignes ci-dessous que tu à rajouter.
Elles correspondent à quoi exactement
Merci pour ton retour
1234567891011121314151617//////////////////////////////////////////////////s2O = s1Os2H = s1Hs2L = s1Ls2range = s1ranges2a1 = s1a1bars2 = bars1vars2 = vars1s1O = opens1H = highs1L = lows1range = s1H - s1Ls1a1 = a1bars1 = barindexvars1 = hh[1]//////////////////////////////////////////////////03/29/2022 at 12:29 PM #190725Bjr,
voir commentaires ajoutés ci-dessous:
1234567891011121314151617//////////////////////////////////////////////////s2O = s1O // mises2H = s1H // ens2L = s1L // mémoires2range = s1range // dus2a1 = s1a1 // signal 1bars2 = bars1 // envars2 = vars1 // signal 2, juste avant de remplacer le signal 1 ci-aprèss1O = open // ouverture bougie signal 1s1H = high // haut bougie signal 1s1L = low // bas bougie signal 1s1range = s1H - s1L // range bougie signal 1s1a1 = a1 // condition a1 bougie signal 1bars1 = barindex // barindex bougie signal 1vars1 = hh[1] // plus haut hh=highest[9](high) précédent (car hh[1]) en bougie signal 1//////////////////////////////////////////////////03/29/2022 at 12:35 PM #190726 -
AuthorPosts
Find exclusive trading pro-tools on