Strategi Dagangan Multi Timeframe Berasaskan EMA, RSI dan MACD

Penulis:ChaoZhang, Tarikh: 2024-02-20 14:25:24
Tag:

img

Ringkasan

Strategi ini menggabungkan purata bergerak (EMA), indeks kekuatan relatif (RSI) dan penunjuk divergensi konvergensi purata bergerak (MACD) untuk mencari peluang dagangan dalam pelbagai jangka masa dan membolehkan perdagangan automatik.

Prinsip Strategi

Strategi ini terutamanya berdasarkan kepada penunjuk EMA, RSI dan MACD. Logik perdagangan adalah seperti berikut:

  1. Gunakan EMA 25 hari dan EMA 45 hari untuk membentuk salib emas dan salib kematian sebagai isyarat perdagangan. Beli apabila EMA jangka pendek melintasi EMA jangka panjang, dan jual apabila EMA jangka pendek melintasi EMA jangka panjang.

  2. Masukkan penunjuk RSI untuk mengelakkan pecah palsu. Hanya mengambil isyarat beli dari salib emas apabila RSI lebih besar daripada 50; hanya mengambil isyarat jual dari salib kematian apabila RSI kurang daripada 50.

  3. Cari lebih banyak peluang perdagangan di bawah tetapan parameter RSI yang berbeza, termasuk RSI>30, RSI<30 dan lain-lain.

  4. Indikator MACD boleh digunakan sebagai alat penilaian tambahan untuk mengesahkan isyarat perdagangan EMA.

Dengan mencari lebih banyak peluang perdagangan dalam jangka masa yang berbeza, keuntungan strategi dapat ditingkatkan. Sementara itu, integrasi pelbagai penunjuk membantu mengurangkan perdagangan yang salah dan mengawal risiko dengan berkesan.

Kelebihan Strategi

Kekuatan terbesar strategi ini terletak pada gabungan beberapa penunjuk dan perdagangan merentasi jangka masa, yang meningkatkan peluang perdagangan yang menang.

  1. Pembebasan EMA dapat dengan berkesan mengesan perubahan trend di pasaran dan menangkap peluang perdagangan tepat pada masanya.

  2. Penunjuk RSI membantu mengelakkan pecah palsu dan mengurangkan risiko perdagangan.

  3. Lebih banyak peluang kemasukan melalui tetapan parameter RSI yang berbeza meningkatkan keuntungan.

  4. MACD menyediakan pengesahan sekunder isyarat EMA untuk mengurangkan risiko lagi.

  5. Perdagangan pelbagai jangka masa menggandakan peluang keuntungan.

Risiko Strategi

Terdapat juga beberapa risiko dengan strategi ini:

  1. EMA mempunyai kelewatan yang boleh menyebabkan peluang perdagangan jangka pendek hilang.

  2. Penyesuaian parameter yang tidak betul dalam kombinasi pelbagai penunjuk boleh menyebabkan pengoptimuman berlebihan.

  3. Perdagangan pelbagai jangka masa boleh merangkumi kerugian, yang memerlukan pengurusan stop loss yang ketat.

  4. Kos urus niaga perlu dipantau dalam persekitaran perdagangan langsung untuk mengelakkan perdagangan berlebihan.

Arahan pengoptimuman

Terdapat ruang untuk pengoptimuman lagi strategi:

  1. Uji dan optimumkan parameter EMA untuk kombinasi terbaik.

  2. Uji lebih banyak penunjuk tambahan seperti pita BOLL, KD dll.

  3. Memasukkan mekanisme stop loss adaptif berdasarkan turun naik pasaran.

  4. Mengoptimumkan saiz kedudukan di bawah tetapan parameter yang berbeza.

  5. Meningkatkan logik kemasukan untuk menghapuskan isyarat yang bertentangan atau meningkatkan kuasa penapisan.

Kesimpulan

Strategi ini mengintegrasikan isyarat merentasi penunjuk dan kerangka masa, yang mampu menjejaki trend dan menangkap peluang jangka pendek. Sementara itu, mekanisme kemasukan yang ketat juga melengkapkan strategi dengan keupayaan kawalan risiko yang baik. Secara umum, ini adalah strategi dengan pulangan yang stabil dan nilai praktikal, yang patut disyorkan.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Scriptâ„¢ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Aqualizer

//@version=5
strategy("Aserin Buy and Sell", overlay=true)

shortSMA = ta.sma(close, 25)
longSMA = ta.sma(close, 45)
rsi = ta.rsi(close, 7)
ta.macd(close,12, 26, 9)
atr = ta.atr(3)
longCondition = ta.crossover(shortSMA, longSMA)
shortCondition = ta.crossunder(shortSMA, longSMA)

if (longCondition)
    strategy.entry("long", strategy.long, 100, when = rsi > 50)
if (shortCondition)
    strategy.entry("short", strategy.short, 100, when = rsi < 50)

if (longCondition)
    strategy.entry("long", strategy.long, 100, when = rsi > 30)
if (shortCondition)
    strategy.entry("short", strategy.short, 100, when = rsi < 30)

if (longCondition)
    strategy.entry("long", strategy.long, 100, when = rsi > 20)
if (shortCondition)
    strategy.entry("short", strategy.short, 100, when = rsi < 50)

plot(shortSMA)
plot(longSMA, color=color.black)

if (longCondition)
    stopLoss = low - atr * 2,45
    takeProfit = high + atr * 2,45
    strategy.entry("long", strategy.long, 1, when = rsi > 30)

    strategy.exit("exit", "long", stop=stopLoss, limit=takeProfit)

if (shortCondition)
    stopLoss = high + atr * 3
    takeProfit = low - atr * 3
    strategy.entry("short", strategy.short, 1, when = rsi < 30)
    strategy.exit("exit", "short", stop=stopLoss, limit=takeProfit)

plot(shortSMA)
plot(longSMA, color=color.black)


Lebih lanjut