Idea programmazione su MIB

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #80186 quote
    foxroger
    Participant
    New

    Ciao a tutti. Sono un nuovo entusiasta beginner di questa piattaforma. Vorrei subito condividere con voi la mia idea sul Mib (Italy40). La sto testando manualmente empiricamente… sarebbe bello fare un backtest usando ProOrder. per questo vi chiedo aiuto per scriver il codice. L’idea base è la seguente.

    Sul Mib timeframe 1 minuto. Attendere la chiusura della candela delle ore 9:00.

    Se è verde allora alla chiusura della candela delle 9:02 aprire una posizione long con SL a 40 punti e Tp a 40.

    Viceversa se la candela delle 9:00 è rossa allora alle 9:03 aprire una posizione short SL 40 e Tp a 40.

    Sarebbe fattibile?

    Il passo successivo è: se si va in profitto oltre i 35 punti allora valutare un trailing stop con un range di 30 punti.

    Qualcuno mi da una mano a scrivere il codice per ProRealTime? Grazie.

    #80188 quote
    robertogozzi
    Moderator
    Master

    Si può fare, te lo farò entro domani mattina.

    Ciao.

    #80217 quote
    robertogozzi
    Moderator
    Master

    Provalo e fammi sapere:

    DEFPARAM CumulateOrders = FALSE
    Orario = OpenTime
    IF Not OnMarket THEN
       StopLoss  = 0
       IF Orario = 090200 THEN
          IF close[2] > open[2] THEN        //Candela delle 090000 rialzista
             BUY 1 CONTRACT AT MARKET
             SET TARGET pPROFIT 40
             SET STOP   pLOSS   40
          ENDIF
       ELSIF Orario = 090300 THEN
          IF close[3] < open[3] THEN        //Candela delle 090000 ribassista
             SELLSHORT 1 CONTRACT AT MARKET
             SET TARGET pPROFIT 40
             SET STOP   pLOSS   40
          ENDIF
       ENDIF
    ENDIF
    IF LongOnMarket THEN
       IF (close - TRADEPRICE) >= (35 * pipsize) THEN
          StopLoss = TRADEPRICE - (5 * pipsize)
       ENDIF
    ELSIF ShortOnMarket THEN
       IF (TRADEPRICE - close) >= (35 * pipsize) THEN
          StopLoss = TRADEPRICE + (5 * pipsize)
       ENDIF
    ENDIF
    IF StopLoss THEN
       IF LongOnMarket THEN
          SELL      AT StopLoss STOP
       ELSIF ShortOnMarket THEN
          EXITSHORT AT StopLoss STOP
       ENDIF
    ENDIF
    #80287 quote
    foxroger
    Participant
    New

    Grazie, molto gentile e molto veloce. L’ho provato in demo questa mattina ed è andato subito in stop loss. 🙁

    ma questo significa che il codice funziona.

    Lo sto provando in demo. Vediamo i prossimi giorni come si comporta con il profitto.

    Purtroppo, da quanto poco so di ProOrder il back test arriva fino a 10.000 candele che nel timeframe a 1 minuto significa al massimo una settimana indietro. Non posso testare quindi la strategia oltre. Ti farò sapere come va.

    #80295 quote
    robertogozzi
    Moderator
    Master

    Il backtest su demo arriva a 100000 unità, circa 3 mesi per il TF a 1 minuto.

    Hai variato le unità dove io ho cerchiato (nel mio caso sono 200000 perché è il conto reale di IG) ?

    #80316 quote
    foxroger
    Participant
    New

    Ancora grazie della dritta. Ora riesco ad andare più indietro nel tempo.

    Non mi convince il fatto che la massima vincita sia sempre di 40. Come se non funzionasse il trailng stop. Forse non mi sono spiegato bene.

    Vorrei che se apro una posizione long e vado in profitto di 35 punti allora lo stop loss venga spostato da -40 a +5. Poi se il guadagno continua e si alza di altri x punti, anche lo stop loss si sposta in alto restando sempre a 30 punti dal prezzo.

    x dovrebbe essere una variabile in modo da poter trovare la configurazione giusta. Es potrebbe valere come prima ipotesi 20 punti.

    Esempio: ore 9:00 la candela è verde. Ore 9:02 apro posizione in long con 1 lotto (es. al prezzo di 100 euro) e SL a -40 punti (60 euro). Quando vado in profitto di 35 punti  (135 euro) lo SL si sposta a -30 punti dal prezzo (105 euro). Se prendo lo SL guadagno 5 euro.

    Se invece il prezzo sale ancora di (x=20 punti) arriva a 55 punti (155 euro) allora lo SL deve seguire sempre a -30 dal prezzo (quindi a 25 punti = 125 euro) e così via fino a quando non prendo uno SL.

    Stesso discorso per l’inverso in caso di short.

    Fattibile?

    #80323 quote
    robertogozzi
    Moderator
    Master

    Ok, te lo faccio (dammi un pò di tempo).

    #80459 quote
    robertogozzi
    Moderator
    Master

    Ecco la strategia modificata come vuoi tu, dopo i primi 35 pips di profitto SEMPRE 30 pips sotto il massimo raggiunto (ho aumentato il TP a 100 pips per fare le prove, altrimenti si chiude senza fare trailing):

    DEFPARAM CumulateOrders = FALSE
    ONCE Distanza = 30 * pipsize              //mantenersi 30 pips sotto il prezzo
    Orario = OpenTime
    IF Not OnMarket THEN
       Soglia    = 35 * pipsize               //iniziare da 35 pips di profitto a fare trailing
       StopLoss  = 0
       IF orario = 090200 THEN
          IF close[2] > open[2] THEN          //Candela delle 090000 rialzista
             BUY 1 CONTRACT AT MARKET
             SET TARGET pPROFIT 100
             SET STOP   pLOSS   40
          ENDIF
       ELSIF Orario = 090300 THEN
          IF close[3] < open[3] THEN          //Candela delle 090000 ribassista
             SELLSHORT 1 CONTRACT AT MARKET
             SET TARGET pPROFIT 100
             SET STOP   pLOSS   40
          ENDIF
       ENDIF
    ENDIF
    IF LongOnMarket THEN
       x = (close - TRADEPRICE)
       IF x >= Soglia THEN
          Soglia   = x
          StopLoss = close - Distanza
       ENDIF
    ELSIF ShortOnMarket THEN
       x = (TRADEPRICE - close)
       IF x >= Soglia THEN
          Soglia   = x
          StopLoss = close + Distanza
       ENDIF
    ENDIF
    IF StopLoss THEN
       IF LongOnMarket THEN
          SELL      AT StopLoss STOP
       ELSIF ShortOnMarket THEN
          EXITSHORT AT StopLoss STOP
       ENDIF
    ENDIF
    #80989 quote
    foxroger
    Participant
    New

    Ok. Grazie mille. Con i tuoi esempi sto iniziando ad imparare la programmazione di ProOrder. A prima vista non sembra difficilissimo. Sembra basic. Devo impratichirmi con i comadi e le sintassi.

    Ritornando all’idea Mib i backtest non sono molto positivi purtroppo. Soprattutto se si considerano i 15 punti di spread di IG. Con quelli la equity scende drasticamente.  Ti aggiungo in allegato un excel con i test “manuali” che sto facendo. Lo stop loss fisso a 40 punti sembra essere un buon parametro. Bisogna lavorare per trovare una regola per far scattare il TP al momento giusto. Come si vede nel file molte volte sarebbe bene uscire a 35 punti (evidenziati in giallo) ma alle volte sarebbe opportuno tenere la posizione fino oltre i 100 con un picco anche a 400.

    A qualcuno viene in mente un codice per sfruttare al meglio le giornate nelle quali si va in guadagno?

    Grazie.

    #81035 quote
    Alessio
    Participant
    Senior

    Ciao, prova a girare la posizione dopo l’uscita. Se chiudi il long ti metti short, almeno sei a mercato per più tempo

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

Idea programmazione su MIB


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
foxroger @foxroger Participant
Summary

This topic contains 9 replies,
has 3 voices, and was last updated by Alessio
7 years, 4 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 09/11/2018
Status: Active
Attachments: 2 files
Logo Logo
Loading...