ProBackTest: operazioni inattese

Forums ProRealTime forum Italiano Supporto piattaforma ProRealTime ProBackTest: operazioni inattese

Viewing 8 posts - 1 through 8 (of 8 total)
  • #113563

    Buonasera a tutti. Ho sviluppato un semplice BackTest sulla base di un indicatore per le criptovalute. Il BackTest compra quando l’indicatore e’ +1 e vende (allo scoperto) quando e’ a -1. In entrambi i casi chiude la posizione precedente prima di invertire. Quando l’indicatore e’ a 0 semplicemente aspetta. Tuttavia mi trovo delle operazioni inaspettate anche quando l’indicatore e’ = 0 (vedi figura allegata). C’e’ un modo per fare il debugging e capire perche’ si producono queste operazioni inattese? Grazie.

    #113572

    Si, per fare debugging aggiungi:

    alla fine del programma (puoi indicare molte varibili, sui conti reali c’è un limite di 5, ma in demo puoi metterne quante ne vuoi).

    Quando il backtest termina, ti farà vedere una finestra in più, quella delle variabili (allargala se è troppo piccola, rimpicciolendo le altre e magri restringi la scala di quella sola finestra) e quando terrai il mouse fermo su una candela ti farà vedere tutti i valori relativi a qual preciso periodo, per cui vedrai quando un errore diventa errato ed in quale candela avviene.

    Nella foto vedrai che ho aggiunto queste linee alla fine:

    Le variabili utilizzate con GRAPH vengono evidenziate nell’apposita finestra, perché sarebbero fuori scala sui prezzi. GRAPHONPRICE plotta invece le variabili SUL prezzo, purché siano in scala, tipo un prezzo o una media, eccc… Se plotti 1 sul grafico DAX deve rimpicciolirti tutto ad 1/12000esimo per farti vedere sia il prezzo che la variabile, col risultato che sarebbe illeggibile.

     

    #113606

    Ciao Roberto, ho fatto come mi hai consigliato e trovo una discrepanza fra l’output dell’indicatore mostrato da solo e l’output dello stesso indicatore chiamato durante il backtest (CALL). Vedi screenshot allegato. Mi aspetterei lo stesso identico risultato, invece no. Sai da cosa potrebbe dipendere?

     

    #113608

    È difficile capire dalla foto, non vedo bene l’allineamento tra i segnali e le candele.

    Tieni presente che le frecce di entrata delle operazioni sono messe sotto la candela successiva al segnale, perché il segnale lo rileva alla chiusura della candela ed entra all’inizio della successiva.

    #113610

    Non e’ un problema di candela precedente o successiva. Se apri il mio screenshot vedrai le aree evidenziate in giallo verso la sinistra della figura. L’indicatore original e’ l’ultimo in basso. Nell’area evidenziata non produce alcun segnale (il suo valore e’ zero), mentre lo stesso indicatore chiamato nel backtest (aree evidenziate sopra) produce un segnale (andando da -1 a 1) nello stesso identico punto, il che non ha alcun senso.

    #113617

    Il codice è corretto, per quanto riguarda la strategia, l’unica cosa è procare a sostituire la riga 14 con:

    e la riga 21 con:

    Un’altra cosa è di assicurarti di avere un numero più elevato di barre, sul grafico metti 10000 unità ed alla riga 3 metti:

    non vorrei avesse un numero insufficiente di barre per fare i calcoli corretti dell’indicatore.

    Nel caso non sia niente di tutto questo… devi postare il codice dell’indicatore per potere replicare le tue operazioni.

     

     

     

    1 user thanked author for this post.
    #113625

    Ho provato a simplificare il backtest in modo da usare direttamente l’output dell’indicatore. Ho anche aggiunto la riga che hai consigliato. Niente da fare. A qualsiasi timeframe vedo differenze fra l’indicatore all’interno del backtest e quello direttamente sul prezzo (vedi immagine allegata). Nel caso 1 l’indicatore da’ un segnale sul prezzo ma nel backtest si vedono tre segnali. Nel caso 2 non ci sono segnali dell’indicatore sul prezzo ma nel backtest ci sono due segnali. Credo si tratti di un bug. L’indicatore e’ esattamente lo stesso in entrambi i casi (la stessa funzione), quindi non vedo come possa dipendere dal codice dell’indicatore, a meno che backtest ed indicatore usino in un qualche modo timeframe diversi.

    #113628

    Gli indicatori usano solo il TF del grafico dove sono stati caricati.

    La tua strategia utilizza solo il TF da dove è stata eseguita, quindi non è quello il problema.

    Prova ad inserire l’indicatore all’interno della strategia, invece di utilizzare CALL, se non è eccessivamente lungo.

    in tal modo vedi, anche con GRAPH e/o GRAPHONPRICE se ci sono problemi nel calcolo.

    Se non trovi una soluzione l’unica cosa da fare è premere Ctrl+M dalla piattaforma per aprire una richiesta d’assistenza.

Viewing 8 posts - 1 through 8 (of 8 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login