Aiuto creazione strategia acquisto fine mese

Forums ProRealTime forum Italiano Supporto ProOrder Aiuto creazione strategia acquisto fine mese

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

    Volevo testare una strategia molto semplice:

    • Acquisto a N giorni da fine mese.
    • Chiusura a fine mese.

    Chiedo se qualcuno può aiutarmi. Grazie

    Stefano

    #98541

    Occorre calcolare quanti giorni ha un mese e confrontarlo con il giorno corrente, se è <= N (che stabilirai tu) apri un trade.

    Devi stabilire se per giorni del mese intendi i giorni di calendario o quelli di trading. Ad esempio, se vuoi entrare a mercato 10 giorni prima della fine di maggio, vuoi entrare il 21 (31 – 10) oppure il 17 (31 – 10 giorni lavorativi)?

     

    #98543

    giorni lavorativi

    #98559

    Non sono riuscito a trovare il codice per determinare la differenza.

    Qual’e il codice per dire  a 10 giorni lavorativi dal fine mese?

    #98560

    Non c’è, devi calcolarli te.

    Quando sei ad inizio mese (month<>month[1]) devi:

    • calcolare di quanti giorni è il mese (tenendo conto dei possibili anni bisestili)
    • fare un ciclo FOR…NEXT da 1 a fine mese e sommare i giorni che hanno OpenDayOfWeek >= 1 e <= 5 (tra lunedì e venerdì)

    a questo punto hai il totale di dei giorni lavorativi, ogni giorno di trading decrementi il conteggio e quando arrivi al numero che vuoi, ad esempio 10, entri a mercato. Per verificare se sei in un giorno diverso, sul giornaliero non è un problema perché quando la strategia viene eseguita è trascorso un altro giorno, mentre sui time frame intraday lo determini quando IntraDayBarIndex = 0, questo è un indice delle barre intraday trascorse (BarIndex è il totale delle barre dal momento del lancio della strategia).

    Non sarà mai preciso perché non puoi calcolare le giornate festive, magari all’estero, o i giorni di chiusura della borsa, ecc… però è il massimo che puoi ottenere!

    #98561

    Ci proverò.

    Grazie

    #98567

    Ho provato con il seguente codice

    Per i mesi di gennaio e marzo funziona.

    A giugno, agosto e ottobre entra a mercato ed esce il giono dopo.

    In tutti gli altri mesi non indicati non genera nessuna operazione.

     

     

     

    #98601

    Non è proprio così, in particolare le righe 3-6, che calcolano sempre i 31 giorni precedenti, ripetendolo ad ogni barra.

    Ecco il codice, l’ho provato sul DAX, sia 4 ore che 1 ora e Giornaliero (va solo LONG, tu metterai le tue condizioni per entrare in una direzione  o nell’altra):

    Le ultime 5 righe possono servirti, togliendo i commenti all’inizio della riga, per osservare i valori di quelle variabili candela per candela nell’apposita finestra delle variabili che ProBacktest apre. Quando eseguirai la strategia con ProOrder vanno rimessi i commenti (oppure le togli).

    #98602

    C’è una precisazione da fare per la riga 32, ProOrder (per le strategie) considera la DOMENICA come valore 7, mentre ProBuilder (per gli indicatori) la considera come valore 0.

    E’ stata fatta osservare questa discrepanza a PRT e, credo, prima o poi la risolverà. Se non la risolverà tutto rimarrà com’è adesso, se unificherà i due valori a 0 occorrerà cambiare la strategia, se li unificherà a 7 (ma è improbabile, direi, perché contraria al software di quasi tutto il mondo!) occorrerà cambiare gli indicatori (per chi che li ha fatti basandosi sul giorno della settimana).

     

    #98607

    Un grande ringraziamento, da solo non sarei mai riuscito.

    Stefano

    1 user thanked author for this post.
    #99577

    Volevo chiedere un’altra cosa.
    Utilizzando la chiusura del mese precedente che hai fatto in (https://www.prorealcode.com/topic/dati-candela-mese-precedente/) ho fatto una modifica alla strategia.
    Ho inserito la condizione: close[1] < ChiusuraP nella riga di acquisto.
    La strategia prevede l’acquisto a “n” giorni dal fine mese.
    Se la condizione close[1] < ChiusuraP si verifica ad un numero di giorni diverso da quello indicato come “n” viene aperta l’operazione al giorno diverso da “n”.

    -Esempio:
    n=10 // acquisto a 10 giorni da fine mese
    la condizione (close[1] < ChiusuraP) si verifica a 5 giorni da fine mese. Viene aperta l’operazione a 5 giorni da fine mese: cose che non vorrei.
    L’acquisto nel caso di n=10 deve essere fatto solo a 10 giorni da fine mese altrimenti si passa al mese successivo. Si può fare?

     

    #99581

    Modificando la riga 66 così ti entra solo a 10 giorni dal fine mese (non 9 o 7, ecc…), però solo se close[1]< chiusurap:

    Se, invece vuoi che entri in qualunque momento purché close[1]< chiusurap, oppure a 10 giorni da fine mese:

     

     

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