Backtests timeframe multiple avec TrendDecoder

Viewing 15 posts - 16 through 30 (of 42 total)
  • Author
    Posts
  • #195293 quote
    Pensera
    Participant
    Junior

    Bonjour,
    pour compléter le post ci-dessus : si je lance indépendamment en 5mn ou en 15mn le 5 et le 15mn fonctionne
    c’est le multiframe qui ne fonctionne pas.
    cdt
    Arnaud

    #195322 quote
    Pensera
    Participant
    Junior

    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
    Arnaud

    // Définition des paramètres du code
    DEFPARAM CumulateOrders = False // Cumul des positions désactivé
    
    // Conditions pour ouvrir une position acheteuse
    
    Timeframe (15mn, updateonclose)
    Signal15 = CALL "TrendDecoder_datas"(close)
    trendlong15=signal15=1
    trendshort15 = signal15=-1
    if signal15=1  then //signal haussier
    trendlong15 = 1 //tendance haussière
    elsif signal15=-1 then//signal baissier
    trendShort15 = -1//tendance baissière
    endif
    
    Timeframe (5mn, updateonclose)
    Signal5 = CALL "TrendDecoder_datas"(close)
    trendlong5=signal5=1
    trendshort5 = signal5=-1
    if signal5=1  then //signal haussier
    trendlong5 = 1 //tendance haussière
    elsif signal5=-1 then//signal baissier
    trendShort5 = -1//tendance baissière
    endif
    
    Timeframe (1mn, updateonclose)
    Signal1 = CALL "TrendDecoder_datas"(close)
    trendlong1=signal1=1
    trendshort1 = signal1=-1
    
    if signal1=1  then //signal haussier
    trendlong1 = 1 //tendance haussière
    elsif signal1=-1 then//signal baissier
    trendShort1 = -1//tendance baissière
    endif
    Timeframe (default)
    IF trendlong1 and trendlong5 and trendlong15 THEN
    BUY 1 SHARES AT MARKET
    ENDIF
    if longonmarket and trendShort5 then
    sell at market
    endif
    
    
    // Conditions pour ouvrir une position en vente à découvert
    
    
    IF trendshort1 and trendshort5 and trendshort15 THEN
    SELLSHORT 1 SHARES AT MARKET
    ENDIF
    
    
    
    
    if shortonmarket and trendLong5 then
    exitshort at market
    endif
    
    graph 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"
    Multiframe-error2.png Multiframe-error2.png
    #195326 quote
    Meta Signals Pro
    Participant
    Veteran

    Hello 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 ?

    Pensera thanked this post
    #195335 quote
    Pensera
    Participant
    Junior

    Chris

    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…

    #195340 quote
    Pensera
    Participant
    Junior

    Ah et défaut j’ai testé aussi…1 mn était le « par défaut » puisque l’excellent « trade manager » de meta signals pro y est associé dans le code global

    #195342 quote
    Pensera
    Participant
    Junior

    Et Créer un indicateur de l’indicateur et en faire un call à la place ?

    pour voir…ça alourdi mais si ça fonctionne

    #195349 quote
    Pensera
    Participant
    Junior

    Toujours pas…

    Y a t’il moyen de lui dire que si le signal s’est déclenché qu’il le mémorise? (Le signal = + 1) ne peut pas se déclencher en même temps sur les 3 UT…

    Donc qu’il mémorise le dernier signal…

    MERCI !
    Arnaud

    #195371 quote
    Pensera
    Participant
    Junior

    Bonjour à tous !

    c’est bizarre quoique je fasse il ne me GRAPH que le 1mn!

    et si je créé indépendamment chaque unité tout est ok

    je suis réellement bloqué !

    dois je remonter mon souci à Prorealtime ?

    merci

    Arnaud

    #195372 quote
    Pensera
    Participant
    Junior

    PS : je n’ai pas testé sous PRT12

    #195391 quote
    Nicolas
    Keymaster
    Master

    En utilisant ces lignes en GRAPH, tu pourras identifier les signaux renvoyés par cet indicateur datas:

    graph 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:

    // Définition des paramètres du code
    DEFPARAM 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ée
    noEntryBeforeTime = 080000
    timeEnterBefore = 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ée
    noEntryAfterTime = 220000
    timeEnterAfter = time < noEntryAfterTime
     
    // Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiés
    daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
    
    contractsize = 1
    
    Timeframe (15mn, updateonclose)
    Signal15 = CALL "TrendDecoder_datas"(close)
    if signal15=1  then //signal haussier
    trend15 = 1 //tendance haussière
    elsif signal15=-1 then//signal baissier
    trend15 = -1//tendance baissière
    endif
    
    Timeframe (5mn, updateonclose)
    Signal5 = CALL "TrendDecoder_datas"(close)
    if signal5=1  then //signal haussier
    trend5 = 1 //tendance haussière
    elsif signal5=-1 then//signal baissier
    trend5 = -1//tendance baissière
    endif
    
    Timeframe (1mn, updateonclose)
    Signal1 = CALL "TrendDecoder_datas"(close)
    if signal1=1  then //signal haussier
    trend1 = 1 //tendance haussière
    elsif signal1=-1 then//signal baissier
    trend1 = -1//tendance baissière
    endif
    
    OrderTypelong = not longonmarket and   Trend1>0 and Trend5>0 and Trend15>0 and timeEnterAfter AND  not daysForbiddenEntry
    
    OrderTypeshort =  not shortonmarket  AND Trend1<0 and Trend5<0 and Trend15<0 and timeEnterAfter and  not daysForbiddenEntry
    
    if longonmarket and trend5=-1 then
    sell at market
    endif
    if shortonmarket and trend5=1 then
    exitshort at market
    endif
    
    if OrderTypelong then //market BUY
    buy contractsize contract at market
    endif
    if OrderTypeshort then //market SELLSHORT
    sellshort contractsize contract at market
    endif
    /*
    graph signal15 coloured("red")
    graph signal5  coloured("pink")
    graph signal1 coloured("yellow")*/
    
    graph trend1 coloured("red")
    graph trend5  coloured("pink")
    graph trend15 coloured("yellow")
    
    
    Meta Signals Pro thanked this post
    #195406 quote
    Pensera
    Participant
    Junior

    Nicolas 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

    #195453 quote
    Pensera
    Participant
    Junior

    Bonsoir 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
    Arnaud

    Multiframe-error3.png Multiframe-error3.png Multiframe-error4.png Multiframe-error4.png
    #195463 quote
    Pensera
    Participant
    Junior

    je l’ai refait sur 100 000 unités et au final maintenant c’est le 1mn et une seule et unique fois le 15mn qui se déclenche et le 5mn ne fonctionne pas.

    C’est fou sans rien changer…

    Multiframe-error5.png Multiframe-error5.png
    #195465 quote
    Pensera
    Participant
    Junior

    j’ai quitté PRT et je l’ai relancé…résultat pour le même backtest que plus haut…sauf sur 10000 unités seulement

    Multiframe-error6.png Multiframe-error6.png
    #195495 quote
    Pensera
    Participant
    Junior

    j’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

Viewing 15 posts - 16 through 30 (of 42 total)
  • You must be logged in to reply to this topic.

Backtests timeframe multiple avec TrendDecoder


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
Pensera @pensera Participant
Summary

This topic contains 41 replies,
has 5 voices, and was last updated by Meta Signals Pro
3 years, 3 months ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 05/23/2022
Status: Active
Attachments: 9 files
Logo Logo
Loading...