Indicateur dépassement BB
Forums › ProRealTime forum Français › Support ProBuilder › Indicateur dépassement BB
- This topic has 8 replies, 3 voices, and was last updated 7 years ago by kinyo.
-
-
06/22/2017 at 6:51 PM #38824
Bonjour, j’essaye de coder un indicateur qui affiche sur le graphe des prix une flêche lorsque le dernier chandelier en clôture dépasse la bande de bollinger haute (flêche verte) et en reverse sous la bande de bollinger basse (flêche rouge).
Comment modifier ce code pour n’afficher qu’une seule flêche au premier dépassement des BB (achat ou vente) et non pas plusieurs flêches à chaque dépassement des BB à l’achat ou à la vente ? En vous remerciant pour votre aide.123456789101112b=close>BollingerUp[20]s=close<BollingerDown[20]if b thendrawarrowup(barindex,lowest[3](low)) coloured(0,255,0)endifif s thendrawarrowdown(barindex,highest[3](high)) coloured(255,0,0)endifreturn b as "buy", s as "sell"06/22/2017 at 9:09 PM #38827Il faut utiliser CROSSES OVER et CROSSES UNDER plutôt que de vérifier en continu si le Close est supérieur à la bande haute ou inférieur à la bande basse.
Ces instructions servent à vérifier une condition de croisement entre 2 valeurs.
06/23/2017 at 10:14 AM #3887706/23/2017 at 11:40 AM #38886Nicolas, j’ai essayé de modifier mon indicateur en tenant compte de ton conseil mais j’obtiens (hélas) le même résultat qu’avec le code précédent. La première image jointe montre le défaut et la seconde le résultat souhaité. Si des fois t’avais une idée pour solutionner celà. Merci d’avance.
1234567891011121314151617181920b = close CROSSES OVER BollingerUp[20](close)s = close CROSSES UNDER BollingerDown[20](close)signal = 0if b THENsignal = 1drawarrowup(barindex,lowest[3](low)) coloured(0,255,0)ELSEsignal = 0ENDIFif s THENsignal = -1drawarrowdown(barindex,highest[3](high)) coloured(255,0,0)ELSEsignal = 0ENDIFRETURN (signal)06/23/2017 at 12:13 PM #38891Je comprends bien mieux ta demande maintenant, tu souhaites alterner les signaux. Dans ce cas il faut tester si le dernier signal est un signal contraire avant d’en lancer un nouveau (j’ai ajouté une nouvelle variable “lastsignal”):
12345678910111213141516171819202122b = close CROSSES OVER BollingerUp[20](close)s = close CROSSES UNDER BollingerDown[20](close)signal = 0if b and lastsignal<=0 THENsignal = 1drawarrowup(barindex,lowest[3](low)) coloured(0,255,0)lastsignal=1ELSEsignal = 0ENDIFif s and lastsignal>=0 THENsignal = -1drawarrowdown(barindex,highest[3](high)) coloured(255,0,0)lastsignal=-1ELSEsignal = 0ENDIFRETURN (signal)1 user thanked author for this post.
06/23/2017 at 2:33 PM #38909Bonjour Kynio
J’ai essayé avec : DefParam DrawOnLastBarOnly = true en début de code mais ça ne marche pas ?!
J’ai modifié ton code pour avoir des variables sur la periode et l’écart type : p et EC
BB CROSS UP and DOWN”
123456789101112131415161718192021222324252627282930med1 = Average[p](close)dst1 = STD[p](close)bes1 = med1 + (EC * dst1)/////////////////////////////////med = Average[p](close)dst = STD[p](close)bei = med - (EC * dst)/////////////////////////////////b = close CROSSES OVER bes1s = close CROSSES UNDER beisignal = 0if b THENsignal = 1drawarrowup(barindex,lowest[1](low)) coloured(0,255,0)ELSEsignal = 0ENDIFif s THENsignal = -1drawarrowdown(barindex,highest[1](high)) coloured(255,0,0)ELSEsignal = 0ENDIFRETURN customclose as " customclose " , signal as " signal ", bei as " bei " , bes1 as " bes1 "// Variables :// p = 20 entier// EC = 2 decimal06/23/2017 at 4:37 PM #3891206/23/2017 at 8:21 PM #3892706/24/2017 at 11:51 AM #38952 -
AuthorPosts
Find exclusive trading pro-tools on