Modifica codice perdite complessive

Forums ProRealTime forum Italiano Supporto ProOrder Modifica codice perdite complessive

Viewing 15 posts - 1 through 15 (of 19 total)
  • #179845

    Ciao Roberto, è possibile modificare questo codice  sulle perdite complessive della giornata in modo da stoppare il Ts anche oltre la singola giornata?

    Mi spiego meglio: sebbene il codice riguardi le perdite complessive di giornata (n=3) e non consecutive di giornata (in quanto dai test è meglio così), ho notato che nella fasi di DD storico del TS le perdite complessive si identificano con quelle consecutive.

    Capita quindi, ad esempio che ieri il TS ha registrato 2 perdite complessive-consecutive, ed oggi 3 perdite complessive-consecutive e si è stoppatp.

    Tuttavia il risultato è che si hanno 5 perdite complessive-consecutive in due giorni.

    VORREI che dopo che ieri si sono registrate due perdite complessive-consecutive, oggi alla prima perdita  il TS smetta di operare.

    L’idea più semplice che mi è venuta è,  probabilmente,  fissare le perdite complessive anche di due giorni:  superate quelle il TS smette di operare in quel giorno. Penso che sia un miglioramento per molti TS.

    Si riesce a fare? Ecco il codice funzionante di tre perdite complessive di giornata (sarebbe da convertire in 3 perdite complessive di due giornate). Grazie

     

     

     

     

    #179921

    Prova a cambiare le righe 3-5 con queste:

    #179924

    Non funziona.

    Non c’è un modo per avere  intradayBarIndex di due giorni complessivi?

    #179925

    Oppure, meglio, scrivere uno snippet che ancora non mi sembra esistere in cui determinare in X ore (48 ad esempio) il numero massimo di perdite complessive ( 3 ad esempio).

    Poi, quando capita la condizione,  quel giorno il TS si arresta e riprende il giorno seguente.

    #179928

    Basta contare i giorni ogni volta che IntraDayBarIndex  = 0 e settare una variabile per avvisare di non tradare più (poi stabilirai te quando ricominciare):

    #179932

    Quando provo a sostituire questo codice con quello precedente (prima ancora di testarlo), mi compare un errore in “Days”.  Sai quale può essere il  motivo e come si può risolvere?

    #179949

    Forse perché esiste già una parola chiave chiamata così. Cambia il nome in Dayx o altro.

     

    #179964

    Con dayX funziona, ossia il TS gira, ma il risultato è identico al codice base con solo nLoss<nLossMax.

    Ho provato infatti ad ottimizzare la riga 7 (al posto di 2 ho provato valori da 1 a 10) e i risultati sono tutti uguali, cosa che non è possibile.

    Hai provato ad usare il codice su un qualunque TS?

    #179972

    Non l’ho provato.

    Mi sa che alle righe 12-14 ne mancava unae c’era una condizione sola alla riga 7:

    #179980

    Ho provato ma ancora non funziona. Quando hai tempo magari provalo su qualche tuo TS.

    #179983

    Questo va con 2 giorni.

    Se lo vuoi fare ad ore basta che invece di IntraDayBarIndex tu incrementi un contatore ogni ora.

     

    #179984

    A due giorni va bene. Provo ad applicare il codice su un TS  semplice dove posso controllare meglio.

    #180005

    Ciao Roberto, ho riprovato ma ti confermo che NON funziona. Forse intendiamo cose differenti: la mia idea è quella di non avere più di tre perdite complessive in due giorni.

    Prova questo banale TS sul Dax a 15 minuti e vedrai che ci sono due giorni con 5 perdite complessive (giorno 8 ed 11 ottobre) invece di 3 (inserisco allegato).

    DEFPARAM CumulateOrders=False

    c1=close crosses over average[50]
    //—————————————————
    once nLoss = 0
    once tradeON = 1
    ONCE Dayx = 0
    nLossMax = 3
    if intradayBarIndex = 0 then
    Dayx = Dayx + 1
    IF Dayx > 2 OR tradeON = 0 THEN
    tradeON = 1
    nLoss = 0
    ENDIF
    endif
    if strategyProfit < strategyProfit[1] then
    nLoss=nLoss +1
    IF nLoss = nLossMax then
    tradeON = 0
    ENDIF
    endif
    //——————————————————–
    IF c1 and tradeOn and nLoss<nLossMax THEN
    BUY 1 CONTRACTS AT MARKET
    ENDIF
    //————————————————————-
    set stop %loss 0.3
    set target %profit 0.5
    //—————————————–

    #180118

    Adesso l’ho provato e funziona:

    Ogni nuovogiorno ripristino l’operatività (tradeON = 1). Se vuoi puoi anche stabilire una diversa condizione per ripartire, magari attendere un’intera giornata, ecc…

    1 user thanked author for this post.
    #180131

    Perfetto ora funziona. Si potrebbe inserire il codice nell’elenco degli snippets.

    Una cosa al volo: è possibile avere uno spessore in drawBarChart?

    drawBarChart(open,high,low,close) coloured(0,0,255)

Viewing 15 posts - 1 through 15 (of 19 total)

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