DAX 2 ORE LONG DALL ORE 17.00 ALLE 23.00
Forums › ProRealTime forum Italiano › Supporto ProBuilder › DAX 2 ORE LONG DALL ORE 17.00 ALLE 23.00
- This topic has 13 replies, 2 voices, and was last updated 4 weeks ago by
10081970.
-
-
02/04/2025 at 10:32 PM #243466
Buongiorno a tutti,
avrei bisogno del vs. aiuto per implementare il tool allegato per garantire la chiusura del trade ogni sera alle 22.00 su timeframe 2 ore. Inoltre vi chiedo come si legge la funzione c1 = (close[1] > DClose(24)[1]) e se il time frame viene definito in base a quello in cui si fa il backtest.// Definizione dei parametri del codice
DEFPARAM 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 = 170000
// Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all’orario “Flat After”
DEFPARAM FLATAFTER = 230000
// Impedisce al sistema di tradare in giorni specifici della settimana
daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
// Condition to limit only one trade per day
firstbar = barindex – intradaybarindex
if tradeindex(1) < firstbar then nottraded = 1 elsif tradeindex(1) >= firstbar then
traded = 0
endif
// Condizioni per entrare su posizioni long
c1 = (close[1] > DClose(24)[1])
IF c1 AND not daysForbiddenEntry THEN
BUY 1 CONTRACT AT MARKET
ENDIF
SET STOP pLOSS 180
SET TARGET pROFIT 18002/05/2025 at 12:27 PM #243478c1 = (close[1] > DClose(24)[1]) significa che la variabile c1 avrà valore logico VERO, cioè 1, quando il prezzo di chiusura della barra precedente (close[1]) è > del prezzo di chiusura giornaliero del 24esimo giorno precedente ( DClose(24)) aggiornato alla barra precedente ([1] alla fine).
Cioè se sei su un timeframe orario e sono le ore 120000, c1 sarà VERA se (close[1]) (prezzo di chiusura della barra delle 110000) è > del prezzo di chiusura giornaliero del 24esimo giorno precedente ( DClose(24)) aggiornato alle 110000.
Per quanto rigarda le 220000, DEFPARAM FLATAFTER vuole un orario in cui la candela chiuda, per essere preciso; siccome la candela a 2ore inizia alle 21 e chiude alle 23, ecco che chiude alle 23.
Devi usare le tue condizioni sempre sul timeframe a 2 ore, però devi usare sul grafico un timeframe che abbia la candela che chiude alle 22 (può essere 1 ora, 15 minuti, ecc…).
Ecco il codice modificato con il timeframe a 2 ore che io ho provato sul Timeframe orario:12345678910111213141516171819202122232425// 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 = 170000// Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all'orario "Flat After"DEFPARAM FLATAFTER = 220000//Timeframe(2h,UpDateOnClose)// Impedisce al sistema di tradare in giorni specifici della settimanadaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0// Condition to limit only one trade per dayfirstbar = barindex - intradaybarindexif tradeindex(1) < firstbar thennottraded = 1elsif tradeindex(1) >= firstbar thentraded = 0endif// Condizioni per entrare su posizioni longc1 = (close[1] > DClose(24)[1])IF c1 AND not daysForbiddenEntry THENBUY 1 CONTRACT AT MARKETENDIF//SET STOP pLOSS 180SET TARGET pROFIT 1801 user thanked author for this post.
02/05/2025 at 2:55 PM #24348702/26/2025 at 8:48 PM #244389Chiedo per cortesia di verificare il motivo per cui è disattesa la regola che apra 1 solo trade al giorno.
Oggi ha aperto alle 17.00, ha preso lo stop loss alle 19.30 e poi alle 20.00 ha riaperto un’altra posizione.
Grazie anticpatamente
02/27/2025 at 4:47 PM #244425Devi aggiungere la condizione che verifica se è già stata effettuate un’operazione alla riga 20.
Ho aggiunto la variabile OTD per evitare d’entrare più di una volta al giorno:
1234567891011121314151617181920// 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 = 170000// Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all'orario "Flat After"DEFPARAM FLATAFTER = 220000//Timeframe(2h,UpDateOnClose)// Impedisce al sistema di tradare in giorni specifici della settimanadaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0// Condition to limit only one trade per dayOTD = (Barindex - TradeIndex(1) > IntradayBarIndex) // IntradayBarIndex < (Barindex - TradeIndex(1)) limits the (opening) trades till 1 per day (OTD One Trade per Day)// Condizioni per entrare su posizioni longc1 = (close[1] > DClose(24)[1])IF c1 AND not daysForbiddenEntry AND OTD THENBUY 1 CONTRACT AT MARKETENDIF//SET STOP pLOSS 180SET TARGET pROFIT 18002/27/2025 at 5:00 PM #24442602/27/2025 at 9:59 PM #244442Prova a sostituire UpdateOnClose con default.
02/28/2025 at 9:12 AM #244452Non cambia tanto.
Ho in mente una strategia che avrei piacere automatizzare se possibile.
TIME FRAME 1 ORA
Condizioni LONG
RSI a 10 periodi esce dall’ipervenduto e contemporaneamente il prezzo di chiusura della candela verde è superiore del prezzo di chiusura di quella precedente ed anche il volume è superiore della candela precedente; stop loss al valore minimo della candela precedente e take profit a 3 volte la potenziale perdita.
Condizioni SHORT
RSI a 10 periodi esce dall’ipercomprato e contemporaneamente il prezzo di chiusura della candela rossa è inferiore del prezzo di quella precedente ed anche il volume è maggiore della candela precedente; stop loss al minimo della candela precedente e take profit a 3 volte la perdita.
E’ possibile scriverlo in linguaggio prorealtime?
Grazie
02/28/2025 at 3:58 PM #244483Quando hai scritto nelle condizioni SHORT “stop loss al minimo della candela precedente“, immagino tu intendessi “stop loss al massimo della candela precedente“.
Eccolo:
12345678910111213141516171819202122232425262728293031ONCE IC = 70 //IperCompratoONCE IV = 100 - IC //IperVenduto (per differenza)mioRSI = Rsi[10](close)// LONGL1 = mioRSI CROSSES OVER IVL2 = close > openL3 = close > close[1]L4 = Volume > Volume[1]L5 = Not OnMarketCondL = L1 AND L2 AND L3 AND L4 AND L5IF CondL THENBUY 1 CONTRACT AT MARKETSL = abs(low[1] - close)TP = SL * 3SET STOP LOSS SLSET TARGET PROFIT TPENDIF// SHORTS1 = mioRSI CROSSES UNDER ICS2 = close < openS3 = close < close[1]S4 = Volume > Volume[1]S5 = Not OnMarketCondS = S1 AND S2 AND S3 AND S4 AND S5IF CondS THENSELLSHORT 1 CONTRACT AT MARKETSL = abs(high[1] - close)TP = SL * 3SET STOP LOSS SLSET TARGET PROFIT TPENDIF02/28/2025 at 5:10 PM #24448902/28/2025 at 8:36 PM #244494Che significa?
03/01/2025 at 2:16 PM #24450603/01/2025 at 2:50 PM #244509Generalmente se una strategia non funziona, c’è poco da fare, difficilmente con qualche aggiustamento potrà funzionare.
Ad ogni modo ho modificato il codice aggiungendo le condizioni L6 ed S6, che impongono che prima dell’incrocio dell’RSI con IC e IV, ci siano state almeno 5 barre sotto o sopra. Questo per evitare che più volte RSI entra ed esca da IV o da IC e ci rientri subito creando segnali più inconsistenti:
123456789101112131415161718192021222324252627282930313233ONCE IC = 70 //IperCompratoONCE IV = 100 - IC //IperVenduto (per differenza)mioRSI = Rsi[10](close)// LONGL1 = mioRSI CROSSES OVER IVL2 = close > openL3 = close > close[1]L4 = Volume > Volume[1]L5 = Not OnMarketL6 = (summation[5](mioRSI < IV) = 5)CondL = L1 AND L2 AND L3 AND L4 AND L5 AND L6[1]IF CondL THENBUY 1 CONTRACT AT MARKETSL = abs(low[1] - close)TP = SL * 4.5SET STOP LOSS SLSET TARGET PROFIT TPENDIF// SHORTS1 = mioRSI CROSSES UNDER ICS2 = close < openS3 = close < close[1]S4 = Volume > Volume[1]S5 = Not OnMarketS6 = (summation[5](mioRSI > IC) = 5)CondS = S1 AND S2 AND S3 AND S4 AND S5 AND S6[1]IF CondS THENSELLSHORT 1 CONTRACT AT MARKETSL = abs(high[1] - close)TP = SL * 4.5SET STOP LOSS SLSET TARGET PROFIT TPENDIF03/01/2025 at 3:09 PM #244511 -
AuthorPosts
Find exclusive trading pro-tools on