
Strategi ini berdagang berdasarkan warna jam tengah malam yang tertunda 1 jam, dengan menganalisis warna jam 0 tengah malam hari sebelumnya untuk menentukan arah perdagangan pada jam 1 pagi hari berikutnya. Apabila jam 0 jam berwarna hijau, lakukan lebih banyak, dan kosong jika merah.
Logik teras strategi ini adalah berdasarkan kesan pesona tengah malam di tengah-tengah pasaran, iaitu, warna jam 0 tengah malam hari sebelumnya mewakili suasana pasaran keseluruhan hari itu, yang boleh digunakan untuk menentukan arah pasaran selepas hari berikutnya.
Khususnya, strategi pertama kali menilai sama ada garis K semasa adalah 0 mata, dan jika ya, catat harga penutupan yang lebih tinggi daripada harga bukaan sebagai hijau, jika tidak, merah. Pada bar seterusnya, iaitu 1 mata K, buat lebih banyak ruang mengikut warna 0 mata pada hari sebelumnya, dan tetapkan stop loss.
Dengan cara ini, penundaan pembukaan kedudukan dapat mengelakkan kesan turun naik yang teruk pada waktu 0 pada kemasukan.
Strategi ini secara keseluruhan jelas dan mudah, menilai arah hari berikutnya dengan warna 0 mata, dan menetapkan risiko kawalan hentian hentian, merupakan strategi garis pendek permulaan yang sesuai untuk pemula. Tetapi ada juga ketidakpastian tertentu, yang memerlukan pengoptimuman dan pengesahan berterusan untuk menjadi pertempuran yang benar.
/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Midnight Candle Color Strategy with 1-Hour Delay and SL/TP", shorttitle="12AM +1H SL/TP Strat", overlay=true)
// Adjust for New York time (UTC-5 or UTC-4 for Daylight Saving Time)
// Assuming UTC-5 for now; adjust as necessary for Daylight Saving Time
nyHour(hour) => (hour - 5) % 24
// Function to check if the current bar is the 12:00 AM New York time bar
isMidnightBar() =>
nyHour(hour) == 0 and minute == 0
// Function to check if the current bar is the 1:00 AM New York time bar (1 hour after midnight)
is1AMBar() =>
nyHour(hour) == 1 and minute == 0
// Variable to store the color of the previous day's midnight candle
var color midnightCandleColorPrevDay = na
// Determine the color of the previous day's midnight candle
if isMidnightBar()
midnightCandleColorPrevDay := close[1] > open[1] ? color.green : color.red
// Strategy execution at 1:00 AM based on the color of the previous day's midnight candle
if is1AMBar()
if midnightCandleColorPrevDay == color.green
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit", "Long", limit=close + 57 * syminfo.mintick, stop=close - 200 * syminfo.mintick)
if midnightCandleColorPrevDay == color.red
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit", "Short", limit=close - 50 * syminfo.mintick, stop=close + 200 * syminfo.mintick)
// Optional: Plot a marker for visualization
plotshape(series=isMidnightBar(), style=shape.triangleup, location=location.belowbar, color=color.new(midnightCandleColorPrevDay, 90), size=size.small)
plotshape(series=is1AMBar(), style=shape.triangledown, location=location.abovebar, color=color.blue, size=size.small)