Condizione d'acquisto sul prezzo d'apertura

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

    Non sono riuscito a trovare una soluzione….

    Al verificarsi di questa condizione il sistema va in acquisto alla barra successiva

    IF close < BollingerDown[20](close) THEN
    BUY 1 SHARES AT MARKET
    ENDIF

    E’ possibile aggiungere una condizione per cui il sistema va in in acquisto alla barra successiva solo se questa apre, per esempio, ad un prezzo inferiore ad “X”? Grazie

    #116914 quote
    robertogozzi
    Moderator
    Master

    Con ordini a mercato no, la strategia viene sempre eseguita alla chiusura di una candela e il sistema non può sapere se ci sarà un gap oppure no.

    Devi usare un ordine pendente di acquisto al prezzo X:

    IF close < BollingerDown[20](close) THEN
       BUY 1 SHARES AT x LIMIT
    ENDIF
    #117587 quote
    Guidoz
    Participant
    New

    Ciao Roberto, grazie per il contributo.

    Ho provato a mettere in pratica il tuo suggerimento (con un ordine STOP) nella procedura che avevo in mente e che ti riporto di seguito:

    DEFPARAM CumulateOrders = False
    
    
    //Cond.1    : se la candela che precede quella morning è ribassista
    //Cond.2 e 3: se la chiusurala della candela che precede quella morning è più bassa delle precedenti due
    //Cond.4 e 5: se la candela morning apre in gap e non lo richiude
    
    IF NOT ONMARKET THEN
    IF (open[1]>close[1]) and (Close[1] <= Lowest[4](Close[2]) and Close[1] <= Lowest[4](Open[2])) and (open < close[1] and close < close[1]) THEN 
    Prezzo = (close[1]+open[1])/2
    PrezzoStopLoss = Low
    BUY 1 SHARE AT Prezzo Stop
    ENDIF
    ENDIF
    
    SET STOP LOSS (ABS(tradeprice - PrezzoStopLoss))
    SET TARGET PROFIT (1*ABS(tradeprice - PrezzoStopLoss))

    Brevemente: il pattern che cerco è il “morning star”. La procedura (da affinare) acquista al verificarsi dell’apertura in gap della candela che nell’immagine sotto è indicata con zero. Alcuni acquisti vengono fatti rispettando correttamente lo stop loss o target profit, altri, come quello da immagine sotto, no.

    La candela 1 ha open= 4.69 e close=4.59, la cui media fa 4.64 e l’acquisto avviene correttamente a 4.64.

    Essendo il minimo della candela zero pari a 4.39, il range che io ho definito come ABS(tradeprice – PrezzoStopLoss) dovrebbe essere = ABS(4.64-4.39) = 0.25, quindi la vendita dovrebbe avvenire al prezzo di  4.39 o  4.89 ed invece avviene a 4.65, perché?

    La maggior parte delle posizioni la procedura le chiude correttamente ma alcune, tipo questa, no.  Se riesci a scovare il motivo te ne sarei infinitamente grato.

    zzz.jpg zzz.jpg
    #117631 quote
    robertogozzi
    Moderator
    Master
    1. A che serve quel “1*” alla riga 17? qualunque numero moltiplicato per 1 resta invariato!
    2. Gli hai detto che il profitto deve essere allo stesso prezzo dello stop loss, quindi avendolo superato esce immediatamente a mercato.

    Ad ogni modo, quando fai degli esempi, per poterlo ricreare e fare le dovute verifiche occorre sapere:

    • strumento
    • tf
    • data e ora delle candele
    #117651 quote
    Guidoz
    Participant
    New

    Grazie Roberto per essere intervenuto. Allora:

    1. Quel “1” non serve a niente… sorvola pure
    2. Continuo a non capire…”SET STOP LOSS” e “SET TARGET PROFIT” (me l’avevi scritto tu stesso in un altro post) richiedono un’intervallo di prezzo, che va a sottrarsi al prezzo d’entrata nel caso del SET STOP o a sommarsi nel caso del TARGET PROFIT. Con riferimento all’immagine (minimo della candela zero = PrezzoStopLoss = 4.39) avrei: ABS(tradeprice – PrezzoStopLoss) = ABS(4.64-4.39) = 0.25, quindi la vendita dovrebbe avvenire in SET STOP al prezzo di  4.39 (=4.64-0.25) o in TARGET PROFIT al prezzo di 4.89 (=4.64+0.25), non capisco da dove salti fuori 4.65…la cosa strana è che comunque questa incongruenza l’ho trovata in un paio di operazioni su una trentina, quindi non ovunque.
    3. Riguardo agli altri punti: strumento: azione Azimut; TF: giornaliero; data e ora delle candele: si legge dall’immagine

    Grazie.

    #117653 quote
    robertogozzi
    Moderator
    Master

    Azimut il 23/9/2011 sul mio grafico (IG cfd) valeva 2.85 e non ha aperto nessuna operazione. La differenza è che tu operi sui Futures, mentre io sui Cfd.

    Ad ogni modo per lo stop loss hai ragione, il calcolo che hai fatto è giusto.

    Gli errori sono sempre su operazioni che si aprono e chiudono sulla stessa barra?  Perché TRADEPRICE viene valorizzato alla candela successiva all’entrata, quindi alle righe 16 e 17 fa il calcolo non sul prezzo d’entrata attuale, ma su quello della precedente operazione, all’entrata, poi lo modifica per le barre successive alla prima.

    Prova ad usare Prezzo al posto di Tradeprice.

    #117676 quote
    Guidoz
    Participant
    New

    Hai ragione Roberto: l’incongruenza avviene solo nelle barre che si aprono e chiudono in giornata perchè Tradeprice si concretizza solo con la barra successiva all’operazione.

    Il tuo suggerimento risolve in parte (seppur di moto) il problema, nel senso che se la candela in cui deve avvenire l’acquisto apre ad un prezzo superiore al valore che io ho definito come Prezzo, a quel punto i miei limiti di SET STOP LOSS e SET TARGET PROFIT non fanno riferimento all’effettivo prezzo d’acquisto. Non c’è modo di catturare il prezzo d’entrata nella candela nella stessa candela? Bisogna per forza aspettare l’originarsi della candela successiva?

    #117681 quote
    robertogozzi
    Moderator
    Master

    No, perché l’ordine viene inserito alla chiusura della candela e ancora non si può sapere a che prezzo aprirà la successiva (anche se è questione di pochi millisecondi).

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

Condizione d'acquisto sul prezzo d'apertura


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Guidoz @guidoz Participant
Summary

This topic contains 7 replies,
has 2 voices, and was last updated by robertogozzi
6 years ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 01/15/2020
Status: Active
Attachments: 1 files
Logo Logo
Loading...