Aiuto backtest

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #94929 quote
    R05
    Participant
    Veteran

    Gent.mi ho trovato il seguente trading system. Ho provato a fare il backtest sia in demo che in reale e ho avuto due risultati completamente differenti. Vi allego le schermate.

    Mi aiutate a capire?

    DEFPARAM FlatAfter   = 173000
    defparam cumulateorders= false
    defparam preloadbars = 30000
    OraInizio = 090000
    oralimite =173000
    tagliaposizione=1
    OraInizio1 = 090000
    d=2// vab= incrocio di B9  con A4
    
    s=3
    s2=6
    s4=14
    
    q=1
    q1=4
    q2=8
    
    mysupport=40
    mytarget=150
    if time=orainizio then
    p= close
    
    endif
    if close>p+d then
    k=1
    elsif close<p-d then
    k=-1
    else
    k=0
    endif
    
    
    if  longonmarket then
    massimo=highest[barindex-tradeindex](close)
    
    else
    massimo=0
    endif
    if massimo>positionprice+s*pointsize and massimo<positionprice+s2*pointsize then
    i=1
    elsif massimo>positionprice+s2*pointsize and massimo<positionprice+s4*pointsize  then
    i=2
    elsif massimo>positionprice+s4*pointsize then
    i=3
    else
    i=0
    endif
    
    if  shortonmarket then
    minimo=lowest[barindex-tradeindex](close)
    else
    minimo=0
    endif
    
    if minimo<positionprice-s*pointsize and minimo>positionprice-s2*pointsize  then
    i1=1
    elsif minimo<positionprice-s2*pointsize and minimo>positionprice-s4*pointsize  then
    i1=2
    elsif minimo<positionprice-s4*pointsize then
    i1=3
    else
    i1=0
    endif
    
    
    
    if time>orainizio1 and time<oralimite and k=-1  and not onmarket then
    buy tagliaposizione contract at p stop
    endif
    
    if  longonmarket and i=1 then
    sell at positionprice+q stop
    endif
    
    if longonmarket and i=2 then
    sell at positionprice+q1 stop
    endif
    
    if longonmarket and i=3 then
    sell at positionprice+q2 stop
    
    
    
    endif
    
    if time>orainizio1 and time<oralimite and k=1  and not onmarket then
    sellshort tagliaposizione contract at p stop
    endif
    if shortonmarket and i1=3 then
    exitshort at positionprice-q2 stop
    endif
    if shortonmarket and i1=2 then
    exitshort at positionprice-q1 stop
    endif
    if shortonmarket and i1=1 then
    exitshort at positionprice-q stop
    endif
    
    
    
    
    set target profit mytarget
    set stop loss mysupport
    
    Conto-demo.jpg Conto-demo.jpg conto-reale.jpg conto-reale.jpg
    #94940 quote
    robertogozzi
    Moderator
    Master

    Anch’io ottengo dati errati, non so se sul demo o sul reale (spero sul demo!).

    Ho anche provato a cambiare TF e strumento, ma sono sempre risultati diversi.

    Ho notato che le differenze di operazioni (circa il doppio sul Demo) sono quasi tutte tra quelle in Stop Loss di pochi euro.

    Non so spiegarmelo, la mia ipotesi è che vi siano ancora dei problemi nel supporto MTF (Multi Time Frame), in quanto sul conto Demo è attivo da vari mesi ed è tutt’ora in fase di beta test, mentre sul Reale non è attivo. Magari è ancora in beta test proprio perché ha ancora qualche problema di fuzionamento.

    Se non trovi spiegazioni puoi aprire un ticket d’assistenza premento CTRL+M dalla piattaforma.

    Demo.jpg Demo.jpg Reale.jpg Reale.jpg
    #94950 quote
    R05
    Participant
    Veteran

    Ok grazie. Comunque ho montato il sistema sul conto demo: oggi lo monitoro direttamente quando apre le posizioni così vedo come si comporta. Perchè credo, o almeno spero, che quando apre le posizioni direttamente non dovrebbero esserci differenze tra demo e reale. Spero che le differenze ci siano solo sul backtest.

    #94951 quote
    R05
    Participant
    Veteran

    Gent.mo Roberto dato che è un sistema che ho preso direttamente e dato che non riesco a capire il setup di entrata, siccome lo vorrei, a questo punto anche provare a mano a vedere se funziona, mi potresti aiutare a capire appunto il setup di entrata?

    Ho capito che va long se k=-1 e viceversa per lo short. Ma close<p-d dove p è lo stesso il close mi confonde un pò le idee.

    if time=orainizio then
    p= close
    
    endif
    if close>p+d then
    k=1
    elsif close<p-d then
    k=-1
    else
    k=0
    endif
    #94960 quote
    robertogozzi
    Moderator
    Master

    È probabilmente una buona strategia, ma scritta malissimo.

    Usa nomi cortissimi, tipo P, D, ecc… che sono difficili da riconoscere. È un modo di scrivere i programmi usato fino a circa metà anni ‘90, quando la memoria disponibile era poca e si tendeva a risparmiare spazio usando nomi corti. Oggi non c’è ragione di farlo.

    Ad ogni modo, P è il prezzo delle ore 9 e D è un numero di pips, quindi ad ogni candela successiva alle 9 confronta il prezzo corrente con quelli delle 9, +- 2 pips, settando la variabile K di conseguenza.

    #94967 quote
    R05
    Participant
    Veteran

    Ok grazie Roberto, gentilissimo. Come prima accennavo ho fatto partire la strategia in demo e purtroppo non coincide nulla. Chiarisco meglio.

    Alle 9:15 mi ha aperto una posizione short appena il prezzo ha rotto a ribasso il prezzo delle 9, come mi dicevi. Solo che tutt’ora è ancora in essere la posizione (allegato 1).

    Facendo il backtest in demo mi risultano 4 posizioni aperte (allegato demo).

    Facendo invece il backtest in reale mi risultano 2 posizioni aperte (allegato reale).

    A questo punto non so cosa pensare.

    1-1.jpg 1-1.jpg demo.jpg demo.jpg reale.jpg reale.jpg
    #94971 quote
    robertogozzi
    Moderator
    Master

    Generalmente è il reale che offre affidabilità. Il demo, anche per PRT, viene utilizzato per fare prove di nuove versioni, adesso oltre al supporto MTF stanno testando anche la nuova versione 11, quindi può darsi che ci siano problemi. Non so dirti di più.

    #94972 quote
    R05
    Participant
    Veteran

    Va bene grazie, gentilissimo. Nel caso farò altre prove e se avrò novità lo farò sapere.

    #94977 quote
    R05
    Participant
    Veteran

    Scusa Roberto mi diresti, gentilmente, come si interpreta questo codice?

    if  longonmarket then
    massimo=highest[barindex-tradeindex](close)
    
    else
    massimo=0

    Perchè sto cercando di capire il modo con cui la strategia esce dalla posizione ma non capisco quale massimo (sempre se è il massimo) debbo prendere in considerazione.

    Vorrei fare qualche backtest in manuale.

    Mentre positionprice è il prezzo a cui è stata aperta la posizione, giusto? Per il resto mi sembra di aver capito come leggerlo. Devo farmi un pò di calcoli.

    if massimo>positionprice+s*pointsize and massimo<positionprice+s2*pointsize then
    i=1
    elsif massimo>positionprice+s2*pointsize and massimo<positionprice+s4*pointsize  then
    i=2
    elsif massimo>positionprice+s4*pointsize then
    i=3
    else
    i=0
    endif
    #94978 quote
    R05
    Participant
    Veteran

    Gent.mo Roberto un’altra cosa. Ho messo in reale la strategia, mi ha aperto la posizione ma me l’ha chiusa subito alla barra successiva perchè ha riscontrato l’errore che ti allego.

    #94994 quote
    R05
    Participant
    Veteran

    Mi sono accorto di non aver allegato l’errore. Mi scuso.

    errore.jpg errore.jpg
    #94998 quote
    R05
    Participant
    Veteran

    Comunque credo di aver risolto. Ho navigato un pò per vedere quale fosse la soluzione al problema offset e ho trovato qualcosa. Ho fatto il seguente cambiamento alla riga 34 e 50 del codice messo al primo post.

    massimo=highest[barindex-(tradeindex+0.1)](close)
    
    
    minimo=lowest[barindex-(tradeindex-0.1)](close)

    L’ho montato sul conto demo e come prima operazione ha fatto ciò che doveva fare. Allego la schermata con l’operazione.

    Operazione aperta al prezzo di apertura e chiusa con il secondo metodo che allego sotto.

    if longonmarket and i=2 then
    sell at positionprice+q1 stop
    endif

    Infatti appena andato nella direzione giusta e fatto un nuovo massimo, ha chiuso l’operazione quando è risceso al prezzo di apertura + q1 (che equivale a 4 punti).

    Continuerò però a testare direttamente sul conto demo, senza fare nessun backtest, in modo da verificare effettivamente il funzionamento.

    Cattura-3.jpg Cattura-3.jpg
Viewing 12 posts - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.

Aiuto backtest


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
R05 @r05 Participant
Summary

This topic contains 11 replies,
has 2 voices, and was last updated by R05
6 years, 10 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 03/28/2019
Status: Active
Attachments: 9 files
Logo Logo
Loading...