이 전략은 시장 구매 및 판매 기회를 포착하기 위해 단계 크로스오버 신호와 다기 지수 이동 평균을 결합합니다. 트렌드 확인을 위해 13, 26, 50, 100 및 200 기간 EMA를 통합하면서 트렌드 다음 및 단기 거래에 대한 포괄적 인 솔루션을 제공하는 동시에 거래 신호를 생성하기 위해 선도 단계와 후퇴 단계의 크로스오버를 사용합니다.
핵심 논리는 두 가지 주요 구성 요소로 구성되어 있습니다: 단계 교차 시스템 및 EMA 트렌드 확인 시스템. 단계 교차 시스템에서는 리딩 단계로 상향 오프셋이있는 간단한 이동 평균 (SMA) 과 지연 단계로 하향 오프셋이있는 기하급수적 이동 평균 (EMA) 을 사용합니다. 리딩 단계가 지연 단계 위에 넘어가면 구매 신호가 생성되며, 지연 단계 아래로 넘어가면 판매 신호가 생성됩니다. EMA 트렌드 확인 시스템은 전반적인 시장 추세를 확인하기 위해 여러 기간 (13/26/50/100/200) 기하급수적 이동 평균을 사용하고, 13 및 26 기간 EMA 교차가 2차 거래 신호로 사용됩니다.
이 전략은 단계 크로스오버와 다기간의 EMA 시스템을 결합하여 종합적인 트렌드 다음 거래 시스템을 구축합니다. 명확한 신호, 정확한 트렌드 캡처 및 합리적인 리스크 제어 기능을 갖추고 있으며, 또한 특정 지연 및 잘못된 신호 위험을 가지고 있습니다. 변동성 필터와 볼륨 확인 등의 최적화로 전략의 안정성과 신뢰성을 더욱 향상시킬 수 있습니다. 명확하게 트렌딩하는 시장에서 적용하기에 적합하며 거래자는 특정 시장 특성과 개별 위험 선호도에 따라 매개 변수를 조정해야합니다.
/*backtest start: 2019-12-23 08:00:00 end: 2025-01-08 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Phase Cross Strategy with Zone", overlay=true) // Inputs length = input.int(20, title="Smoothing Length") source = input(close, title="Source") offset = input.float(0.5, title="Offset Amount", minval=0.0) // Offset for spacing // Simulating "Phases" with Smoothed Oscillators lead_phase = ta.sma(source, length) + offset // Leading phase with offset lag_phase = ta.ema(source, length) - offset // Lagging phase with offset // Signal Logic buySignal = ta.crossover(lead_phase, lag_phase) sellSignal = ta.crossunder(lead_phase, lag_phase) // Plot Phases (as `plot` objects for `fill`) lead_plot = plot(lead_phase, color=color.green, title="Leading Phase", linewidth=1) lag_plot = plot(lag_phase, color=color.red, title="Lagging Phase", linewidth=1) // Fill Zone Between Phases fill_color = lead_phase > lag_phase ? color.new(color.green, 90) : color.new(color.red, 90) fill(plot1=lead_plot, plot2=lag_plot, color=fill_color, title="Phase Zone") // Plot Buy and Sell Signals plotshape(buySignal, style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), title="Buy Signal", size=size.small) plotshape(sellSignal, style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), title="Sell Signal", size=size.small) // Strategy Entry and Exit if buySignal strategy.entry("Buy", strategy.long) if sellSignal strategy.close("Buy") //indicator("EMA 13, 26, 50, 100, and 200 with Crossover, Value Zone, and Special Candles", overlay=true) // Define the EMAs ema13 = ta.ema(close, 13) ema26 = ta.ema(close, 26) ema50 = ta.ema(close, 50) ema100 = ta.ema(close, 100) ema200 = ta.ema(close, 200) // Plot the EMAs plot(ema13, color=color.blue, linewidth=2, title="EMA 13") plot(ema26, color=color.red, linewidth=2, title="EMA 26") plot(ema50, color=color.orange, linewidth=2, title="EMA 50") plot(ema100, color=color.green, linewidth=2, title="EMA 100") plot(ema200, color=color.purple, linewidth=2, title="EMA 200") // Crossover conditions uptrend = ta.crossover(ema13, ema26) // EMA 13 crosses above EMA 26 (buy) downtrend = ta.crossunder(ema13, ema26) // EMA 13 crosses below EMA 26 (sell) // Plot buy/sell arrows plotshape(series=uptrend, location=location.belowbar, color=color.green, style=shape.labelup, size=size.small, title="Buy Signal") plotshape(series=downtrend, location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small, title="Sell Signal")