Strategi pengesanan EMA adalah strategi trend yang menggunakan penunjuk EMA untuk mengesan trend. Ia mengira nilai EMA harga dan menggabungkannya dengan jalur peratusan untuk menentukan trend harga dan menghasilkan isyarat perdagangan.
Indikator teras strategi ini adalah EMA. EMA bermaksud Exponential Moving Average, yang merupakan penunjuk pengesanan trend. EMA mengira harga purata semasa berdasarkan harga sejarah dan tempoh masa yang ditetapkan. EMA juga mempunyai kesan penyelarasan harga.
Strategi ini mula-mula mengira nilai EMA 50 tempoh harga sebagai penunjuk penghakiman utama. Kemudian berdasarkan peratusan tertentu daripada nilai EMA, rel atas dan bawah ditetapkan. Di sini ia ditetapkan kepada ± 0.3% daripada nilai EMA. Apabila harga memecahkan rel atas EMA, isyarat beli dihasilkan. Apabila harga jatuh di bawah rel bawah EMA, isyarat jual dihasilkan. Ini boleh mengesan perubahan trend dalam kitaran EMA.
Strategi penjejakan EMA mempunyai logik keseluruhan yang jelas, menilai trend harga melalui penunjuk EMA dan menghasilkan isyarat perdagangan dengan jalur julat. Kelebihannya adalah peraturan mudah yang mudah difahami dan dapat mengelakkan beberapa bunyi bising. Tetapi terdapat juga masalah seperti ruang penyesuaian yang terhad, isyarat yang tertinggal, kawalan penarikan yang buruk, dll. Langkah seterusnya boleh memperbaikinya melalui cara seperti menggabungkan beberapa penunjuk, pengoptimuman kehilangan berhenti, dll. untuk menjadikan strategi lebih praktikal dan stabil.
/*backtest start: 2023-01-17 00:00:00 end: 2024-01-23 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="PingEMA50V.3 Piw", shorttitle="EMA50 Piw", overlay=true) // input src = input(title="Data Array",defval=close) ema_period = input(title="EMA period", defval=50) percent = input(title="Band %", type=float,defval=0.003) // ema ema50 = ema(src, ema_period) plot(ema50, color=green) // upper lower upper = ema50 + (ema50*percent) lower = ema50 - (ema50*percent) plot(upper, color=blue) plot(lower, color=blue) // signal buy = src > upper sell = src < lower // bar color bcolor = buy ? lime : red barcolor(color=bcolor) // trade if (buy) strategy.entry("long", strategy.long) if (sell) strategy.close("long")