Эта стратегия торгуется на основе цвета полуночной свечи с задержкой в 1 час, путем анализа цвета предыдущего дня полуночи 0 часов свечи для определения направления торговли в 1 час следующего дня.
Основная логика этой стратегии основана на "полночь эффекта" на рынках, где цвет 0 часов свечи с предыдущего дня представляет общий рыночный настроение и может быть использован для определения направления рынка после следующего дня открытия.
В частности, стратегия сначала оценивает, является ли текущая свеча 0 часов свечей. Если да, запишите ее как зеленую, если закрытие выше, чем открытие, в противном случае красную.
Задерживая вход на 1 час, он предотвращает изменчивость цены в полночь, влияющей на вход на рынок.
Стратегия имеет ясную и простую логику, оценивая направление следующего дня по цвету свечи 0 часов и контролируя риски с помощью стоп-лосса / take profit.
/*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)