Strategi ini berdagang berdasarkan warna lilin tengah malam dengan kelewatan 1 jam, dengan menganalisis warna lilin tengah malam 0 jam hari sebelumnya untuk menentukan arah perdagangan pada jam 1 pada hari berikutnya. Ia pergi lama apabila lilin 0 jam hijau dan pergi pendek apabila lilin 0 jam merah. Hentikan kerugian dan ambil keuntungan juga ditetapkan.
Logik teras strategi ini adalah berdasarkan kesan tengah malam di pasaran, di mana warna lilin 0 jam dari hari sebelumnya mewakili sentimen pasaran secara keseluruhan dan boleh digunakan untuk menentukan arah pasaran selepas hari berikutnya dibuka.
Secara khusus, strategi pertama menilai sama ada lilin semasa adalah lilin 0 jam. Jika ya, catat sebagai hijau jika penutupan lebih tinggi daripada terbuka, jika tidak merah. Pada bar seterusnya pada jam 1, pergi panjang / pendek mengikut warna lilin 0 jam dari hari sebelumnya, dengan stop loss dan mengambil keuntungan ditetapkan.
Dengan menangguhkan kemasukan selama 1 jam, ia menghalang harga yang tidak menentu pada tengah malam mempengaruhi kemasukan pasaran.
Strategi ini mempunyai logik yang jelas dan mudah, menilai arah hari berikutnya dengan warna lilin 0 jam dan mengawal risiko dengan stop loss / mengambil keuntungan. Ini adalah strategi perdagangan jangka pendek yang mesra pemula. Tetapi masih ada beberapa ketidakpastian, yang memerlukan pengoptimuman dan pengesahan berterusan dalam perdagangan langsung.
/*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)