Uscita dinamica in una strategia

Viewing 15 posts - 1 through 15 (of 30 total)
  • Author
    Posts
  • #214927 quote
    Ciccarelli Franco
    Participant
    Junior

    Ho trovato nel forum un vecchio post riguardante una strategia che allego

    // Stop e target: Inserisci qui i tuoi stop di protezione e profit target
    Bullish = close > open
    Bearish = close < open
    MieCondizioniLong = average[10,0](close) CROSSES OVER average[50,0](close) AND Bullish AND Not OnMarket
    MieCondizioniShort = average[10,0](close) CROSSES UNDER average[50,0](close) AND Bearish AND Not OnMarket
    IF Not OnMarket THEN
    Uscita = 0
    Flag = 0
    ENDIF
    IF OnMarket AND Not OnMarket[1] THEN
    Entrata = TradePrice //aggiorna il prezzo d’entrata a quello reale
    ENDIF
    IF MieCondizioniLong THEN
    BUY 1 CONTRACT AT MARKET
    Entrata = close //assumiamo che il prezzo d’entrata sia il prezzo
    // corrente (verrà corretto la prossima candela)
    Uscita = open
    ENDIF
    IF MieCondizioniShort THEN
    SELLSHORT 1 CONTRACT AT MARKET
    Entrata = close //assumiamo che il prezzo d’entrata sia il prezzo
    // corrente (verrà corretto la prossima candela)
    Uscita = open
    ENDIF
    IF LongOnMarket AND Flag = 0 THEN
    Uscita = max(Uscita,Entrata + ((close – Entrata) / 3))
    ENDIF
    IF ShortOnMarket AND Flag = 0 THEN
    Uscita = min(Uscita,Entrata – ((Entrata – close) / 3))
    ENDIF
    IF Uscita <> 0 AND ((LongOnMarket AND Bearish) OR (ShortOnMarket AND Bullish)) THEN
    Flag = 1
    ENDIF
    IF Uscita <> 0 THEN
    IF LongOnMarket THEN
    SELL AT Uscita STOP
    ELSIF ShortOnMarket THEN
    EXITSHORT AT Uscita STOP
    ENDIF
    ENDIF
    //graphonprice Entrata coloured(0,0,255,255)
    //graphonprice Uscita coloured(255,0,0,255)
    //IF ShortOnMarket THEN
    //graph (Entrata – close) / PipSize
    //ELSE
    //graph (close – Entrata) / PipSize
    //ENDIF
    //graph Flag

    ho provato a cambiare le condizioni di ingresso nel modo in allegato, ma non mi funziona,

    la strategia iniziale è di Roberto, chiedo aiuto.

    // Stop e target: Inserisci qui i tuoi stop di protezione e profit target
    N = n
    bullish = close > open
    bearish = close < open
    L1 = (summation[N](bearish) = N)
    S1 = (summation[N](bullish) = N)
    X1 = high >= high[1]
    X2 = low <= low[1]
    X3 = max(open,close) >= max(open[1],close[1])
    X4 = min(open,close) <= min(open[1],close[1])
    miecondizionilong = L1 AND X1 AND X2 AND X3 AND X4 AND bullish AND Not OnMarket
    miecondizionishort = S1 AND X1 AND X2 AND X3 AND X4 AND bearish AND Not OnMarket

    IF Not OnMarket THEN
    Uscita = 0
    Flag = 0
    ENDIF
    IF OnMarket AND Not OnMarket[1] THEN
    Entrata = TradePrice //aggiorna il prezzo d’entrata a quello reale
    ENDIF
    IF miecondizionilong THEN
    BUY 1 CONTRACT AT MARKET
    Entrata = close //assumiamo che il prezzo d’entrata sia il prezzo
    // corrente (verrà corretto la prossima candela)
    Uscita = open
    ENDIF
    IF miecondizionishort THEN
    SELLSHORT 1 CONTRACT AT MARKET
    Entrata = close //assumiamo che il prezzo d’entrata sia il prezzo
    // corrente (verrà corretto la prossima candela)
    Uscita = open
    ENDIF
    IF LongOnMarket AND Flag = 0 THEN
    Uscita = max(Uscita,Entrata + ((close – Entrata) / 3))
    ENDIF
    IF ShortOnMarket AND Flag = 0 THEN
    Uscita = min(Uscita,Entrata – ((Entrata – close) / 3))
    ENDIF
    IF Uscita <> 0 AND ((LongOnMarket AND Bearish) OR (ShortOnMarket AND Bullish)) THEN
    Flag = 1
    ENDIF
    IF Uscita <> 0 THEN
    IF LongOnMarket THEN
    SELL AT Uscita STOP
    ELSIF ShortOnMarket THEN
    EXITSHORT AT Uscita STOP
    ENDIF
    ENDIF
    //graphonprice Entrata coloured(0,0,255,255)
    //graphonprice Uscita coloured(255,0,0,255)
    //IF ShortOnMarket THEN
    // graph (Entrata – close) / PipSize
    //ELSE
    // graph (close – Entrata) / PipSize
    //ENDIF
    //graph Flag

    #214933 quote
    GraHal
    Participant
    Master

    Si prega di fornire il collegamento alla fonte del codice di cui sopra?

    Grazie

    #214940 quote
    robertogozzi
    Moderator
    Master

    Alla riga 2 occorre un valore numerico (va bene così solo se n è una variabile per il backtest):

    N = 5

    Ma l’errore, logico, è nelle righe 5 e 6, che devi sostituire con queste:

    L1 = (summation[N](bearish[1]) = N)
    S1 = (summation[N](bullish[1]) = N)

    in modo da escludere la candela corrente dal conteggio, altrimenti le condizioni alle rigghe 11 e 12 non saranno mai verificate, in quanto per i Long vuoi una candela Bullish (mentre il conteggio lo fai su quelle Bearish), viceversa per gli Short. Per questi motivo non poteva entrare.

    #214944 quote
    Ciccarelli Franco
    Participant
    Junior

    Per GraHal

    GraHal thanked this post
    #214946 quote
    Ciccarelli Franco
    Participant
    Junior

    Per Roberto,

    Ho provato, ma non cambia nulla.

    #214949 quote
    Ciccarelli Franco
    Participant
    Junior

    Comunque come posso aggiungere al codice originale dei comandi di ingresso diverso dalle medie mobili?

    #214971 quote
    robertogozzi
    Moderator
    Master

    Tu hai pubblicato un codice modificato nel tuo primo post e con la mia modifica funziona perfettamente (provato sul DAX, 39 minuti).

    Ad ogni modo a me funziona anche il primo.

    Entrambi aprono operazioni regolarmente.

    Le aggiunte vuoi farle sul codice del file ITF che hai allegato?  Quali modifiche vuoi fare, esattamente?

    #215025 quote
    Ciccarelli Franco
    Participant
    Junior

    Forse non mi sono spiegato bene, la prima strategia è quella trovato sul forum che avevi scritto tu a suo tempo , io ho cercato di combinare quella strategia, togliendo le entrate con medie mobili e aggiungendo altri comandi, che sarebbe la seconda, ma non funziona, forse ha sbagliato l’inserimento.

    Grazie

    #215038 quote
    robertogozzi
    Moderator
    Master

    Ame con le prime righe modificate come t ho detto, funziona benissimo:

    N = 5
    bullish = close > open
    bearish = close < open
    L1 = (summation[N](bearish[1]) = N)
    S1 = (summation[N](bullish[1]) = N)
    #215052 quote
    Ciccarelli Franco
    Participant
    Junior

    Ho riprovato con le tue modifiche sul DAX TF 1 h e mi da i risultati che ti allego, come vedi fino al 3 novembre fa dei trade che potrebbero essere reali , poi da 4 novembre fi ad oggi fa un unico trade e la cosa mi sembra strano.

    Grazie

    #215056 quote
    robertogozzi
    Moderator
    Master

    Probabilmente si è aperto un ordine che ancora non è stato chiuso. Prova a verificare.

    Dipende molto dallo Stop Loss, se usi 10 punti si chiudono facilmente le posizioni, se ne usi 150 può darsi che ci voglia molto tempo.

    #215060 quote
    Ciccarelli Franco
    Participant
    Junior

    Lo stop Löss che usavo era 70, ho provato a metterci 10 il lungo trade si è spostato dal 4 Novembre al 4 Gennaio fino alla fine, ci deve essere dell’altro che impedisce dei trade normali.

     

    Grazie

    #216962 quote
    Ciccarelli Franco
    Participant
    Junior

    Roberto, forse non ritieni interessante continuare la ricerca. Peccato, perchè per me potrebbe essere interessante, ambedue le strategie sono state fatte da te, quindi dovrebbe essere possibile aggiustarle.

    Grazie

    #216966 quote
    robertogozzi
    Moderator
    Master

    Ti spiace postare di nuovo il file ITF più recente e riepilogare ciò che non va?

    #216973 quote
    Ciccarelli Franco
    Participant
    Junior

    Allego il codice più recente , che ho ulteriormente provato , sottostante EUR/USD TF 5 minuti, allego le foto che sono perfette, ma alcontrario.

    Grazie

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

Uscita dinamica in una strategia


ProOrder: Trading Automatico & Backtesting

New Reply
Summary

This topic contains 29 replies,
has 3 voices, and was last updated by Ciccarelli Franco
2 years, 7 months ago.

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