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 180
c1 = (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:
// 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.
DEFPARAMFLATBEFORE=170000
// Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all'orario "Flat After"
DEFPARAMFLATAFTER=220000
//
Timeframe(2h,UpDateOnClose)
// Impedisce al sistema di tradare in giorni specifici della settimana
To help us continually offer you the best experience on ProRealCode, we use cookies. By clicking on "Continue" you are agreeing to our use of them. You can also check our "privacy policy" page for more information.Continue