boucle qui ne mémorise pas
Forums › ProRealTime forum Français › Support ProOrder › boucle qui ne mémorise pas
- This topic has 5 replies, 2 voices, and was last updated 1 year ago by JC_Bywan.
-
-
10/31/2023 at 12:32 AM #223063
bonjour, je veux utiliser le multi time frame
je détecte les croisements MM20 et MM50 Sur 1H , M15 et defaut (5min) => je met les signaux =1je veux que dans la boucle (default en 5 min) de 0 a 30 il détecte si il y a eu les croisement en 5 min et 15 min , si oui qu’il laisse la barre à 1 du début du 1er croisement jusqu’au 2em et la remette à 0 un fois détecter!
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748timeframe(1hours,updateonclose)mm1H20=average[20](close)mm1H50=average[50](close)if mm1H20 > mm1h50 thenM1H=1elseM1H=0endiftimeframe(15 minutes,updateonclose)mm20=average[20](close)mm50=average[50](close)if mm20 CROSSES OVER mm50 thenM15=1elsem15=0endiftimeframe(default)mmD20=average[20](close)mmD50=average[50](close)topp=0for x= 1 to 30 DOtopp=m15[x]+MD[x]if topp=1 thenbreakendifif topp=1 thencontinueendifif topp<1 thensignal=1elsesignal=0endifnextif mmD20 CROSSES OVER mmD50 thenMD=1elseMD=0endifreturn 0 as"0",-( M1H) as"1H", m15 as "m15" coloured(255,0,0),MD as "TimeDefault" coloured(0,0,250),-(topp) as "topp", signal as "signal"j’obtiens le résultat la (en image), je pense qui a un problème dans la détection et la fermeture de boucle.
Ma barre noir s’affiche en début de boucle si elle détecte un croisement 5min, mais je ne veux pas de signal si croisement seul.
Des avis ?
bleu =5min rouge=15min noir= signal de la boucle zone foncé = -(1H) pour negatif
10/31/2023 at 8:56 AM #223071J’aimerais bien aider, mais je ne comprends précisément ni le texte de la question, ni dans le code le but du test des topp:
Texte:
“si oui qu’il laisse la barre à 1 du début du 1er croisement jusqu’au 2em et la remette à 0 un fois détecter!”
==> Quelle barre? Aucune barre dans le graphe (style histogram), que des valeurs retournées par lignes, donc on suppose soit une erreur dans la dénomination barre (et la question deviendrait: quelle ligne?) ou bien une erreur dans l’image jointe (copie écran pré-transformation d’une variable de ligne en barre, mais laquelle?) ou bien c’est la requête de vouloir rajouter une variable en barre non encore présente dans le code?
==> “Juqu’au 2e” signifiant: on s’arrête à n’importe quel 2e croisement de n’importe quelle ut (sinon à préciser), et surtout ce 2e inclus ou pas?
Code:
double test identique de topp=1 en lignes 29 et 32 est bizarre, d’autant plus que si on break en ligne 30 on n’ira pas tester une 2e fois si topp=1 en ligne 32 (et même si on visitait les lignes 32-34, elles ne font rien d’autre que de passer à la suite). On imagine que l’un des 2 serait plutôt topp>1 ou topp=2, soit ça contribue à résoudre le problème au moins en partie, soit si rien à changer ça n’aide pas à comprendre le but du code car si topp=1 alors à la fois break et continue mais je ne vois pas le but de lui demander les 2 si le 2e n’est pas visité. Ceci dans le cas où il y ait besoin de la boucle, mais sans certitude au vu du texte de la requête.
10/31/2023 at 1:00 PM #223084En gros je veux détecter dans les 30 dernières bougie si il y a eu un croisement de la MM20 et MM50 en ut 5min et 15 min et arrêter la boucle ( comme sur limage joint), le signal sera sur l’histogramme à 1 durant la période des 2 détections. je ne sais pas si j’explique bien.
Je m’entraine surtout a coder les boucles car j’ai de grosse difficultés, je veux faire comme l’exemple de la boucle dans la formation avancé (avec le résultat à 30 https://www.prorealcode.com/chapter/boucle-de-decrementation/ a 13min), dans mon code j’ai mis le signal en négatif pour une lecture plus simple.
10/31/2023 at 1:48 PM #22308811/01/2023 at 11:56 PM #223130le but est de créer un signal qui identifie Dans les 5 dernières bougie si la MM7 crois la MM20 et la MM50, SI OUI je veux une seule flèche
ci joint une photo ( mm7 en vert, mm20 violet, mm50 bleu ) d’un exemple, je voudrais programmé que la deuxième flèche dessiné a la main.
merci de votre aide
11/02/2023 at 12:08 PM #223147Ok, plusieurs façons de faire sans se compliquer avec une boucle, par exemple:
12345678910111213mm7=average[7](close)mm20=average[20](close)mm50=average[50](close)cross7sur20recent= summation[5](mm7 crosses over mm20)=1cross7sur50recent= summation[5](mm7 crosses over mm50)=1les2cross= cross7sur20recent and cross7sur50recentif les2cross and not les2cross[1] thenDRAWARROWUP(barindex, low-2*pipsize) coloured(0,255,0)//fleche sur prixDRAWARROWUP(barindex, -0.5) coloured(0,255,0)//fleche sur histoendifreturn cross7sur20recent, -cross7sur50recent, les2cross style(histogram) -
AuthorPosts
Find exclusive trading pro-tools on