Allarmi per sistematico su azionario

Viewing 15 posts - 1 through 15 (of 16 total)
  • Author
    Posts
  • #241803 quote
    AndyB72
    Participant
    New

    Ho provato a creare un indicatore che mi attivasse degli allarmi allo scattare dei segnali di un sistema che su PRT non posso attivare su azionario.
    Questo un codice di esempio:

    // Parametri
    StopLoss = 2000
    TakeProfit = 3500
    StartTime = 150000
    EndTime = 180000

    // Calcolo della dimensione della posizione
    Capitale = 10000
    MySize = Capitale / Close

    // Logica di trading
    IF Time >= StartTime AND Time < EndTime THEN
    IF NOT ONMARKET THEN
    // Ordine di acquisto al massimo della sessione
    BUY MySize SHARES AT DHigh(0) STOP
    // Imposta stop loss e take profit in valori monetari
    SET STOP $LOSS StopLoss
    SET TARGET $PROFIT TakeProfit
    ENDIF

    // Ordine di vendita al minimo della sessione
    SELL AT DLow(0) STOP
    ENDIF

    E’ possibile crearci un indicatore per avere per lo meno gli allarmi che mi permettano di inserire poi ordini manuali ?

    #241821 quote
    Iván González
    Moderator
    Master

    Se desideri un indicatore in cui vengono visualizzati i segnali di ingresso, puoi procedere come segue:

    IF Time >= StartTime AND Time < EndTime  and yourconditions THEN
    drawarrowup(barindex,low)coloured("green")
    endif
    return
    #241824 quote
    AndyB72
    Participant
    New

    C’è modo di riuscire a plottare anche gli stop ? Il problema principale è questo… altrimenti le entrate in posizione fra strategia e indicatore escono inevitabilmente disallineate.

    #241827 quote
    AndyB72
    Participant
    New

    Comunque lato azioni in sistematico PRT è inutilizzabile e questo è un grosso limite…

    #241848 quote
    robertogozzi
    Moderator
    Master

    @AndyB72

    Pubblica il tuo argomento nel forum corretto ProBuilder: argomenti su indicatori.

    L’ho spostato io dal precedente forum.

    Tu hai creato una strategia automatizzata. Puoi usarla per i segnali e per visualizzare target e Stop, ma va tenuto il backtest sempre aperto e funzionante e va modificato il tuo codice come segue:

    // Parametri
    StopLoss   = 2000
    TakeProfit = 3500
    StartTime  = 150000
    EndTime    = 180000
    // Calcolo della dimensione della posizione
    Capitale   = 10000
    MySize     = Capitale / Close
    // Logica di trading
    IF Time >= StartTime AND Time < EndTime THEN
       IF NOT ONMARKET THEN
          MyEntry = DHigh(0)
          MyExit  = DLow(0)
          // Ordine di acquisto al massimo della sessione
          BUY MySize SHARES AT MyEntry STOP
          // Imposta stop loss e take profit in valori monetari
          SET STOP   $LOSS   StopLoss
          SET TARGET $PROFIT TakeProfit
       ELSE
          // Ordine di vendita al minimo della sessione
          SELL AT MyExit STOP
       ENDIF
    ENDIF
    //
    GraphOnprice MyEntry + (TakeProfit / abs(CountOfPosition)) AS "Target" coloured("Green")
    GraphOnprice MyEntry - (StopLoss   / abs(CountOfPosition)) AS "Stop"   coloured("Red")
    GraphOnPrice MyEntry                                       AS "Entry"  coloured("Blue")
    GraphOnPrice MyExit                                        AS "Exit"   coloured("Black")

    Se, invece, vuoi un indicatore, questo deve simulare la strategia e visualizzare i dati sul grafico, con l’aggiunta di un segnale quando si verifica un’entrata o un’uscita, in modo che tu possa aggiungere degli allarmi sonori (tramite l’icona della “campanella”):

    // Parametri
    ONCE Offset     = 100 * PipSize
    ONCE StopLoss   = 2000
    ONCE TakeProfit = 3500
    ONCE StartTime  = 150000
    ONCE EndTime    = 180000
    // Calcolo della dimensione della posizione
    ONCE Capitale   = 10000
    ONCE MySize     = Capitale / Close
    //
    ONCE LongTrade  = 0
    ONCE MyEntry    = DHigh(0)
    ONCE MyExit     = DLow(0)
    //
    Segnale         = 0
    // Logica di trading
    IF (Time >= StartTime) AND (Time < EndTime) THEN
       IF (high >= MyEntry) AND (high[1] < MyEntry) AND Not LongTrade  THEN
          LongTrade    = 1
          Segnale      = 1
          myTarget     = MyEntry + (TakeProfit / MySize)
          myStop       = MyEntry - (StopLoss   / MySize)
       ENDIF
       IF NOT LongTrade AND (close < DHigh(0)) THEN
          MyEntry   = DHigh(0)
          MyExit    = DLow(0)
          myTarget  = MyEntry + (TakeProfit / MySize)
          myStop    = MyEntry - (StopLoss   / MySize)
       ENDIF
    ENDIF
    IF (((low <= MyExit) AND (low[1] > MyExit)) OR (low <= MyStop) OR (high >= myTarget)) AND LongTrade THEN
       LongTrade = 0
       Segnale   = -1
    ENDIF
    IF Segnale = 1 THEN
       DrawArrowUP(BarIndex,MyEntry - Offset - Range) coloured("Blue")
    ELSIF Segnale = -1 THEN
       DrawArrowDOWN(BarIndex,MyEntry - Offset - Range) coloured("Orange")
    ENDIF
    RETURN MyEntry AS "Entry" coloured("Blue"),MyExit AS "Exit" coloured("Black"),myTarget AS "Target" coloured("Green"),myStop AS "Stop" coloured("Red"),Segnale AS "Segnale" coloured(255,255,255,1)

    quando setti l’allarme sul grafico, SEGNALE avrà valore 1 quando c’è un’entrata e valore -1 quando c’è un’uscita.

    L’uscita verrà segnalata sempre con -1, qualunque sia il motivo (Stop Loss colpito, Target Profit raggiunto oppure quando il oprezzo scende solo DLow(0).

    AndyB72 and Iván González thanked this post
    #241854 quote
    AndyB72
    Participant
    New

    Grazie Roberto, davvero prezioso !
    Mi studio il tutto.

    #241857 quote
    AndyB72
    Participant
    New

    Da un primo check mi sembra che i segnali di strategia e indicatori siano diversi a parità di strumento e timeframe.
    Nei prossimi gg verifico meglio.

    #241873 quote
    robertogozzi
    Moderator
    Master

    Se trovi differenze indicami:

    • nome dello strumento
    • timeframe usato
    • data ed ora delle candele dove ci sono entrate/uscite difformi.
    #241894 quote
    AndyB72
    Participant
    New

    Buongiorno.
    Molto probabilmente il fatto di essere a mercato nella strategia, rispetto all’indicatore (che non lo sa), influisce su tutto il backtest.
    Non mi spiego però quando entrambi non sono a mercato perchè non hanno lo stesso ingresso.
    In questo caso ho caricato entrambi su Tesla 15min. La strategia sul prezzo e l’indicatore sul pannello sotto.

    #241896 quote
    AndyB72
    Participant
    New

    qui uno zoom sull’ultimo periodo

    #241908 quote
    robertogozzi
    Moderator
    Master

    Ho fatto delle modifiche, ma alcuni problemi restano. Sono legati all’entrate con ordini pendenti, che in un indicatore si gestiscono male:

    ONCE Offset     = 100 * PipSize
    ONCE StopLoss   = 2000
    ONCE TakeProfit = 3500
    ONCE StartTime  = 150000
    ONCE EndTime    = 180000
    // Calcolo della dimensione della posizione
    ONCE Capitale   = 10000
    MySize     = Capitale / Close
    //
    ONCE LongTrade  = 0
    ONCE MyEntry    = DHigh(0)
    ONCE MyExit     = DLow(0)
    //
    Segnale         = 0
    // Logica di trading
    IF (Time > StartTime) AND (Time < EndTime) THEN
    IF (high >= MyEntry) AND (close[1] < MyEntry) AND Not LongTrade AND (Day = Day[1])  THEN
    LongTrade    = 1
    Segnale      = 1
    myTarget     = MyEntry + (TakeProfit / MySize)
    myStop       = MyEntry - (StopLoss   / MySize)
    ENDIF
    IF NOT LongTrade AND (close < DHigh(0)) THEN
    MyEntry   = DHigh(0)
    MyExit    = DLow(0)
    myTarget  = MyEntry + (TakeProfit / MySize)
    myStop    = MyEntry - (StopLoss   / MySize)
    ENDIF
    IF (((low <= MyExit) AND (low[1] > MyExit)) OR (low <= MyStop) OR (high >= myTarget)) AND LongTrade THEN
    LongTrade = 0
    Segnale   = -1
    ENDIF
    ENDIF
    IF Segnale = 1 THEN
    DrawArrowUP(BarIndex,MyEntry - Offset - Range) coloured("Blue")
    ELSIF Segnale = -1 THEN
    DrawArrowDOWN(BarIndex,MyEntry - Offset - Range) coloured("Orange")
    ENDIF
    //RETURN LongTrade
    //return DHigh(0),DLow(0)
    RETURN MyEntry AS "Entry" coloured("Blue"),MyExit AS "Exit" coloured("Black"),myTarget AS "Target" coloured("Green"),myStop AS "Stop" coloured("Red"),Segnale AS "Segnale" coloured(255,255,255,1)
    #241909 quote
    AndyB72
    Participant
    New

    Infatti rimangono sballati.

    Proseguo con la soluzione della strategia. Il vero problema è la mancanza dell’alert a questo punto.

    Non ho ancora verificato se salvando il piano rimangono salvate anche le strategie attive o se vanno caricate ad ogni nuova apertura (che sarebbe ingestibile sopra un certo numero di titoli).

    Certo che questo è sicuramente un limite importante di ProRealTime rispetto a diverse altre soluzioni (es. Tradestation o Multicharts)

    #241912 quote
    robertogozzi
    Moderator
    Master

    I backtest salvati nel template vengono riaperti automaticamente.

    #242099 quote
    AndyB72
    Participant
    New

    Roberto buongiorno. Che tu sappia, c’è la possibilità di costruire un Alert basato sulla posizione della strategia ?
    Un alert che scatti per esempio nel momento in cui la strategia è in posizione e noi no…. non so se mi spiego…

    #242103 quote
    AndyB72
    Participant
    New

    Nel frattempo ho riprovato a caricare strategia + indicatore, ovviamente con stesse variabili, sullo stesso sottostante.

    Anche quando la strategia non è in posizione le righe “entry”, ecc non sono allineate. Mi aspetterei che nei momenti flat (quando la strategia non è in posizione da codice non ci sono ordini pendenti), dovrebbero coincidere, invece non è così.

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

Allarmi per sistematico su azionario


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
author-avatar
AndyB72 @andyb72 Participant
Summary

This topic contains 15 replies,
has 3 voices, and was last updated by robertogozzi
1 year, 1 month ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 12/26/2024
Status: Active
Attachments: 4 files
Logo Logo
Loading...