
이 전략은 오실레이터의 교차와 EMA 추세를 매끄럽게 하여 시장에서 매수 및 매도 기회를 포착하기 위해 위상 교차 신호와 다기간 지수 이동 평균을 결합합니다. 이 전략은 선행 단계와 후행 단계의 교차를 활용하여 거래 신호를 생성하는 동시에 13, 26, 50, 100 및 200기간 지수 이동 평균을 통합하여 시장 동향을 확인함으로써 포괄적인 추세 추종 및 단기 거래 솔루션을 제공합니다.
전략의 핵심 논리는 두 가지 주요 부분으로 구성됩니다. 위상 교차 시스템과 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")