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.
-
-
05/23/2022 at 10:12 PM #193738
Bonjour j’ai un souci de backtest avec ce super indicateur…
le problème est que j’essaye de le backtester dans les conditions de 3 UT et le signal +1 correspond à la flèche qui démarre le trend haussier puis la ligne de trend haussier passe en signal 0…et idem en trend baissier flèche baissière signal=-1 puis le trend baissier est signal =0
donc pour backtester en 3 UT il faut réussir à dire dans l’ut principale +1 ça c’est facile mais l’ut inférieure et l’ut supérieure ne sont pas à +1 mais soit à 0 (trend haussier ou baissier) soit en box 2 ou -2 etc(box haussière ou baissière)
l’idée serait de pouvoir dire ut 5mn le signal= 1 et qu’il compte sur l’ut 1 heure (ut supérieure) s’il y a eu un signal 1 Idem pour l’ut 15mn
vous allez me dire c’est facile prend le 5mn signal 1
et en time frame 15mn dit close [3] pour le 1 heure close [12] mais non ça ne peut pas marcher le signal 1 n’est pas forcément là à ce même instant
donc j’aurais besoin d’une boucle qui cherche le signal 1 en arrière tout en éliminant le signal -1 (demarrage de trend baissier) et le signal -2 (box de retournement) et -3 ligne de tendance baissière
que ça ne s’active que si dans le « passé « des ut supérieures c’était 1 ou 2 ou 3 et que ça ne valide pas s’il y avait un -1 -2 ou -3
Désolé pour ceux qui n’ont pas ce super indicateur ça peut paraître compliqué mais c’est très simple…
le problème est exactement le même pour d’autres indicateurs
De même je ne suis pas sûr que le screener posté plus haut fonctionne le signal ne peut pas être à 3 dans 3 ut en même temps donc il en ressort zéro trade…zéro valeur a trader
lorsque le signal est 3 c’est une seule fois pas pendant toute la durée ou la ligne de support est haussière donc impossible que le signal 3 apparaisse en même temps sur les 3 UT
je posterai un graphique avec les signaux à mon retour de vacances
D’avance merci
Arnaud
ps : merci kris pour le lien
05/24/2022 at 7:01 AM #19374405/29/2022 at 9:52 PM #194149bonsoir,
voilà l’image
le signal 1 par exemple ne peut pas être 1 sur les autres UT
hors c’est tout l’intérêt d’un système quel qu’il soit de travailler sur 3 UT pour confirmer la tendance et rester ou en sortir rapidement
il y a un moyen j’en suis sûr.
Merci pour votre aide
cdt
Arnaud
05/29/2022 at 11:58 PM #194163pour rappel :
la question est valable pour la majorité des indicateurs ProrealMarket ou autres…
dès que l’on veut programmer sur 3 UT
Étant donné que l’on ne peut faire appel à la ligne de trend il n’est possible que d’appeler le signal
hors le signal =1 par exemple ne peut pas se déclencher en même temps sur 3ut ce qui est logique
donc comment réussir à y faire appel ou faire vérifier que le signal =1 c’est déclenché auparavant…
//signalType details:
// 1 = new bullish trend detected (from red to blue cloud)
// -1 = new bearish trend detected (from blue to red cloud)
// 2 = grey box during bullish trend
// -2 = grey box during bearish trend
// 3 = red trend line breakout
// -3 = blue trend line breakout05/30/2022 at 12:19 PM #194182et bien par exemple on mémorise son état lors de l’événement “signal” :
12345if signal = 1 then //signal haussiertrend = 1 //tendance haussièreelsif signal = -1 then //signal baissiertrend = -1 //tendance baissièreendifainsi avec la variable “trend” tu peux savoir dans quel type de tendance tu te trouves actuellement.
05/30/2022 at 4:31 PM #19420605/31/2022 at 3:16 PM #194304@Pensera merci de ta question et désolé du délai et du coup @Nicolas merci de ta réponse ;et je créer cette variable pour chaque UT
oui mais attention, il faudra bien lui donner des noms différents pour chaque UT; c’est un très bon principe en matière de MTF pour un même signal;-)
timeframe(5 minutes,updateonclose)
Trend1 = CALL “TrendDecoder_datas”(close)
endiftimeframe(15 minutes,updateonclose)
Trend2 = CALL “TrendDecoder_datas”(close)
endif
…Bien à toi,
Chris
05/31/2022 at 4:17 PM #19431506/11/2022 at 9:50 AM #195126Bonjour à tous,
il ne me prend que des long ! une idée?
Je l’avais bien codé et au final en voulant tout réécrire plus proprement je n’y arrive plus…
Je n’ai collé qu’une partie du code…car je revérifie à part chaque indicateur appelé ou créée pour vraiment nettoyer mon programme et tout revérifier.
Mais celui-ci me pose problème…D’avance merci pour votre aide…
j’y passe mes soirées ou mes nuits…donc je n’ai peut-être plus les yeux en face des trous…
J’ai des quantités de variables en dehors de çà…Bon week-end
Arnaud123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132// 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 = 0//TRENDDECODER//signalType TRENDDECODER details:// 1 = new bullish trend detected (from red to blue cloud)// -1 = new bearish trend detected (from blue to red cloud)// 2 = grey box during bullish trend// -2 = grey box during bearish trend// 3 = red trend line breakout// -3 = blue trend line breakout**********************************************************************************************************************timeframe (15mn, updateonclose)Long15 = CALL "TrendDecoder_datas"(close)TrendlongMn15 = (Long15 = 1)TrendshortMn15 = (Long15 = -1)BoxlongMn15 = (Long15 = 2)BoxshortMn15 = (Long15 = -2)BreackoutlongMn15 = (Long15 = 3)BreackoutshortMn15 = (Long15 = -3)if Long15 = 1 then //signal haussiertrendLong15 = 1 //tendance haussièreelsif Long15 =-1 then //signal baissiertrendLong15 = 0 //tendance baissièreendifShort15 = CALL "TrendDecoder_datas"(close)TrendlongMn015 = (Short15 = 1)TrendshortMn015 = (Short15 = -1)BoxlongMn015 = (Short15 = 2)BoxshortMn015 = (Short15 = -2)BreackoutlongMn015 = (Short15 = 3)BreackoutshortMn015 = (Short15 = -3)if Short15 = -1 then //signal baissierTrendShort15 = 1 //tendance baissièreelsif Short15 =1 then //signal haussierTrendShort15 = 0 //tendance haussièreendif**********************************************************************************************************************Timeframe (5mn, updateonclose)Long5 = CALL "TrendDecoder_datas"(close)Trendlong5Mn = (Long5 = 1)Trendshort5Mn = (Long5 = -1)Boxlong5Mn = (Long5 = 2)Boxshort5Mn = (Long5 = -2)Breackoutlong5Mn = (Long5 = 3)Breackoutshort5Mn = (Long5 = -3)if Long5 = 1 then //signal haussiertrendLong5 = 1 //tendance haussièreelsif Long5 = -1 then //signal baissiertrendLong5 = 0 //tendance baissièreendifShort5 = CALL "TrendDecoder_datas"(close)TrendlongMn05 = (Short5 = 1)TrendshortMn05 = (Short5 = -1)BoxlongMn05 = (Short5 = 2)BoxshortMn05 = (Short5 = -2)BreackoutlongMn05 = (Short5 = 3)BreackoutshortMn05 = (Short5 = -3)if Short5 = -1 then //signal baissiertrendShort5 = 1 //tendance baissièreelsif Short5 = 1 then //signal haussiertrendShort5 = 0 //tendance haussièreendif**********************************************************************************************************************Timeframe (1mn, updateonclose)Long1 = CALL "TrendDecoder_datas"(close)TrendlongMn0 = (Long1 = 1)TrendshortMn0 = (Long1 = -1)BoxlongMn0 = (Long1 = 2)BoxshortMn0 = (Long1 = -2)BreackoutlongMn0 = (Long1 = 3)BreackoutshortMn0 = (Long1 = -3)if Long1 = 1 then //signal haussiertrendLong1 = 1 //tendance haussièreelsif Long1 = -1 then //signal baissiertrendLong1 = 0 //tendance baissièreendifShort1 = CALL "TrendDecoder_datas"(close)TrendlongMn01 = (Short1 = 1)TrendshortMn01 = (Short1 = -1)BoxlongMn01 = (Short1 = 2)BoxshortMn01 = (Short1 = -2)BreackoutlongMn01 = (Short1 = 3)BreackoutshortMn01 = (Short1 = -3)if Short1 = -1 then //signal baissiertrendShort01 = 1 //tendance baissièreelsif Short1 = 1 then //signal haussiertrendShort01 = 0 //tendance haussièreendif**********************************************************************************************************************OrderTypelong = not longonmarket and TrendLong1=1 and trendLong5=1 and trendLong15=1 and timeEnterAfter AND not daysForbiddenEntryOrderTypeshort = not shortonmarket AND trendShort01=1 AND trendShort5=1 and trendShort15=1 and timeEnterAfter and not daysForbiddenEntry**********************************************************************************************************************if longonmarket and trendShort5=1 thensell at marketendifif shortonmarket and trendLong5=1 thenexitshort at marketendif06/11/2022 at 10:02 AM #19512706/12/2022 at 10:03 AM #195153Bonjour,
Toujours pas, soit il ne me prend que des longs soit en triturant que des short…
décidément je suis nul…j’ai tout oublié en programmation depuis 10 ans…
y’a juste mon trading manuel qui est encore correct.à bientôt et d’avance merci à celui ou celle qui réussira à éclairer ma lanterne
Arnaud
06/12/2022 at 4:59 PM #19516706/13/2022 at 8:32 AM #19518206/13/2022 at 9:10 AM #19518906/14/2022 at 6:55 PM #195280AU FINAL…j’ai ré écrit d’une autre façon et c’est toujours le même soucis
le 1 mn fonctionne, le 5mn jamais, et le 15mn 1 fois en long…ci-dessous le bout du code et le Graphique (GRAPH vert long1mn GRAPH magenta Short1mn GRAPH noir Long15mn se déclenche 1 fois…et bizarrement les autres toujours à 0)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647Timeframe (15mn, updateonclose)Signal15 = CALL "TrendDecoder_datas"(close)trendlong15=(signal15=1)trendshort15 = (signal15=-1)if 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=1)trendshort5 = (signal5=-1)if 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=1)trendshort1 = (signal1=-1)if signal1=1 then //signal haussiertrendlong1 = 1 //tendance haussièreelsif signal1=-1 then//signal baissiertrendShort1 = -1//tendance baissièreendifOrderTypelong = not longonmarket and TrendLong1 and trendLong5 and trendLong15 and timeEnterAfter AND not daysForbiddenEntryOrderTypeshort = not shortonmarket AND trendShort1 and trendShort5 and trendShort15 and timeEnterAfter and not daysForbiddenEntryif longonmarket and trendShort5 thensell at marketendifif shortonmarket and trendLong5 thenexitshort at marketendifif OrderTypelong then //market BUYbuy contractsize contract at marketendifif OrderTypeshort then //market SELLSHORTsellshort contractsize contract at marketendif:
-
AuthorPosts
Find exclusive trading pro-tools on