
Strategi ini menggabungkan isyarat silang fasa dengan purata bergerak eksponen berbilang tempoh untuk menangkap peluang beli dan jual dalam pasaran dengan melicinkan silang pengayun dan arah aliran EMA. Strategi ini menggunakan persilangan Fasa Peneraju dan Fasa Tertinggal untuk menjana isyarat dagangan, dan menggabungkan purata pergerakan eksponen 13, 26, 50, 100 dan 200 tempoh untuk mengesahkan arah aliran pasaran, menyediakan penyelesaian perdagangan mengikut arah aliran Komprehensif dan jangka pendek.
Logik teras strategi mengandungi dua bahagian utama: sistem silang fasa dan sistem pengesahan arah aliran EMA. Sistem silang fasa menggunakan purata bergerak mudah (SMA) dengan pincang ke atas sebagai fasa utama dan purata bergerak eksponen (EMA) dengan pincang ke bawah sebagai fasa ketinggalan. Isyarat beli dijana apabila fasa pendahuluan melintasi di atas fasa ketinggalan, dan isyarat jual dijana apabila ia melintasi di bawah. Sistem pengesahan arah aliran EMA menggunakan purata bergerak eksponen berbilang tempoh (13/26/50/100/200) untuk mengesahkan aliran pasaran keseluruhan, dengan persilangan EMA 13-tempoh dan 26-tempoh berfungsi sebagai isyarat dagangan sekunder.
Strategi ini menggabungkan persilangan fasa dengan sistem EMA berbilang tempoh untuk mencipta sistem perdagangan mengikut arah aliran yang komprehensif. Strategi ini mempunyai kelebihan isyarat yang jelas, pemahaman arah aliran yang tepat dan kawalan risiko yang munasabah, tetapi ia juga mempunyai ketinggalan dan risiko isyarat palsu tertentu. Dengan menambahkan langkah pengoptimuman seperti penapisan turun naik dan pengesahan volum, kestabilan dan kebolehpercayaan strategi boleh dipertingkatkan lagi. Strategi ini sesuai untuk digunakan dalam pasaran dengan arah aliran yang jelas, dan pedagang perlu melaraskan parameter berdasarkan ciri pasaran tertentu dan keutamaan risiko peribadi.
/*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")