Création signal avec conditions qui peuvent ne pas se déclencher au même instant
Forums › ProRealTime forum Français › Support ProBuilder › Création signal avec conditions qui peuvent ne pas se déclencher au même instant
- This topic has 22 replies, 5 voices, and was last updated 4 years ago by Nicolas.
Tagged: drawarrowdown, drawarrowup, drawsegment, style
-
-
06/16/2017 at 4:30 PM #3846406/18/2017 at 4:55 PM #38557
Bonjour
cela me donne une erreur car il me demande la fonction buy stop mais je ne désire pas créer un système automatique mais juste un signal en histogramme afin de choisir d’entrer manuellement.
la c’est le début du code pour un système automatique ?
01/26/2020 at 7:42 PM #117950Bonsoir,
Je déterre ce sujet (Je précise que je débute et que j’ai bien effectué la formation avancée… plusieurs fois même… mais apparemment ce n’est pas suffisant !).
Voici ce que je souhaite faire :
Lorsque mes 2 MM sont orientées et que le RSI consolide, j’aimerai que mon indicateur se mette en veille, c’est le SIGNAL (= Flèche verte sur la PJ)
Si 10 bougies plus tard (10 bougies après ce signal), les cours cassent la clôture de la bougie de SIGNAL alors c’est la CONFIRMATION (= Flèche bleu sur la PJ)
Si 10 bougies après le signal il ne se passe rien… alors j’aimerai que mon indicateur se remette à 0.
Je pense que je ne suis pas loin mais que je me mélange les pinceaux… (Cf Photo 2)
1234567891011121314151617181920MM1 = exponentialaverage[50](close)MM2 = exponentialaverage[20](close)MyRSI = RSI[8](close)//SIGNAL 1 Enregistrement des variablesif MM2>MM1 and MyRSI crosses under 35 thenCA1 = 1CA1open = openDrawarrowup(barindex,low-5*pointsize)coloured(0,255,0)//Drawsegment(CA1,CA1open,barindex,close)ENDIF//CONFIRMATION DU SIGNALFor a=0 to a=10 doIf CA1=1 and close crosses over CA1open thenDrawarrowup(barindex,low-5*pointsize)coloured(0,0,255)endifnextreturnIdéalement j’aimerai tracer un segment depuis le close du SIGNAL jusqu’à 10 bougies (Un segment qui reste fixe)
Merci de votre aide, car cela me bloque je pourrai ensuite me débrouiller (Changer le SIGNAL, la durée de CONFIRMATION, rajouter une troisième CONFIRMATION… etc… etc…)
01/27/2020 at 11:19 AM #118004Pas besoin de faire une boucle, tu peux faire une différence entre le BARINDEX courant et celui qui a vu le moment de la consolidation et si c’est inférieure à 10 bougies, alors tu autorises à la fois le traçage du segment et le signal de breakout potentiel.
Si tu n’es pas encore en V11, il faudra supprimer le STYLE du segment, ça ne fonctionne pas en version inférieure.
12345678910111213141516171819202122MM1 = exponentialaverage[50](close)MM2 = exponentialaverage[20](close)MyRSI = RSI[8](close)//SIGNAL 1 Enregistrement des variablesif MM2>MM1 and MyRSI crosses under 35 thenCA1open = openDrawarrowup(barindex,low-5*pointsize)coloured(0,255,0)startbar = barindexENDIF//tracage du segmentif barindex-startbar<=10 thendrawsegment(startbar,CA1open,barindex,CA1open) style(dottedline,3) //segment//CONFIRMATION DU SIGNALIf close crosses over CA1open thenDrawarrowup(barindex,low-5*pointsize)coloured(0,0,255)endifendifreturn01/30/2020 at 9:12 AM #118242Nicolas je te remercie de ta réponse, par contre je ne comprends pas la priorité des signaux.
Mon signal est un croisement (Cf ci-dessous) … mais en fait peu importe le signal.
Ce que j’aimerai c’est que mon indicateur affiche 1 SIGNAL VERT (1 seul) puis 1 SIGNAL ROUGE (1 seul) cad qu’1 signal haussier soit systématiquement suivi par 1 signal baissier.
Autrement dit que mon indicateur alterne VERT / ROUGE exclusivement.
J’ai effectué ce que tu m’as dit mais cela ne fonctionne pas.
123456789101112131415161718MM1 = average[200](close)IF summation[100](close<MM1)>95 and close crosses over MM1 THENCA1=1Drawarrowup(barindex,low)coloured(0,255,0)Drawarrowup(barindex,low-1*pipsize)coloured(0,255,0)Drawarrowup(barindex,low-2*pipsize)coloured(0,255,0)Indicateur = 1ENDIFIF CA1=1 and summation[100](close>MM1)>95 and close crosses under MM1 THENDrawarrowdown(barindex,high)coloured(255,0,0)Drawarrowdown(barindex,high+1*pipsize)coloured(255,0,0)Drawarrowdown(barindex,high+2*pipsize)coloured(255,0,0)Indicateur = -1endifreturn indicateurMerci de ta réponse
01/30/2020 at 9:52 AM #118252Dans ton code, tu utilises la variable CA1 pour indiquer l’état du signal actuel, mais tu t’en sers uniquement pour les flèches rouges, pourquoi pas pour les vertes ?
En gros, si c’est rouge CA1=-1, alors on fait vert, et si c’est vert CA1=1, alors on fait rouge.
Donc:
12345678910111213141516171819MM1 = average[200](close)IF CA1=-1 and summation[100](close<MM1)>95 and close crosses over MM1 THENCA1=1Drawarrowup(barindex,low)coloured(0,255,0)Drawarrowup(barindex,low-1*pipsize)coloured(0,255,0)Drawarrowup(barindex,low-2*pipsize)coloured(0,255,0)Indicateur = 1ENDIFIF CA1=1 and summation[100](close>MM1)>95 and close crosses under MM1 THENCA1=-1Drawarrowdown(barindex,high)coloured(255,0,0)Drawarrowdown(barindex,high+1*pipsize)coloured(255,0,0)Drawarrowdown(barindex,high+2*pipsize)coloured(255,0,0)Indicateur = -1endifreturn indicateur(non testé). On aurait aussi pu utiliser la variable ‘indicateur’, m’en rends compte après édition 🙄
01/30/2020 at 4:07 PM #11828201/30/2020 at 4:56 PM #118285En effet, donc tu pourrais changer le code en intégrant cette remarque ? 😉
Sinon tu peux recopier :
12345678910111213141516171819MM1 = average[200](close)IF CA1<=0 and summation[100](close<MM1)>95 and close crosses over MM1 THENCA1=1Drawarrowup(barindex,low)coloured(0,255,0)Drawarrowup(barindex,low-1*pipsize)coloured(0,255,0)Drawarrowup(barindex,low-2*pipsize)coloured(0,255,0)Indicateur = 1ENDIFIF CA1>=0 and summation[100](close>MM1)>95 and close crosses under MM1 THENCA1=-1Drawarrowdown(barindex,high)coloured(255,0,0)Drawarrowdown(barindex,high+1*pipsize)coloured(255,0,0)Drawarrowdown(barindex,high+2*pipsize)coloured(255,0,0)Indicateur = -1endifreturn indicateur -
AuthorPosts
Find exclusive trading pro-tools on