Strategi ini menggabungkan isyarat persilangan fasa dengan purata bergerak eksponensial pelbagai tempoh untuk menangkap peluang membeli dan menjual pasaran. Ia menggunakan persilangan fasa utama dan fasa tertinggal untuk menghasilkan isyarat perdagangan, sambil menggabungkan 13, 26, 50, 100, dan 200 EMA tempoh untuk pengesahan trend, menyediakan penyelesaian komprehensif untuk trend berikut dan perdagangan jangka pendek.
Logik teras terdiri daripada dua komponen utama: Sistem Perpindahan Fasa dan Sistem Pengesahan Trend EMA. Sistem Perpindahan Fasa menggunakan Purata Bergerak Sederhana (SMA) dengan perpindahan ke atas sebagai Fasa Utama dan Purata Bergerak Eksponensial (EMA) dengan perpindahan ke bawah sebagai Fasa Lagging. Isyarat beli dihasilkan apabila Fasa Utama melintasi di atas Fasa Lagging, dan isyarat jual apabila melintasi di bawah. Sistem Pengesahan Trend EMA menggunakan purata bergerak eksponensial beberapa tempoh (13/26/50/100/200) untuk mengesahkan trend pasaran keseluruhan, dengan perpindahan EMA 13 dan 26 tempoh berfungsi sebagai isyarat perdagangan sekunder.
Strategi ini membina sistem perdagangan trend yang komprehensif dengan menggabungkan sistem persilangan fasa dan EMA pelbagai tempoh. Ia mempunyai isyarat yang jelas, tangkapan trend yang tepat, dan kawalan risiko yang munasabah, sementara juga mempunyai risiko lag dan isyarat palsu tertentu. Kestabilan dan kebolehpercayaan strategi ini dapat ditingkatkan lagi melalui pengoptimuman seperti menambahkan penapis turun naik dan pengesahan jumlah. Ia sesuai untuk aplikasi di pasaran yang jelas, dan peniaga perlu menyesuaikan parameter berdasarkan ciri pasaran tertentu dan keutamaan risiko individu.
/*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")