Controllo codice maxTrades x day

Forums ProRealTime forum Italiano Supporto ProOrder Controllo codice maxTrades x day

Viewing 15 posts - 1 through 15 (of 20 total)
  • #192860

    Ciao Roberto, ho provato un tuo codice per la determinazione del massimo numero di operazioni al giorno che mi piace come è scritto, ma, a volte, dà dei risultati differenti (e penso sbagliati) rispetto ad un codice classico che uso (ma che mi piace di meno come è scritto) per ottenere lo stesso risultato.

    Il tuo nuovo codice lo ho ripreso dal seguente link [rif: 191639]: https://www.prorealcode.com/topic/help-coding-breakout-strategy/

    Provando entrambi i codici su un TS di prova danno risultato differenti [ test su Nasdaq cfd – 10 minuti – 100k]. Sai quale può essere il motivo?

    Ecco i codici con il TS di base:

    PROVA A

    PROVA B (tuo nuovo codice)

    Ed ecco il test:

     

     

    #192862

    Verificando le date e gli orari d’apertura, magari esportando il risultato su eXcel, in quali  candele ci sono le differenze?

     

    #192867

    Ciao Roberto, ho trovato alcune operazioni discordanti.

     1) In tutti i casi è lo snippet classico (prova A) che salta un operazione senza che sia chiaro il motivo. Ti segnalo alcune operazioni cosi puoi controllare il motivo del malfunzionamento:  21 settembre 2021  – 28 gennaio 2022 – 19 aprile 2022 (vd immagine A ed A2)

      2) [Il 28 gennaio 2022 ( vd immagine B) poi c’è un operazione visibile nel probacktest ed anche nell’indicatore delle posizioni, ma non segnalata da nessuno dei due codici (e non presente quindi nel listato delle operazioni)

     

    #192880

    In merito alla prova A:

    • il 21/9/2021 mi sembra corretto, si chiudono 3 operazioni ed il conto è 3 (una si era aperta il giorno prima)
    • il 28/1/2022  stessa identica cosa, 3 chiusi ed il conto è 3
    • il 19/4/2022 ancora identica cosa, 3 chiusi ed il conto è 3.

    Le differenze sono dovute al fatto che il codice A fa una verifica diversa, quindi non tiene conto del fatto che un’operazione sia iniziata il giorno prima, mentre il codice B fa una verifica appena entrato a mercato, quindi se è del giorno precedente non influisce sul giorno successivo in quanto tu azzeri il conteggio con la prima barra del giorno dopo.

    Per ottenere lo stesso risultato (non in senso finanziario, solo per il controllo delle operazioni fatte), aggiungi questa riga all’inizio:

     

     

    1 user thanked author for this post.
    #192882

    Grazie, Roberto, penso di utilizzare il tuo codice B. Mi piace di più come è scritto e preferisco che il conteggio sia interno ad ogni giornata senza mischiare i giorni.

    1 user thanked author for this post.
    #193140

    Ciao Roberto, ho provato il tuo codice sul massimo numero di operazioni aggiornato e le nuove istruzioni di Nicolas. Su questo TS molto semplice sono equivalenti.

     

     

    1 user thanked author for this post.
    #193141

    Devo dire grazie. Con un limite di ordini al giorno risolvi molti problemi nei mercati laterali.

    #193150

    Oltre al limite degli ordini, uso la massima perdita giornaliere e l’attesa tra un trade e l’altro.

    Ho assemblato questi 3 snipper in uno complessivo che chiamo: cManagemente (da aggiungere alle tue condizioni di entrata).

    Se ti interessa ecco un esempio (puoi chiaramente ottimizzare i parametri.

     

    1 user thanked author for this post.
    #193151

    nella riga 35 meglio scrivere :     if not onMarket then

    #193167

    @Mauro
    È possibile che questo codice genera uno per 0 errori? Ho aggiunto questa variante al mio codice … backtest völlig in ordine, ma quando si avvia il messaggio di errore viene che un indicatore mostra un valore negativo.

     

    //Max-Orders per Day
    once maxOrdersL = maxiL
    once maxOrdersS = maxiS
    if intradayBarIndex = 0 then //reset orders count
    ordersCountL = 0
    ordersCountS = 0
    endif

    if longTriggered then //check if an order has opened in the current bar
    ordersCountL = ordersCountL + 1
    endif
    if shortTriggered then //check if an order has opened in the current bar
    ordersCountS = ordersCountS + 1
    endif
    //

     

    #193168

    Lo ho testato in questo TS di prova e funziona.

     

    #193170

    Ok, ho trovato l’errore. Un valore inutilizzato nell’ottimizzatore è stato impostato su “0”.
    Scusa, errore mio.

    #193342

    Grazie mille per il tuo post mauro.
    lo snippet è interessante.

    #193482

    Ciao, mauro

    Torno da voi perché sto cercando di integrare il vostro codice qui allegato se non sbaglio

    Dalla linea 32 del mio algo, ma senza la condizione di media 50, non succede nulla cambiando i miei take profit e stop che sono 11 e 34 e un’operazione al giorno.

    Se puoi, puoi farmi una copia di come la inseriresti nel mio codice. Grazie.

    Mi dispiace, sono ancora nelle prime fasi di creazione del codice.

     

    #193495

    Devi inserire l’istruzione anche nelle condizioni di acquisto e vendita.

     

    1 user thanked author for this post.
Viewing 15 posts - 1 through 15 (of 20 total)

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