Ordine non chiuso.

Forums ProRealTime forum Italiano Supporto ProOrder Ordine non chiuso.

Viewing 12 posts - 1 through 12 (of 12 total)
  • #55691

    Ciao a tutti, ho fatto un trading sistem ma presenta due bug che non capisco, in pratica non mi chiude i long quando vorrei nonostante io abbia impostato questo parametro di uscita:

    // Condizioni per uscire da posizioni long
    ciclo = CCI[7]
    escilong = (ciclo CROSSES UNDER 100)
    IF escilong THEN
    SELL AT MARKET
    ENDIF

     

    Come ho messo nella foto sarebbe dovuto essere inserito un ordine di chiusura quando il CCI oltrepassa in discesa 100, ma ciò non è avvenuto. (meno male che sta solo in demo).

     

    Ho un altro problema, lo script, nonostante abbia questi parametri iniziali;

     

    DEFPARAM FLATBEFORE = 080000
    // Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all’orario “Flat After”
    DEFPARAM FLATAFTER = 210000

     

    Mantiene le posizioni aperte oltre le ore 21, non le chiude proprio la sera. 

    Non capisco perchè. Potete aiutarmi?

     

    #55695

    Questo mi accade sul CFD Futures di IG scandenza Marzo del Germany30, possibile che sia perchè non è ancora scaduto Dicembre?

    #55697

    Per quanto riguarda la prima domanda, forse alla candela da te indicata può darsi che il CCI fosse 100,00 e quindi non ancora UNDER, però avrebbe dovuto chiudere il trade alla candela successiva. Occorrerebbe il codice completo, perché può darsi che quelle poche righe che tu hai scritto facciano parte, per tua scelta o per tuo errore, di unblocco IF che risulta FALSO e non viene mai eseguito, quindi anche gli IF più interni seguono la stessa sorte.

    Per la seconda domanda, non so proprio dirti, prova con altri strumenti oppure stesso strumento ma di diverso tipo, mini ecc….

    Per scrivere il codice , utilizza il pulsante <> “insert PRT code”

    #55699

    Per quanto riguarda la prima domanda, forse alla candela da te indicata può darsi che il CCI fosse 100,00 e quindi non ancora UNDER, però avrebbe dovuto chiudere il trade alla candela successiva. Occorrerebbe il codice completo, perché può darsi che quelle poche righe che tu hai scritto facciano parte, per tua scelta o per tuo errore, di unblocco IF che risulta FALSO e non viene mai eseguito, quindi anche gli IF più interni seguono la stessa sorte. Per la seconda domanda, non so proprio dirti, prova con altri strumenti oppure stesso strumento ma di diverso tipo, mini ecc…. Per scrivere il codice , utilizza il pulsante <> “insert PRT code”

    Grazie mille! Il problema era proprio la funzione IF in origine avevo questa funzione:

    //*****APERTURA LONG***** Condizioni per entrare su posizioni long
    IF NOT ONMARKET THEN
    parametri
    if time > 080000 and C1 and c2 and not daysForbiddenEntry then
    BUY PositionSize CONTRACT AT MARKET
    ENDIF
    // Condizioni per uscire da posizioni long
    ciclo = CCI[55]
    escilong = (ciclo CROSSES UNDER 100)
    IF escilong THEN
    SELL AT MARKET
    ENDIF
    ENDIF

    ed infatti non usciva, allora ho eliminato il primo if not on market ed ho fatto così

    if time > 080000 and C1 and c2 and not daysForbiddenEntry and not onmarket then
    BUY PositionSize CONTRACT AT MARKET
    ENDIF

     

    ed ora è uscito!

    #55700

    ehm… se aggiusto il codice per lo short con gli stessi settaggi torna a dare errore..

    #55701

     

    #55702

    @robertogozzi 

     

    Se elimino la riga 18 e la 31, l’uscita viene recepita dal sistema e l’ordine viene chiuso correttamente, ma se vado ad eliminare ugualmente la 35 e la 48 il problema mi si ripresenta 🙁

    #55710

    La riga 45 credo dovrebbe essere

    questo credo sia il problema, non l’avere tolto le righe 35 e 48.

    #55780

    Il fatto è che se elimino sia la 18 che la 31 e poi la 35 e la 48, il sistema ugualmente non chiude l’operazione al verificarsi dei parametri.

    #55785

    La riga 45 credo dovrebbe essere

    questo credo sia il problema, non l’avere tolto le righe 35 e 48.

    L’hai fatto?

    #55791

    Intanto grazie per avermi fatto notare l’errore. Ma pare che oggi quell’operazione che ieri apriva e non chiudeva non sarebbe stata aperta… possibile che possa esser stato per causa del rollover sullo strumento della data di ieri?

    Il problema è che backtestare sui 30 minuti viene molto limitato nel tempo, e questo rende il tutto molto aleatorio.

    #55793

    Non credo c’entri il rollover, ma non saprei dirlo con certezza.

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

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