Backtests timeframe multiple avec TrendDecoder
Forums › ProRealTime forum Français › Support ProOrder › Backtests timeframe multiple avec TrendDecoder
- This topic has 41 replies, 5 voices, and was last updated 2 years ago by Meta Signals Pro.
-
-
06/15/2022 at 7:27 AM #19529306/15/2022 at 12:29 PM #195322
AU secours…
je n’y arrive vraiment pas , indépendamment tout marche et dès que je met les 3 timeframes zéro prises et au niveau du signal que du 1 mn !!!
qu’est ce que j’ai mal fait?merci
Arnaud12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364// Définition des paramètres du codeDEFPARAM CumulateOrders = False // Cumul des positions désactivé// Conditions pour ouvrir une position acheteuseTimeframe (15mn, updateonclose)Signal15 = CALL "TrendDecoder_datas"(close)trendlong15=signal15=1trendshort15 = signal15=-1if signal15=1 then //signal haussiertrendlong15 = 1 //tendance haussièreelsif signal15=-1 then//signal baissiertrendShort15 = -1//tendance baissièreendifTimeframe (5mn, updateonclose)Signal5 = CALL "TrendDecoder_datas"(close)trendlong5=signal5=1trendshort5 = signal5=-1if signal5=1 then //signal haussiertrendlong5 = 1 //tendance haussièreelsif signal5=-1 then//signal baissiertrendShort5 = -1//tendance baissièreendifTimeframe (1mn, updateonclose)Signal1 = CALL "TrendDecoder_datas"(close)trendlong1=signal1=1trendshort1 = signal1=-1if signal1=1 then //signal haussiertrendlong1 = 1 //tendance haussièreelsif signal1=-1 then//signal baissiertrendShort1 = -1//tendance baissièreendifTimeframe (default)IF trendlong1 and trendlong5 and trendlong15 THENBUY 1 SHARES AT MARKETENDIFif longonmarket and trendShort5 thensell at marketendif// Conditions pour ouvrir une position en vente à découvertIF trendshort1 and trendshort5 and trendshort15 THENSELLSHORT 1 SHARES AT MARKETENDIFif shortonmarket and trendLong5 thenexitshort at marketendifgraph trendShort1 COLOURED(0,0,255) AS "short1mn"graph trendLong1 COLOURED(0,255,255) AS "Long1mn"graph trendShort5 COLOURED(0,0,255) AS "short5mn"graph trendLong5 COLOURED(0,255,255) AS "Long5mn"graph trendShort15 COLOURED(0,0,255) AS "short15mn"graph trendLong15 COLOURED(0,255,255) AS "Long15mn"06/15/2022 at 1:49 PM #195326Hello Arnaud,
Désolé de ce retour tardif et merci à @Nicolas pour l’aide ;
Sur quel Timeframe lances-tu l’algo du coup si tu as un timeframe en 1mn et un autre en « default » ?
Pour les debugs tu peux toujours isoler les longs puis les shorts pour voir si cela marche de façon indépendante ; qu’est ce que cela donne ?
Quid d’essayer sur 2 TF ?
1 user thanked author for this post.
06/15/2022 at 4:00 PM #195335Chris
j’ai tout essayé que des longs puis que des shorts puis que 2 TF
puis je les lances tous sur du 1mn (avec fenêtre 1, 5 et 15mn ouvertes et assez d’unité)
j’ai testé avec un preloaded bar etc…
il fonctionne uniquement indépendamment mais pas en timeframe
c’est le seul bug de toutes mes autres constructions et indicateurs…
06/15/2022 at 4:04 PM #19534006/15/2022 at 4:27 PM #19534206/15/2022 at 7:11 PM #19534906/16/2022 at 7:32 AM #19537106/16/2022 at 7:33 AM #19537206/16/2022 at 10:01 AM #195391En utilisant ces lignes en GRAPH, tu pourras identifier les signaux renvoyés par cet indicateur datas:
123graph signal15 coloured("red")graph signal5 coloured("pink")graph signal1 coloured("yellow")Je pense que tu t’emmèles les pinceaux dans les définitions des tendances, que tu déclares 2 fois ? Bref, j’ai corrigé ton code et ça devrait fonctionner je pense:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970// Définition des paramètres du codeDEFPARAM CumulateOrders = False // Cumul des positions désactivé//defparam preloadbars=15000// Annule tous les ordres en attente et ferme toutes les positions à 0:00, puis empêche toute création d'ordre avant l'heure "FLATBEFORE".DEFPARAM FLATBEFORE = 080000// Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"DEFPARAM FLATAFTER = 215900// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position avant l'heure spécifiéenoEntryBeforeTime = 080000timeEnterBefore = time >= noEntryBeforeTime// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position après l'heure spécifiéenoEntryAfterTime = 220000timeEnterAfter = time < noEntryAfterTime// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiésdaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0contractsize = 1Timeframe (15mn, updateonclose)Signal15 = CALL "TrendDecoder_datas"(close)if signal15=1 then //signal haussiertrend15 = 1 //tendance haussièreelsif signal15=-1 then//signal baissiertrend15 = -1//tendance baissièreendifTimeframe (5mn, updateonclose)Signal5 = CALL "TrendDecoder_datas"(close)if signal5=1 then //signal haussiertrend5 = 1 //tendance haussièreelsif signal5=-1 then//signal baissiertrend5 = -1//tendance baissièreendifTimeframe (1mn, updateonclose)Signal1 = CALL "TrendDecoder_datas"(close)if signal1=1 then //signal haussiertrend1 = 1 //tendance haussièreelsif signal1=-1 then//signal baissiertrend1 = -1//tendance baissièreendifOrderTypelong = not longonmarket and Trend1>0 and Trend5>0 and Trend15>0 and timeEnterAfter AND not daysForbiddenEntryOrderTypeshort = not shortonmarket AND Trend1<0 and Trend5<0 and Trend15<0 and timeEnterAfter and not daysForbiddenEntryif longonmarket and trend5=-1 thensell at marketendifif shortonmarket and trend5=1 thenexitshort at marketendifif OrderTypelong then //market BUYbuy contractsize contract at marketendifif OrderTypeshort then //market SELLSHORTsellshort contractsize contract at marketendif/*graph signal15 coloured("red")graph signal5 coloured("pink")graph signal1 coloured("yellow")*/graph trend1 coloured("red")graph trend5 coloured("pink")graph trend15 coloured("yellow")1 user thanked author for this post.
06/16/2022 at 11:22 AM #195406Nicolas merci je regarde ce soir
mais le code que tu as écrit je l’ai déjà testé et il n’y a que le 1mn qui fait signal
et dire > ou < le problème est que « signal » a +1 et -1 mais également +2 et -2 ainsi que +3 et -3
je remplacerait < ou > par = 1 ou =-1 non?
merci pour ton aide !
arnaud
06/16/2022 at 8:00 PM #195453Bonsoir Nicolas,
comme dit plus haut j’avais ré écrit le code tel que tu l’as posté (l’image multiframe error3 est celle de ton code et celle multiframe error4 est celle avec uniquement le 1 et 5mn et +1 et -1)
Résultat :
le 1 mn fonctionne parfaitement
le 5mn fonctionne UNE et UNE seule fois passant de -1 à +1 et reste bloqué à +1 tandis qu’il y a plein de signaux -1 et pour couronner le tout les sorties du 5mn se font sur le signal 1mn car le 5mn est toujours à 1 (rappel de la condition sortir sur le 5mn)
le 15mn est continuellement à zéro donc aucune prise (multiframe error4 est celle avec uniquement le 1 et 5mn et +1 et -1)insolvable pour l’instant, c’est le seul et l’unique indicateur qui me fait çà…
cdt
Arnaud06/16/2022 at 9:58 PM #19546306/16/2022 at 10:08 PM #19546506/17/2022 at 11:31 PM #195495j’y ai repassé la soirée, il y a un réel problème de multiframe…
pas seulement sur cet indicateur à partir du moment ou c’est +1 et -1 etc…çà ne fonctionne pas en multiframe
par contre ceux qui graphiquement ont une référence dans le code on peut dire
signal>signal[1] et çà fonctionne…où bien trend>close
sur trenddecoder non…vraiment dommage -
AuthorPosts
Find exclusive trading pro-tools on