
이 전략은 다중 시간 주기 트렌드 분석과 양 가격 관계를 결합한 고 주파수 수량 거래 시스템이다. 이는 주로 3분과 1시간의 두 시간 주기 지수 이동 평균 (EMA) 을 통해 시장 추세를 판단하며, 거래 신호를 확인하기 위해 트래픽 분석을 결합하고, 하루 최고 가격과 고정 시간 지점에 기반한 이중 탈퇴 장치를 설계한다.
전략의 핵심 논리는 세 가지 주요 부분으로 구성됩니다.
입시 신호는 위의 세 가지 조건을 동시에 충족해야 한다. 출구 전략은 가격이 하루 최고점을 만지거나 오후 3시에 도착하는 두 가지 조건 중 어느 하나라도 채택한다.
이 전략은 다중 시간 주기 분석과 수량 가격 관계를 결합하여 비교적 완전한 거래 시스템을 구축한다. 이 전략은 논리적으로 명확하고 구현이 간단하지만 여전히 위험 제어 측면에서 최적화가 필요하다. 거래자는 실장에 사용하기 전에 충분한 역사 데이터 테스트를 수행하고 특정 거래 품종의 특성에 따라 매개 변수를 최적화하는 것이 좋습니다.
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-16 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Intraday + 1-Hour Trend Match", overlay=true)
// Inputs
emaLength3Min = input.int(50, title="EMA Length (3-Min)")
emaLength1Hr = input.int(50, title="EMA Length (1-Hour)")
volumeMultiplier = input.float(1.5, title="Volume Spike Multiplier")
// Intraday (3-Minute) EMA and Volume Spike
ema3Min = ta.ema(close, emaLength3Min)
volumeSMA = ta.sma(volume, 20)
isVolumeSpike = volume > (volumeSMA * volumeMultiplier)
// 1-Hour Trend (EMA)
ema1Hr = request.security(syminfo.tickerid, "60", ta.ema(close, emaLength1Hr))
is1HrUptrend = close > ema1Hr
// Intraday Signal
buyCondition3Min = close > ema3Min and isVolumeSpike
// Combined Signal: Match 3-Min Signal with 1-Hour Trend
finalBuyCondition = buyCondition3Min and is1HrUptrend
// All-Day High Tracking
var float allDayHigh = na
if (hour == 9 and minute == 0)
allDayHigh := high // Reset the all-day high at market open
else
allDayHigh := math.max(allDayHigh, high) // Update all-day high
// Debugging Plots
plot(ema3Min, color=color.blue, title="EMA 3-Min")
plot(ema1Hr, color=color.orange, title="EMA 1-Hour")
plotshape(isVolumeSpike, style=shape.circle, color=color.blue, title="Volume Spike (3-Min)")
plotshape(finalBuyCondition, style=shape.triangleup, color=color.green, title="Buy Signal")
plot(allDayHigh, color=color.red, title="All-Day High", linewidth=2)
// Strategy Execution
if (finalBuyCondition)
strategy.entry("Buy Signal", strategy.long)
// Exit Conditions
exitCondition = (close == allDayHigh) or (hour == 15 and minute >= 0)
if (exitCondition)
strategy.close("Buy Signal")