Entrata long o short su sfondamento MIn/Max premercato su ritracciamento
Forums › ProRealTime forum Italiano › Supporto ProOrder › Entrata long o short su sfondamento MIn/Max premercato su ritracciamento
- This topic has 38 replies, 2 voices, and was last updated 2 years ago by Enrico.
-
-
08/29/2022 at 9:42 PM #199850
Buona sera a tutti avrei bisogno di ottimizzare il codice che vi posto.
Deve avvenire un nuovo max/min dopo lo sfondamento del livello “min/max premarket”,
Entrata in posizione con ordine limit quando il prezzo rimbalza sulla media esponenziale 13 periodi.
Prendere profitto all’1% per metà della posizione.
portare lo stop su livello di entrata.
123456789101112131415161718192021222324252627282930313233343536373839404142434445// 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 = 153000// Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all'orario "Flat After"DEFPARAM FLATAFTER = 163000// Impedisce al sistema di tradare in giorni specifici della settimanadaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0OTD = (Barindex - TradeIndex(1) > IntradayBarIndex)// Condizioni per entrare su posizioni longindicator1, ignored = CALL "max/min premarket"c1 = (close > indicator1)IF c1 AND not daysForbiddenEntry and OTD THENBUY 10000 CASH AT MARKETENDIF// Condizioni per uscire da posizioni longindicator2 = SuperTrend[4,52]c2 = (close CROSSES UNDER indicator2)IF c2 THENSELL AT MARKETENDIF// Condizioni per entrare su posizioni shortignored, indicator3 = CALL "max/min premarket"c3 = (close < indicator3)IF c3 AND not daysForbiddenEntry and OTD THENSELLSHORT 10000 CASH AT MARKETENDIF// Condizioni per uscire da posizioni shortindicator4 = SuperTrend[4,52]c4 = (close CROSSES OVER indicator4)IF c4 THENEXITSHORT AT MARKETENDIF// Stop e targetSET STOP %LOSS 1SET TARGET %PROFIT 1Grazie in anticipo.
08/30/2022 at 11:35 AM #199881L’ordine LIMIT a quale prezzo deve entrare?
08/30/2022 at 1:09 PM #199889Buon giorno, l’ordine limit deve avvenite quando il prezzo rimbalza sulla media esponenziale 13 periodi. praticamente appena ci sono le prime condizioni si mette un ordine allo stesso prezzo della media mobile e si aspetta che il mercato se lo vada a prendere.
grazie in anticipo.
08/30/2022 at 5:01 PM #199896Per fare delle prove serve l’indicatore max/min premarket. Puoi postare il codice, oppure indicare un link sove trovarlo.
08/30/2022 at 5:49 PM #19990208/31/2022 at 4:47 PM #199978Ecco fatto:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778// 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 = 153000// Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all'orario "Flat After"DEFPARAM FLATAFTER = 163000once RotturaL = 0once EntrataL = 0once RotturaS = 0once EntrataS = 0if OnMarket THENRotturaL = 0EntrataL = 0RotturaS = 0EntrataS = 0endifema13 = average[13,1](close)// Impedisce al sistema di tradare in giorni specifici della settimanadaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0OTD = (Barindex - TradeIndex(1) > IntradayBarIndex)// Condizioni per entrare su posizioni longMassimo, Minimo = CALL "max/min premarket"c1 = (close crosses over Massimo)IF c1 THENRotturaL = 1EntrataL = 0RotturaS = 0EntrataS = 0ENDIFIF RotturaL[1] AND (high > high[1]) THENRotturaL = 2ENDIFIF RotturaL = 2 THENIF (low <= Ema13) AND (close > ema13) THENEntrataL = Ema13ENDIFENDIFIF EntrataL > 0 AND not daysForbiddenEntry and OTD THENBUY 10000 CASH AT EntrataL LIMITRotturaS = 0EntrataS = 0ENDIF// Condizioni per uscire da posizioni longindicator2 = SuperTrend[4,52]c2 = (close CROSSES UNDER indicator2)IF c2 THENSELL AT MARKETENDIF// Condizioni per entrare su posizioni shortc3 = (close crosses under Minimo)IF c3 THENRotturaL = 1EntrataL = 0RotturaS = 1EntrataS = 0ENDIFIF RotturaS[1] AND (low < low[1]) THENRotturaS = 2ENDIFIF RotturaS = 2 THENIF (high >= Ema13) AND (close < ema13) THENEntrataS = Ema13ENDIFENDIFIF EntrataS > 0 AND not daysForbiddenEntry and OTD THENSELLSHORT 10000 CASH AT EntrataS LIMITRotturaL = 0EntrataL = 0ENDIF// Condizioni per uscire da posizioni shortindicator4 = SuperTrend[4,52]c4 = (close CROSSES OVER indicator4)IF c4 THENEXITSHORT AT MARKETENDIF// Stop e targetSET STOP %LOSS 1SET TARGET %PROFIT 108/31/2022 at 9:12 PM #19999209/01/2022 at 1:31 PM #200019Su quale strumento e timefrane l’hai provato?
09/01/2022 at 5:06 PM #20003309/02/2022 at 7:09 PM #200070Ho fatto delle correzioni di un paio di errori che avevo fatto ed ho aggiunto la chiusura di metà posizione all’1% di profitto (ho messo 0 alla riga del SET TARGET PROFIT, altrimenti chiude tutto all’1%), dopodiché esce in pareggio (oppure quando ci sono le condizioni del SuperTrend, nel caso non ritracci fino al pareggio).
Però ho avuto difficoltà a testare l’uscita del 50%, perché deve esserci qualche limite (che non conosco perché non opero su Azioni) nel tradare le azioni, in quanto ne apre un certo numero che può essere diverso di volta in volta (evidentemente le calcola in base al capitale ed al prezzo), però poi non ne chiude META’, ma un numero che non sono riuscito a capire. Probabilmente anche in questo caso ci saranno dei limiti imposti dal broker. Sul DAX ho visto che la chiusura di metà posizione funziona.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115// 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 = 153000// Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all'orario "Flat After"DEFPARAM FLATAFTER = 163000once RotturaL = 0once EntrataL = 0once RotturaS = 0once EntrataS = 0once Flag = 0if Not OnMarket THENFlag = 0Posizioni = 0ENDIFema13 = average[13,1](close)// Impedisce al sistema di tradare in giorni specifici della settimanadaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0OTD = (Barindex - TradeIndex(1) > IntradayBarIndex)// Condizioni per entrare su posizioni longMassimo, Minimo = CALL "max/min premarket"c1 = (close crosses over Massimo)IF c1 THENRotturaL = 1EntrataL = 0RotturaS = 0EntrataS = 0ENDIFIF RotturaL[1] = 1 AND (high > high[1]) THENRotturaL = 2ENDIFIF RotturaL = 2 THENIF (low <= Ema13) AND (close > ema13) THENEntrataL = Ema13ENDIFENDIFIF Time < 153000 OR Time > 163000 THENRotturaL = 0EntrataL = 0ENDIFIF EntrataL > 0 AND not daysForbiddenEntry and OTD THENBUY 10000 CASH AT EntrataL LIMITRotturaS = 0EntrataS = 0ENDIF// Condizioni per uscire da posizioni longindicator2 = SuperTrend[4,52]c2 = (close CROSSES UNDER indicator2)IF c2 THENSELL AT MARKETENDIF// Condizioni per entrare su posizioni shortc3 = (close crosses under Minimo)IF c3 THENRotturaL = 0EntrataL = 0RotturaS = 1EntrataS = 0ENDIFIF RotturaS[1] = 1 AND (low < low[1]) THENRotturaS = 2ENDIFIF RotturaS = 2 THENIF (high >= ema13) AND (close < ema13) THENEntrataS = ema13ENDIFENDIFIF Time < 153000 OR Time > 163000 THENRotturaS = 0EntrataS = 0ENDIFIF EntrataS > 0 AND not daysForbiddenEntry and OTD THENSELLSHORT 10000 CASH AT EntrataS LIMITRotturaL = 0EntrataL = 0ENDIF// Condizioni per uscire da posizioni shortindicator4 = SuperTrend[4,52]c4 = (close CROSSES OVER indicator4)IF c4 THENEXITSHORT AT MARKETENDIF//if OnMarket THENRotturaL = 0EntrataL = 0RotturaS = 0EntrataS = 0endif// Stop e targetIF OnMarket AND ((PositionPerf * 100) >= 1) AND Flag = 0 THENPosizioni = abs(CountOfPosition) / 2Flag = 1IF LongOnMarket THENSELL Posizioni CASH AT MarketELSEEXITSHORT Posizioni CASH AT MarketENDIFSet Stop BreakevenENDIFSET STOP %LOSS 1SET TARGET %PROFIT 0////graphonprice Massimo coloured(0,0,255,255)//graphonprice Minimo coloured(255,0,0,255)//graphonprice ema13 coloured(0,128,0,155)//graph RotturaL coloured(0,0,255,255)//graph RotturaS coloured(255,0,0,255)//graph c1//graph c3//graph PositionPerf//graph PositionPerf * 100//graph PositionPrice * PositionPerf / PipSize * PipValue//graph abs(CountOfPosition)//graph Posizioni09/02/2022 at 7:37 PM #200071VERAMENTE OTTIMO LAVORO! Per quanto riguarda il fatto della chiusura di metà posizione si potrebbe risolvere inserendo in entrata una quantità di azioni (variabile manualmente per ogni trade) al posto di cash. E in uscita al posto del 50% una quantità di azioni ( variabile manualmente). Mi diresti come inserire i dati? Veramente un grosso MILLE GRAZIE!
09/03/2022 at 10:38 AM #200077Eccolo, i due dati sono alle righe 7 e 8:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118// 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 = 153000// Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all'orario "Flat After"DEFPARAM FLATAFTER = 163000once AzioniEntrata = 10000 //Numero di azioni da tradare all'entrataonce AzioniUscita = 5000 //Numero di azioni da chiudere al raggiongimento dell'1% di profittoonce RotturaL = 0once EntrataL = 0once RotturaS = 0once EntrataS = 0once Flag = 0if Not OnMarket THENFlag = 0Posizioni = 0ENDIFema13 = average[13,1](close)// Impedisce al sistema di tradare in giorni specifici della settimanadaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0OTD = (Barindex - TradeIndex(1) > IntradayBarIndex)// Condizioni per entrare su posizioni longMassimo, Minimo = CALL "max/min premarket"c1 = (close crosses over Massimo)IF c1 THENRotturaL = 1EntrataL = 0RotturaS = 0EntrataS = 0ENDIFIF RotturaL[1] = 1 AND (high > high[1]) THENRotturaL = 2ENDIFIF RotturaL = 2 THENIF (low <= Ema13) AND (close > ema13) THENEntrataL = Ema13ENDIFENDIFIF Time < 153000 OR Time > 163000 THENRotturaL = 0EntrataL = 0ENDIFIF EntrataL > 0 AND not daysForbiddenEntry and OTD THENBUY AzioniEntrata CASH AT EntrataL LIMITRotturaS = 0EntrataS = 0ENDIF// Condizioni per uscire da posizioni longindicator2 = SuperTrend[4,52]c2 = (close CROSSES UNDER indicator2)IF c2 THENSELL AT MARKETENDIF// Condizioni per entrare su posizioni shortc3 = (close crosses under Minimo)IF c3 THENRotturaL = 0EntrataL = 0RotturaS = 1EntrataS = 0ENDIFIF RotturaS[1] = 1 AND (low < low[1]) THENRotturaS = 2ENDIFIF RotturaS = 2 THENIF (high >= ema13) AND (close < ema13) THENEntrataS = ema13ENDIFENDIFIF Time < 153000 OR Time > 163000 THENRotturaS = 0EntrataS = 0ENDIFIF EntrataS > 0 AND not daysForbiddenEntry and OTD THENSELLSHORT AzioniEntrata CASH AT EntrataS LIMITRotturaL = 0EntrataL = 0ENDIF// Condizioni per uscire da posizioni shortindicator4 = SuperTrend[4,52]c4 = (close CROSSES OVER indicator4)IF c4 THENEXITSHORT AT MARKETENDIF//if OnMarket THENRotturaL = 0EntrataL = 0RotturaS = 0EntrataS = 0endif// Stop e targetIF OnMarket AND ((PositionPerf * 100) >= 1) AND Flag = 0 THENPosizioni = abs(CountOfPosition) / 2Posizioni = AzioniUscitaFlag = 1IF LongOnMarket THENSELL Posizioni CASH AT MarketELSEEXITSHORT Posizioni CASH AT MarketENDIFSet Stop BreakevenENDIFSET STOP %LOSS 1SET TARGET %PROFIT 0////graphonprice Massimo coloured(0,0,255,255)//graphonprice Minimo coloured(255,0,0,255)//graphonprice ema13 coloured(0,128,0,155)//graph RotturaL coloured(0,0,255,255)//graph RotturaS coloured(255,0,0,255)//graph c1//graph c3//graph PositionPerf//graph PositionPerf * 100//graph PositionPrice * PositionPerf / PipSize * PipValue//graph abs(CountOfPosition)//graph Posizioniallego anche il file ITF, se preferisci importarlo.
09/03/2022 at 10:49 AM #20007909/03/2022 at 11:22 AM #200082Sostituisci la riga 8 con:
1once AzioniUscita = AzioniEntrata * 0.30 //chiudere il 30% delle Azioni09/03/2022 at 1:41 PM #200086 -
AuthorPosts
Find exclusive trading pro-tools on