이 전략은 1 시간 지연으로 자정 촛불 색상을 기반으로 거래하며, 다음 날 1시에는 거래 방향을 결정하기 위해 전날의 자정 0시 촛불의 색상을 분석하여 거래합니다. 0시 촛불이 녹색일 때 길게 가고 0시 촛불이 빨간색일 때 짧게됩니다. 스톱 손실 및 수익 수준도 설정됩니다.
이 전략의 핵심 논리는 시장에서 "오후의 효과"를 기반으로합니다. 전날 0시 촛불의 색은 전체 시장 정서를 나타냅니다. 다음 날 오픈 후 시장 방향을 결정하는 데 사용될 수 있습니다.
구체적으로, 전략은 먼저 현재 촛불이 0시 촛불인지 판단합니다. 만약 네라면, 닫는 것이 개방보다 높으면 녹색으로 기록합니다. 그렇지 않으면 빨간색입니다. 1시의 다음 바에서, 이전 날의 0시 촛불 색에 따라 장거리 / 단위로 이동하고, 스톱 손실과 수익을 설정합니다.
시장 진출을 1시간 늦추면 중간에 변동적인 가격이 시장 진입에 영향을 미치지 않습니다.
이 전략은 명확하고 간단한 논리를 가지고 있으며, 0시 촛불 색으로 다음 날 방향을 판단하고 스톱 로스/프로피트 취득으로 위험을 제어합니다. 이것은 초보자 친화적인 단기 거래 전략입니다. 그러나 여전히 약간의 불확실성이 있으며 라이브 거래에서 지속적인 최적화와 검증을 요구합니다.
/*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)