come chiudere un PAC

Viewing 15 posts - 1 through 15 (of 15 total)
  • Author
    Posts
  • #214070 quote
    Guidoz
    Participant
    New

    Ciao a tutti, sto simulando dei PAC, ma per chiudere il trading system e calcolare il controvalore all’ultima candela non ho trovato altra soluzione che terminare con

    IF DATE = 20230502 THEN
    SELL AT MARKET
    ENDIF

    modificando manualmente il valore della data ogni giorno che passa.

    Non c’è un modo affinché riconosca l’ultima barra e venda tutte le posizioni accumulate? Grazie

    #214071 quote
    robertogozzi
    Moderator
    Master

    Cosa significa PAC?

    #214072 quote
    Guidoz
    Participant
    New

    Piano di Accumulo

    #214073 quote
    Guidoz
    Participant
    New

    Se ti è più comprensibile (simulo un PAC semestrale in cui “m” è una variabile che può assumere valori da 1 a 6 per capire qual è stata in passato la cadenza più profittevole)

    quota = 1200
    k = 6
    
    if month <> month[1] and (month=m or month=m+6) then
    BUY quota/(12/k) cash AT MARKET
    ENDIF
    
    IF DATE = 20230502 THEN
    SELL AT MARKET
    ENDIF
    #214076 quote
    robertogozzi
    Moderator
    Master

    Ho spostato il topic in ProOrder, inquanto riguarda una strategia, non un argomento sulla piattaforma.

    Ogni barra è l’ultima barra, quindi vuoi chiudere ad ogni barra?

    Prova a creare questo indicatore di una sola riga e vedrai che ti segnala sempre l’ultima barra ad ogni barra, dal momento in cui lo carichi sotto il grafico:

    RETURN IsLastBarUpdate AS "Ultima Barra"
    #214077 quote
    Guidoz
    Participant
    New

    Grazie. No, non voglio chiudere ogni barra, bensì voglio che tutte le posizioni accumulate vengano vendute all’ultima barra, una cosa del tipo (che però non funziona)

    IF IsLastBarUpdate SELL AT MARKET
    #214081 quote
    robertogozzi
    Moderator
    Master

    Non funziona perché è vera ad ogni barra.

    IsLastBarUpdate serve a riconoscere quando siamo sulla barra in corso. Questa istruzione è stata aggiunta perché si potesse evitare, per chi lo desidera, che gli indicatori NON siano calcolati anche sulle barre precaricate (ProBuilder carica sempre circa 500+ barre antecedenti la prima delle unità scelte, ProOrder 2000 per default, ma si può usare da 0 a 10000). Se selezioni 1000 unità sul grafico, ProBuilder ne carica 1500, per fare in modo che gli indicatori e i segnali NON siano verificati e calcolati anche sulla prime 500 (ad esempio una media a 100 periodi), si può usare questa istruzione.

    Una volta iniziato dalla prima barra precaricata, quando arriva a quella corrente saranno tutte CORRENTI una dopo l’altra, da li in poi.

    Quindi devi escogitare un modo diverso, oppure continuare ad usare la data come stai facendo.

    #214082 quote
    Guidoz
    Participant
    New

    Grazie, però comunque col metodo della data il trading non si chiude… non capisco perché (a meno che non imposta una data molto indietro, tipo un giorno qualsiasi del 2021, ma così facendo si aprono delle posizioni successive che mi rimangono aperte)

    #214083 quote
    robertogozzi
    Moderator
    Master

    Se mi spieghi bene cosa vuoi fare, posso provare a qualche alternativa.

    Indicami quando vuoi aprire una posizione, quando accumularne e quando chiuderle (tutte o parzialmente).

    #214084 quote
    Guidoz
    Participant
    New

    Voglio acquistare azioni ogni 6 mesi, va bene anche gennaio-giugno di ogni anno (m=1 nel codice sotto)

    quota = 1200
    k = 6
     
    if month <> month[1] and (month=m or month=m+6) then
    BUY quota/(12/k) cash AT MARKET
    ENDIF
     
    IF DATE = 20230502 THEN
    SELL AT MARKET
    ENDIF

    e vendere tutte le posizioni accumulate nell’ultimo giorno disponibile (ad oggi 2 maggio 2023. Domani sarà il 3 maggio è così via).

    La logica è quelle dei PAC insomma, nel mio caso semestrale. Spero di essermi spiegato. Ad ogni modo il mio codice va bene eccetto per il fatto che non si chiude…

    #214090 quote
    robertogozzi
    Moderator
    Master

    Si, ma vorrei capire perché chiudere proprio il 2 Maggio? E le date successive di chiusura quali sarebbero?

    #214093 quote
    Guidoz
    Participant
    New

    In verità m’interessa l’ultima candela chiusa, per cui oggi m’interessa il 2 maggio (se si è già formata va bene anche quella del 3, anzi meglio). Se lo guardo fra un mese sarà il 2 giugno e così via, perchè il controvalore delle quote accumulate cambiano in base al valore dell’ultima candela chiusa

    #214099 quote
    robertogozzi
    Moderator
    Master

    Non mi pare possibile. Il codice può solo calcolare sulla base di dati precisi, quindi se non c’è una formula per calcolare quando dovrà avvenire la chiusura, non si può fare niente, purtroppo.

    #214111 quote
    Guidoz
    Participant
    New

    In verità il codice funziona, ma non so perché con date che vanno dal 2022 in poi non venda le posizioni accumulate…

    #214147 quote
    robertogozzi
    Moderator
    Master

    Non so cosa dirti, con gli elementi indicati.

Viewing 15 posts - 1 through 15 (of 15 total)
  • You must be logged in to reply to this topic.

come chiudere un PAC


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Guidoz @guidoz Participant
Summary

This topic contains 14 replies,
has 2 voices, and was last updated by robertogozzi
2 years, 9 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 05/03/2023
Status: Active
Attachments: No files
Logo Logo
Loading...