Differenza tra test e reale

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #185657 quote
    Ciccarelli Franco
    Participant
    Junior

    Riscontro un problema nella piattaforma e precisamente : Un mio codice, fatto girare in backtest va bene (almeno sembra), in reale il valore di una variabile viene moltiplicato per 100. Ho contattato l’assistenza, ma non ancora ottengo risposta. Sembra proprio un buco del programma, comunque è la prima volta che mi succede.

    #185688 quote
    robertogozzi
    Moderator
    Master

    Occorre il codice e le informazioni sull0 strumento usato e sul time frame per potere fare delle verifiche precise.

    #185739 quote
    Ciccarelli Franco
    Participant
    Junior

    Lo strumento è il Nasdaq tf 1 ora, allego codice.

    nuovo-rsi-volume-long-1h.itf
    #185748 quote
    robertogozzi
    Moderator
    Master

    A me funzionba benissimo (vedi foto), sia sul demo che sul conto reale.
    Prova ad aggiungere le seguenti righe per verificare meglio che i settaggi siano gli stessi (stessi periodi e stesso tipo di medie):

    graph indicator1
    graph indicator2
    graph indicator4
    graph indicator6
    x-10.jpg x-10.jpg nuovo-rsi-volume-long-1h-1.itf
    #185752 quote
    Ciccarelli Franco
    Participant
    Junior

    La variabile che non funziona è il trailing stop

    #185766 quote
    robertogozzi
    Moderator
    Master

    Capisco.

    L’istruzione SET STOP $TRAILING (con le varianti %TRAILING, pTRAILING e TRAILING) è bene non usarla, non funziona correttamente e nessuno (credo) la usi più.

    Va sostituita con un codice specifico per il trailing stop. Qui trovi quello scritto da Nicolas (linee 17-56), già pronto perl’uso senza dovere fare modifiche https://www.prorealcode.com/blog/trading/complete-trailing-stop-code-function/.

    #185797 quote
    Ciccarelli Franco
    Participant
    Junior

    Scusami, ma io non so programmare, se ho capito bene, tolgo il trailling attuale , che è una semplice riga, poi inserisco il tuo codice, i valori di settaggio sono in punti io pero vorrei gli euro e poi vorrei testare i volori stessi.

    Grazie

    #185863 quote
    robertogozzi
    Moderator
    Master

    Eccolo, con il valore in EURO (che vengono convertiti in Pip):

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    // Condizioni per entrare su posizioni long
    indicator1 = RSI[14](close)
    indicator2 = Average[m](RSI[14](close))
    c1 = (indicator1 <= indicator2)
    indicator3 = Volume
    indicator4 = Average[m1](Volume)
    c2 = (indicator3 >= indicator4)
    IF c1 AND c2 THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    // Condizioni per uscire da posizioni long
    indicator5 = Volume
    indicator6 = Average[m2](Volume)
    c3 = (indicator5 <= indicator6)
    IF c3 THEN
    SELL AT MARKET
    ENDIF
    // Stop e target
    //SET STOP $TRAILING t
    //************************************************************************
    //trailing stop function
    trailingstart = t / PipValue
    trailingstep  = trailingstart
    //trailingstart = 20 //trailing will start @trailinstart points profit
    //trailingstep = 5 //trailing step to move the "stoploss"
    //reset the stoploss value
    IF NOT ONMARKET THEN
    newSL=0
    ENDIF
    //manage long positions
    IF LONGONMARKET THEN
    //first move (breakeven)
    IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THEN
    newSL = tradeprice(1)+trailingstep*pipsize
    ENDIF
    //next moves
    IF newSL>0 AND close-newSL>=trailingstep*pipsize THEN
    newSL = newSL+trailingstep*pipsize
    ENDIF
    ENDIF
    //manage short positions
    IF SHORTONMARKET THEN
    //first move (breakeven)
    IF newSL=0 AND tradeprice(1)-close>=trailingstart*pipsize THEN
    newSL = tradeprice(1)-trailingstep*pipsize
    ENDIF
    //next moves
    IF newSL>0 AND newSL-close>=trailingstep*pipsize THEN
    newSL = newSL-trailingstep*pipsize
    ENDIF
    ENDIF
    //stop order to exit the positions
    IF newSL>0 THEN
    SELL AT newSL STOP
    EXITSHORT AT newSL STOP
    ENDIF
    //************************************************************************
    nuovo-rsi-volume-long-1h-2.itf
    #185872 quote
    Ciccarelli Franco
    Participant
    Junior

    Grazie, veramente gentile, ultima domanda “in questo modo manca uno stop lose?

    #185888 quote
    robertogozzi
    Moderator
    Master

    Lo Stop Loss lo aggiungi te con SET STOP, a cui devi aggiungere LOSS, pLOSS, $LOSS o %LOSS seguito dal rispettivo valore.

    Puoi anche aggiungere SET TARGET PROFIT (o pPROFIT, $PROFIT, %PROFIT).

    #186032 quote
    Ciccarelli Franco
    Participant
    Junior

    Lo sto usando, ma ottengo dei risultati peggiori di prima che avevo solo il trailing. Forse quelli di prima erano risultati fasulli?

    #186036 quote
    robertogozzi
    Moderator
    Master

    Si, non erano corretti.

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

Differenza tra test e reale


ProOrder: Trading Automatico & Backtesting

New Reply
Summary

This topic contains 11 replies,
has 2 voices, and was last updated by robertogozzi
4 years ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 01/17/2022
Status: Active
Attachments: 4 files
Logo Logo
Loading...