Bonjour, c’est un code pour les conditions suivantes:
1) c1= min 5 clotures au dessus des bollinger bands, le contraire pour short
2) reperer le swing haut ou bas ca depend si on est long ou short
3) si C1 attendre la formation du swing high et sa cassure pour tracer une fleche vers le haut
4) eviter la repetion de la fleche si la cassure avec les conditions requises s’est deja produite
5) le processus est remis à zéro si on casse sous les BB.
Dans le code que je joins, jai pu avec l’aide de plusieurs perosnnes rassembler un peu tout ca mais je n’arrive pas à éviter les répetitions.
Merci si vous pouvez m’aider.
DEFPARAM CalculateOnLastBars = 1000
// Conditions pour Close > Bollinger UP
indicator3 = Average[20](close)+0.382*std[20](close)
c7 = (close > indicator3)
// Conditions pour 5 Cloture au dessus de Bollinger Up
c9=SUMMATION[5](c7)=5
//Le processus se met à zéro si on cloture à nouveau sous Boll Up
if close<indicator3 then
lastsig=0
endif
// Conditions pour Close < Bollinger Down
indicator4 = Average[20](close)-0.382*std[20](close)
c8 = (close < indicator4)
// Conditions pour 5 Cloture en dessous de Bollinger down
c10=SUMMATION[5](c8)=5
//Le processus se met à zéro si on cloture à nouveau au dessus de Boll Down
if close>indicator4 then
lastsig2=0
endif
//Ce Code trace tous les Swing High et Low ce qui nous montre des points d'entrée et Stop si toutes les conditions sont reunies, il faut juste que je rafine les traçages
PivotBAR = 1 //1 bars AFTER pivot
LookBack = 1 //1 bars BEFORE pivot
BarLookBack = PivotBAR + 1
atr=averagetruerange[14]
IF low[PivotBAR] < lowest[LookBack](low)[BarLookBack] THEN
IF low[PivotBAR] = lowest[BarLookBack](low) THEN
MySupport = BarIndex - PivotBAR
SupportPrice = low[PivotBAR]
ENDIF
ENDIF
IF high[PivotBAR] > highest[LookBack](high)[BarLookBack] THEN
IF high[PivotBAR] = highest[BarLookBack](high) THEN
MyResistance = BarIndex - PivotBAR
ResistancePrice = high[PivotBAR]//high[BarIndex - MyResistance]
ENDIF
ENDIF
DRAWSEGMENT(MyResistance,ResistancePrice,BarIndex,ResistancePrice) COLOURED(255,0,0,255)
DRAWSEGMENT(MySupport,SupportPrice,BarIndex,SupportPrice) COLOURED(0,128,0,255)
//Tracer Flèche vers le haut si le prix croise vers le haut le dernier swing High qui se forme apres 5 clôtures au dessus des BB haut, ca peut être pendant les 5 ou plus bougies, on peut avoir 5 bougies mais sans un swing high donc il faut attendre la formation du swing et sa cassure sans que le processus ne se remet à zéro
c1 = (high >= ResistancePrice)
IF c9 then
if c1 then
drawarrowup(barindex,low-atr/2) coloured(100,10,200)
lastsig3=1
endif
ENDIF
//la flèche ne se repete pas si c1 est true, je n'y arrive pas mais j'ai essayé
if c1 then
lastsig3=0
endif
return
Puisque l’élément qui déclenche le signal c’est la cassure de ta résistance, je teste si la cassure se fait sur la dernière résistance qui a généré un signal (que j’ai stocké dans la variable lastsig3)
DEFPARAM CalculateOnLastBars = 1000
// Conditions pour Close > Bollinger UP
indicator3 = Average[20](close)+0.382*std[20](close)
c7 = (close > indicator3)
// Conditions pour 5 Cloture au dessus de Bollinger Up
c9=SUMMATION[5](c7)=5
//Le processus se met à zéro si on cloture à nouveau sous Boll Up
if close<indicator3 then
lastsig=0
endif
// Conditions pour Close < Bollinger Down
indicator4 = Average[20](close)-0.382*std[20](close)
c8 = (close < indicator4)
// Conditions pour 5 Cloture en dessous de Bollinger down
c10=SUMMATION[5](c8)=5
//Le processus se met à zéro si on cloture à nouveau au dessus de Boll Down
if close>indicator4 then
lastsig2=0
endif
//Ce Code trace tous les Swing High et Low ce qui nous montre des points d'entrée et Stop si toutes les conditions sont reunies, il faut juste que je rafine les traçages
PivotBAR = 1 //1 bars AFTER pivot
LookBack = 1 //1 bars BEFORE pivot
BarLookBack = PivotBAR + 1
atr=averagetruerange[14]
IF low[PivotBAR] < lowest[LookBack](low)[BarLookBack] THEN
IF low[PivotBAR] = lowest[BarLookBack](low) THEN
MySupport = BarIndex - PivotBAR
SupportPrice = low[PivotBAR]
ENDIF
ENDIF
IF high[PivotBAR] > highest[LookBack](high)[BarLookBack] THEN
IF high[PivotBAR] = highest[BarLookBack](high) THEN
MyResistance = BarIndex - PivotBAR
ResistancePrice = high[PivotBAR]//high[BarIndex - MyResistance]
ENDIF
ENDIF
DRAWSEGMENT(MyResistance,ResistancePrice,BarIndex,ResistancePrice) COLOURED(255,0,0,255)
DRAWSEGMENT(MySupport,SupportPrice,BarIndex,SupportPrice) COLOURED(0,128,0,255)
//Tracer Flèche vers le haut si le prix croise vers le haut le dernier swing High qui se forme apres 5 clôtures au dessus des BB haut, ca peut être pendant les 5 ou plus bougies, on peut avoir 5 bougies mais sans un swing high donc il faut attendre la formation du swing et sa cassure sans que le processus ne se remet à zéro
c1 = (high >= ResistancePrice)
IF c9 then
if c1 and ResistancePrice<>lastsig3 then
drawarrowup(barindex,low-atr/2) coloured(100,10,200)
lastsig3=ResistancePrice
endif
ENDIF
return
je Vous remercie pour votre réponse rapide, juste si vous pouvez voir la photo jointe avec les info bulles.
je voudrais juste avoir un signal une fois les conditions reunies et apres avoir un autre une fois le processus est remis à zero et non pas juste 5 clotures au dessus des BB.
Merci
Je me permets de rajouter cette photo afin de mieux m’expliquer
J’ai pu aussi grace à l’aide de Nicolas rajouter les lignes de 50 à 57 pour les SHORT
Mais il me reste encore du chemin, voici le code
DEFPARAM CalculateOnLastBars = 1000
// Conditions pour Close > Bollinger UP
indicator3 = Average[20](close)+0.382*std[20](close)
c7 = (close > indicator3)
// Conditions pour 5 Cloture au dessus de Bollinger Up
c9=SUMMATION[5](c7)=5
//Le processus se met à zéro si on cloture à nouveau sous Boll Up
if close<indicator3 then
lastsig=0
endif
// Conditions pour Close < Bollinger Down
indicator4 = Average[20](close)-0.382*std[20](close)
c8 = (close < indicator4)
// Conditions pour 5 Cloture en dessous de Bollinger down
c10=SUMMATION[5](c8)=5
//Le processus se met à zéro si on cloture à nouveau au dessus de Boll Down
if close>indicator4 then
lastsig2=0
endif
//Ce Code trace tous les Swing High et Low ce qui nous montre des points d'entrée et Stop si toutes les conditions sont reunies, il faut juste que je rafine les traçages
PivotBAR = 1 //1 bars AFTER pivot
LookBack = 1 //1 bars BEFORE pivot
BarLookBack = PivotBAR + 1
atr=averagetruerange[14]
IF low[PivotBAR] < lowest[LookBack](low)[BarLookBack] THEN
IF low[PivotBAR] = lowest[BarLookBack](low) THEN
MySupport = BarIndex - PivotBAR
SupportPrice = low[PivotBAR]
ENDIF
ENDIF
IF high[PivotBAR] > highest[LookBack](high)[BarLookBack] THEN
IF high[PivotBAR] = highest[BarLookBack](high) THEN
MyResistance = BarIndex - PivotBAR
ResistancePrice = high[PivotBAR]//high[BarIndex - MyResistance]
ENDIF
ENDIF
DRAWSEGMENT(MyResistance,ResistancePrice,BarIndex,ResistancePrice) COLOURED(255,0,0,255)
DRAWSEGMENT(MySupport,SupportPrice,BarIndex,SupportPrice) COLOURED(0,128,0,255)
//Tracer Flèche vers le haut si le prix croise vers le haut le dernier swing High qui se forme apres 5 clôtures au dessus des BB haut, ca peut être pendant les 5 ou plus bougies, on peut avoir 5 bougies mais sans un swing high donc il faut attendre la formation du swing et sa cassure sans que le processus ne se remet à zéro
//Flèche pour Bullish
c1 = (high >= ResistancePrice)
IF c9 then
if c1 and ResistancePrice<>lastsig3 then
drawarrowup(barindex,low-atr/2) coloured(100,10,200)
lastsig3=ResistancePrice
endif
ENDIF
//Flèche pour Bearish
c2 = (low =< SupportPrice)
IF c10 then
if c2 and SupportPrice<>lastsig4 then
drawarrowdown(barindex,high+atr/2) coloured(255,0,0)
lastsig4=SupportPrice
endif
ENDIF
return