Idea programmazione su MIB
Forums › ProRealTime forum Italiano › Supporto ProOrder › Idea programmazione su MIB
- This topic has 9 replies, 3 voices, and was last updated 6 years ago by Alessio.
Tagged: Idea, MIB, Programmazione
-
-
09/11/2018 at 4:01 PM #80186
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.
09/11/2018 at 4:43 PM #80188Si può fare, te lo farò entro domani mattina.
Ciao.
09/12/2018 at 12:48 AM #80217Provalo e fammi sapere:
12345678910111213141516171819202122232425262728293031323334DEFPARAM CumulateOrders = FALSEOrario = OpenTimeIF Not OnMarket THENStopLoss = 0IF Orario = 090200 THENIF close[2] > open[2] THEN //Candela delle 090000 rialzistaBUY 1 CONTRACT AT MARKETSET TARGET pPROFIT 40SET STOP pLOSS 40ENDIFELSIF Orario = 090300 THENIF close[3] < open[3] THEN //Candela delle 090000 ribassistaSELLSHORT 1 CONTRACT AT MARKETSET TARGET pPROFIT 40SET STOP pLOSS 40ENDIFENDIFENDIFIF LongOnMarket THENIF (close - TRADEPRICE) >= (35 * pipsize) THENStopLoss = TRADEPRICE - (5 * pipsize)ENDIFELSIF ShortOnMarket THENIF (TRADEPRICE - close) >= (35 * pipsize) THENStopLoss = TRADEPRICE + (5 * pipsize)ENDIFENDIFIF StopLoss THENIF LongOnMarket THENSELL AT StopLoss STOPELSIF ShortOnMarket THENEXITSHORT AT StopLoss STOPENDIFENDIF09/12/2018 at 3:50 PM #80287Grazie, 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.
09/12/2018 at 4:37 PM #80295Il 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) ?
09/12/2018 at 8:39 PM #80316Ancora 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?
09/12/2018 at 11:20 PM #80323Ok, te lo faccio (dammi un pò di tempo).
09/14/2018 at 9:35 AM #80459Ecco 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):
12345678910111213141516171819202122232425262728293031323334353637383940DEFPARAM CumulateOrders = FALSEONCE Distanza = 30 * pipsize //mantenersi 30 pips sotto il prezzoOrario = OpenTimeIF Not OnMarket THENSoglia = 35 * pipsize //iniziare da 35 pips di profitto a fare trailingStopLoss = 0IF orario = 090200 THENIF close[2] > open[2] THEN //Candela delle 090000 rialzistaBUY 1 CONTRACT AT MARKETSET TARGET pPROFIT 100SET STOP pLOSS 40ENDIFELSIF Orario = 090300 THENIF close[3] < open[3] THEN //Candela delle 090000 ribassistaSELLSHORT 1 CONTRACT AT MARKETSET TARGET pPROFIT 100SET STOP pLOSS 40ENDIFENDIFENDIFIF LongOnMarket THENx = (close - TRADEPRICE)IF x >= Soglia THENSoglia = xStopLoss = close - DistanzaENDIFELSIF ShortOnMarket THENx = (TRADEPRICE - close)IF x >= Soglia THENSoglia = xStopLoss = close + DistanzaENDIFENDIFIF StopLoss THENIF LongOnMarket THENSELL AT StopLoss STOPELSIF ShortOnMarket THENEXITSHORT AT StopLoss STOPENDIFENDIF09/20/2018 at 7:18 PM #80989Ok. 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.
09/21/2018 at 6:03 PM #81035 -
AuthorPosts