Trading system su massimi e minimi
Forums › ProRealTime forum Italiano › Supporto ProOrder › Trading system su massimi e minimi
- This topic has 17 replies, 2 voices, and was last updated 5 years ago by R05.
-
-
04/01/2019 at 1:49 PM #95214
Gent.mi vorrei costruire un trading system che riesca a vendere il più possibile sui massimi e a comprare il più possibile sui minimi. Per l’individuazione si questi massimi e minimi vorrei partire da questo: cioè vorrei prendere in considerazione solo quei massimi e minimi che si formano dopo degli eccessi (parola un pò vaga effettivamente, perchè come si fa a considerare un eccesso?) e iniziare con quelli che si formano dopo che il sottostante, in questo caso dax, abbia fatto almeno 80 punti a rialzo o al ribasso. Quindi dopo che ha fatto 80 punti posso incominciare a considerare un max e min.
Ho messo giù un sistema ma mi manca questa informazione. E’ una prima bozza.
123456789101112131415161718192021222324// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Il sistema cancellerà tutti gli ordini in attesa e chiuderà tutte le posizioni a 0:00. Dopo l'orario "Flat Before" non saranno piazzati nuovi ordini o posizioni.DEFPARAM FLATBEFORE = 090000// Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all'orario "Flat After"DEFPARAM FLATAFTER = 173000// Condizioni per entrare su posizioni longc1 = dlow(0)if low = c1 thenBUY 1 CONTRACT AT low[1] stopENDIF// Condizioni per entrare su posizioni shortc2 = dhigh(0)IF high = c2 THENSELLSHORT 1 CONTRACT AT high[1] stopENDIF// Stop e targetSET STOP pLOSS 10SET TARGET pPROFIT 1504/01/2019 at 3:25 PM #95224Innanzitutto le tue righe 9 e 16 ben difficilmente saranno vere, perché è quasi impossibile che un prezzo possa essere uguale ad un altro, secondo me dovresti usare <= oppure >=.
Dve avere fatto 80 punti da quando?
04/01/2019 at 4:25 PM #95236Si Roberto grazie. Le linee 9 e 16 non me le ha fatte modificare dandomi errore, ma ho modificato le linee 11 e 18 e mi fa entrare sul massimo o minimo della candela precedente alla candela di setup, non male, da approfondire perchè sembra interessante (non avevo intuito questo possibile modo di entrare).
Ecco il codice aggiornato.
123456789101112131415161718192021222324// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Il sistema cancellerà tutti gli ordini in attesa e chiuderà tutte le posizioni a 0:00. Dopo l'orario "Flat Before" non saranno piazzati nuovi ordini o posizioni.DEFPARAM FLATBEFORE = 090000// Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all'orario "Flat After"DEFPARAM FLATAFTER = 173000// Condizioni per entrare su posizioni longc1 = dlow(0)if low <= c1 thenBUY 1 CONTRACT AT low[1] stopENDIF// Condizioni per entrare su posizioni shortc2 = dhigh(0)IF high >= c2 THENSELLSHORT 1 CONTRACT AT high[1] stopENDIF// Stop e targetSET STOP pLOSS 10SET TARGET pPROFIT 15Riguardo la tua domanda lo vorrei fare, tendenzialmente, 80 punti dal prezzo di apertura delle 9:00; anche se poi vorrei fare una prova anche dall’ultimo minimo o massimo registrato perchè, come nell’esempio che allego, il massimo avuto dopo il candelone verde non ha superato di 80 punti il prezzo d’apertura, però rispetto ai minimo di giornata si, e quindi quel movimento lo vorrei comunque considerare in quanto abbastanza grosso, e quindi presumibilmente può essere un eccesso da cui dovrebbe, si spera, rifiatare e stornare un pò.
04/01/2019 at 4:41 PM #95242Hai ragione, erano le righe 11 e 18 da cambiare.
Alla riga 7 inserisci (puoi usare anche OpenTime, invece di Time, ma in questo caso dovrai usare open invece di close):
1234IF time = 090000 THENPrezzoOre9 = closeENDIFc3 = abs(close - PrezzoOre9) >= 80 * pipsizeed alle righe 11 e 18 aggiungi con AND la condizione C3.
04/01/2019 at 8:43 PM #9525904/01/2019 at 11:06 PM #95266Nel fare le prove e quindi nel cercare di migliorare il codice, vorrei provare questa condizione: vorrei mettere lo stop sopra il massimo o sotto il minimo e il sistema deve aprire solo quelle operazioni che non superano un tot di stop: cioè se tra la’apertura long, ad esempio, e il minimo della barra precedente ci sono più di 10 punti non mi deve aprire la posizione. Si può fare?
04/01/2019 at 11:54 PM #95269Di quale Minimo e Massimo stai parlando?
Che cos’è lo Stop di cui hai scritto?
04/02/2019 at 6:57 AM #95277Si Roberto ora mi chiarisco meglio. Invece di mettere uno stop fisso, vorrei provare a mettere lo stop sul massimo o minimo più alti: ti allego la schermata di esempio: la candela 1 è il massimo di giornata e supera 80 punti dall’apertura, poi al punto 2 c’è un nuovo massimo torna indietro: l’apertura è sul massimo della candela 1, mentre lo stop loss lo vorrei provare a mettere sul massimo della candela 2 che a quel punto è diventato il massimo di giornata.
Vorrei, a questo punto, però, scartare quei trade la cui differenza tra massimo o minimo e prezzo di apertura sia superiore i 10 punti come stop (se mettessi uno stop loss fisso mi farebbe fare qualsiasi operazione anche se la differenza tra massimo e prezzo di apertura è superiore a 10 punti).
04/02/2019 at 11:23 AM #95307Manca la foto.
04/02/2019 at 11:35 AM #9530904/02/2019 at 11:37 AM #9531104/02/2019 at 2:05 PM #95334Intendi il massimo delle giornata in corso?
Può cambiare più volte, arrivati al massimo della candela 1, cosa deve fare la strategia, entra subito? oppure aspetta che faccia un altro massimo? E se il nuovo massimo non lo fa e va subito giù?
Un conto è osservare un grafico DOPO che i fatti sono accaduti, un altro è cercare di precederli.
Occorre una regola ben definita di quando entrare (e di quando uscire).
04/02/2019 at 3:02 PM #95340Si Roberto ora ti dico quello che vorrei fare. Riporto il codice completo aggiornato.
1234567891011121314151617181920212223242526272829// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Il sistema cancellerà tutti gli ordini in attesa e chiuderà tutte le posizioni a 0:00. Dopo l'orario "Flat Before" non saranno piazzati nuovi ordini o posizioni.DEFPARAM FLATBEFORE = 090000// Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all'orario "Flat After"DEFPARAM FLATAFTER = 173000IF time = 090000 THENPrezzoOre9 = closeENDIFc3 = abs(close - PrezzoOre9) >= 80 * pipsize// Condizioni per entrare su posizioni longc1 = dlow(0)if low <= c1 and c3 thenBUY 1 CONTRACT AT low[1] stopENDIF// Condizioni per entrare su posizioni shortc2 = dhigh(0)IF high >= c2 and c3 THENSELLSHORT 1 CONTRACT AT high[1] stopENDIF// Stop e targetSET STOP pLOSS 10SET TARGET pPROFIT 15Esempio short (immagine allegata, dax time frame 15 minuti): il sistema dopo che il prezzo ha fatto almeno 80 punti, prendo in considerazione un eventuale short, perchè potrebbe essere più probabile uno storno. Però, non viene subito aperta, a prescindere, una posizione short; perchè oltre a questa condizione vorrei che se ne verificassero altre due: la prima è che vorrei entrare se si verifica una candela che contiene il massimo di giornata, a quel momento, e quindi entrare short alla rottura del minimo della candela stessa. Inoltre, come altra condizione, invece che mettere uno stop fisso di 15 punti (che mi farebbe aprire qualsiasi operazione) vorrei mettere lo stop sopra il massimo della candela di setup, però lo stop (massimo della candela – apertura posizione) non deve superare 15 punti (perchè il rischio sarebbe troppo alto; sto valutando quanti punti potrebbe essere meglio): se lo stop supera 15 punti, anche se ci sono le prime due condizioni (gli 80 punti e la rottura del minimo della candela col massimo) non deve aprire nessuna posizione.
04/02/2019 at 3:27 PM #95344Per vedere i Minimi/Massimi di giornata puoi anche mettere sul grafico questo indicatore (l’ho fatto per fare la prova):
1234567891011DEFPARAM CalculateOnLastBars = 1000DEFPARAM DrawOnLastBarOnly = trueIF BarIndex = 0 OR IntraDayBarIndex = 0 THENMassimo = 0Minimo = 9999999ENDIFMinimo = min(Minimo,low)Massimo = max(Massimo,high)DRAWHLINE(Massimo) coloured(0,192,0,255)DRAWHLINE(Minimo) coloured(0,192,0,255)RETURN04/02/2019 at 3:43 PM #95345Prova a verificare se questa versione, modificata, fa l’entrate giuste, poi vederemo lo SL e TP:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Il sistema cancellerà tutti gli ordini in attesa e chiuderà tutte le posizioni a 0:00. Dopo l'orario "Flat Before" non saranno piazzati nuovi ordini o posizioni.DEFPARAM FLATBEFORE = 090000// Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all'orario "Flat After"DEFPARAM FLATAFTER = 173000IF OnMarket THENPrezzoShort = 0PrezzoLong = 0ENDIFif PrezzoLong THENBUY 1 CONTRACT AT PrezzoLong stopENDIFif PrezzoShort THENSELLSHORT 1 CONTRACT AT PrezzoShort stopENDIFIF time = 090000 THENPrezzoOre9 = closeENDIFc3 = abs(close - PrezzoOre9) >= 80 * pipsize// Condizioni per entrare su posizioni longc1 = dlow(0)if low <= c1 and c3 thenPrezzoLong = highBUY 1 CONTRACT AT PrezzoLong stopENDIF// Condizioni per entrare su posizioni shortc2 = dhigh(0)IF high >= c2 and c3 THENPrezzoShort = lowSELLSHORT 1 CONTRACT AT PrezzoShort stopENDIF// Stop e targetSET STOP pLOSS 10SET TARGET pPROFIT 15graphonprice Dlow(0) coloured(192,0,0,255) AS "Dlow"graphonprice Dhigh(0) coloured(0,192,0,255) AS "Dhigh"graphonprice PrezzoOre9 coloured(0,0,255,255) AS "Ore9"Osserva nella foto le tre linee stampate sul grafico con le ultime 3 righe che ho aggiunto, in tal mode segui i valori in mdodo molto più semplice.
-
AuthorPosts
Find exclusive trading pro-tools on