Chiusura parziale posizione

Forums ProRealTime forum Italiano Supporto ProOrder Chiusura parziale posizione

Viewing 15 posts - 16 through 30 (of 44 total)
  • #174429

    Il TS base (long) SI in quanto non ha split.

    Il primo codice (long) NO: chiude troppo presto il secondo contratto.

    Il secondo codice (long) NO: spesso è corretto, ma a volte chiude la posizione in 3 parti e non in due (ma temporalmente, sia che splitta correttamente in due parti, che erroneamente in 3 parti, rispetta sempre il tempo del TS base per la chiusura completa della posizione).

    #174430

    confronto

    #174435

    Secondo esempio

    #174438

    Dimmi quale codice vuoi che controlli e in che data ed ora (e strumento e TF) è iniziato un trade errato.

    Non posso eseguire tutti i codici e analizzare tutte le operazioni, ma solo quelle errate che mi segnali. E’ inutile che controlli quelle corrette.

     

    #174440

    Partiamo da:

    2 codice (solo long, riportato sopra nell’elenco per ultimo) –

    data 29 giugno 2021 (ultima foto sopra nel secondo esempio) ora apertura posizione: 7:45 -TF 15 minuti – Cdf Dax

    Tipo di error: ci sono 3 chiusure in split

    #174456

    Io ho usato quete righe per il debugging:

     

    #174470

    I due codici sopra non funzionano, ognuno ha i problemi già descritti che non sono stati sistemati.

    Ho risolto ristudiando lo snippetcode 286. Bastava settare come vero il flag iniziale.

    #174471

    Ecco il codice corretto, da aggiungere in fondo al proprio Ts per splittare la posizione:

    once partialclose = 1                                        //N.B. nello snippet questa variabile è posta a 0, ma cosi non si ottiene nessuno split della posizione!

    If partialclose then
    ONCE PerCent = 0.5 //0.1 = 10% positions to close
    ONCE PerCentGain = 0.005 //0.005 = 0.5% gain
    ONCE MinLotSize = 0.5 //IG minimum
    ExitQuantity = abs(CountOfPosition) * PerCent
    LeftQty = max(MinLotSize,abs(CountOfPosition) – ExitQuantity)
    CloseQuantity = abs(CountOfPosition) – LeftQty

    IF Not OnMarket THEN
    Flag = 1
    ENDIF

    IF partialclose AND LongOnMarket and close >= (PositionPrice * (1 + PerCentGain)) AND Flag THEN
    SELL CloseQuantity Contracts AT Market
    Flag = 0
    endif

    IF partialclose AND ShortOnMarket and close <= (PositionPrice * (1 – PerCentGain)) AND Flag THEN
    exitshort CloseQuantity Contracts AT Market
    Flag = 0
    endif
    endif
    //—————————————————–
    GRAPHONPRICE (PositionPrice * (1 + PerCentGain)) coloured(0,255,0,255) AS “ProfittoL”
    GRAPHONPRICE (PositionPrice * (1 – PerCentGain)) coloured(255,0,0,255) AS “ProfittoS”
    graph abs(countofposition)

    #174473

    Mancava la prima metà della risposta al mio post, non so cosa ho fatto, ma è sparita.

    Ad ogni modo:

    • ha aperto una posizione
    • ne ha chiusa metà (1)
    • ne ha chiusa un’altra metà (0.5)
    • ha chiuso tutto all’orario DEFPARAM

    Mi pare tutto corretto.

     

    #174636

    Ciao Roberto, conosci un modo per ottimizzare cifre piccole come il PerCentGain, che  è 0.005?

    #174638

    Come al solito, puoi scrivere:

    a)  da 0.001

    b)    a  0.010

    c) passo 0.001   (10 combinazioni)

    oppure

    c)  passo 0.0001   (100 combinazioni)

    #174652

    Ok funziona, mi sembrava che lo zero iniziale non andava bene (come per l’ottimizzazione del tempo in cui va tolto).

    Un ultima cosa:  la formula (la riporto per semplicità) si potrebbe modificare  in modo tale  da utilizzarla NON per chiudere metà posizione in gain, ma per chiudere metà posizione in perdita, es. dello  -0.005 (e l’altra metà secondo lo  stop loss % del TS )?

    In teoria non dovrebbe essere difficile, ma ancora non sono pratico con queste operazioni di split. Grazie

     

     

     

    #174660

    Perché nelle ore è numericamente superfluo a sinistra, ma non quello accanto al punto decimale/virgola.

    0.01 resta così mentre 01.32 diventa 1.32.

    Si, basta cambiare le righe 15 e 20 così:

     

    1 user thanked author for this post.
    #176596

    Ciao Roberto, riesci a convertire (se non è troppo complicato) la riga 5 del codice sopra riportato (riferimento 174652) da percentuale a punti?

    La riga è questa:

    ONCE PerCentGain = 0.005                        //0.005 = 0.5% gain     (vorrei, ad esempio, chiudere metà posizione dopo un guadagno di 100 punti e NON del 0.5%)

    Grazie

     

    #176597

    Puoi farlo direttamente:

    oppure, se prefrisci indicare una percentuale e poi convertirla in punti:

     

     

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

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