EMA Channel dan Strategi Perdagangan Jangka Pendek Berdasarkan MACD

Penulis:ChaoZhang, Tanggal: 2024-01-23 14:30:02
Tag:

img

Gambaran umum

Strategi ini disebut EMA Channel dan MACD Based Short-Term Trading Strategy. Ini menggabungkan saluran EMA dan indikator MACD untuk mengidentifikasi tren dan menghasilkan sinyal perdagangan.

Prinsip-prinsip

Strategi ini menggunakan EMA 5 hari dan EMA 21 hari untuk membentuk saluran EMA. Ketika EMA 5 hari melintasi di atas EMA 21 hari, itu dianggap sebagai tanda bullish. Ketika EMA 5 hari melintasi di bawah EMA 21 hari, itu dianggap sebagai tanda bearish. Histogram MACD dapat menyaring sinyal palsu. Sinyal beli hanya dihasilkan ketika histogram MACD di atas 0. Sinyal jual hanya dihasilkan ketika histogram MACD di bawah 0. Setelah sinyal dipicu, pesanan ditempatkan dengan stop loss tetap dan mengambil keuntungan. Jika harga kembali ke saluran EMA, sinyal akan dipicu lagi untuk mengikuti tren.

Analisis Keuntungan

Strategi ini menggabungkan identifikasi tren dan penyaringan indikator, yang dapat secara efektif mengidentifikasi arah tren jangka pendek. Menggunakan saluran EMA untuk menentukan arah tren utama dan histogram MACD untuk menyaring sinyal palsu dapat sangat meningkatkan profitabilitas. Mekanisme stop loss dan take profit tetap juga memastikan rasio risiko-manfaat yang baik. Secara keseluruhan, strategi ini cocok untuk perdagangan jangka pendek, terutama untuk saham dan forex dengan momentum yang kuat.

Analisis Risiko

Strategi ini terutama cocok untuk perdagangan jangka pendek dan berkinerja buruk di pasar jangka panjang dan berkisar. Di pasar samping jangka panjang, penyeberangan saluran EMA sering terjadi tetapi sebagian besar adalah sinyal palsu. Meskipun histogram MACD dapat memainkan peran dalam penyaringan, efektivitasnya masih terbatas. Juga, stop loss tetap dan mengambil keuntungan membuat sulit untuk menangkap keuntungan tambahan dari tren jangka panjang. Jadi ini adalah risiko utama strategi ini. Solusinya adalah menyesuaikan parameter secara fleksibel berdasarkan kondisi pasar, atau beralih ke strategi lain yang lebih cocok untuk kondisi pasar saat ini.

Arahan Optimasi

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Mengoptimalkan parameter EMA untuk menemukan kombinasi parameter yang memaksimalkan pengembalian untuk instrumen perdagangan tertentu.

  2. Mengoptimalkan parameter MACD untuk meningkatkan efektivitas penyaringan.

  3. Menggabungkan indikator volatilitas untuk memperluas jangkauan stop loss ketika volatilitas pasar meningkat.

  4. Tambahkan mekanisme stop loss trailing untuk membuat stop loss lebih dekat dengan harga, mengurangi pemicu stop loss yang tidak perlu sambil memastikan profitabilitas.

Kesimpulan

Strategi ini memiliki profitabilitas yang relatif tinggi dan sangat cocok untuk perdagangan jangka pendek. Ini adalah pilihan yang baik di antara strategi perdagangan kuantitatif frekuensi tinggi. Tetapi pedagang perlu menyesuaikan parameter secara wajar berdasarkan kondisi pasar saat menggunakannya, untuk memaksimalkan pengembalian strategi sambil mengendalikan risiko perdagangan.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © moondevonyt

//@version=5
strategy("Scalping with EMA channel and MACD", overlay=true)

// Exponential moving average inputs
ema21 = ta.ema(close, 21)
ema5 = ta.ema(close, 5)

// MACD inputs
fastLength = 18
slowLength = 34
signalSmoothing = 12

[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)
macdHistogram = macdLine - signalLine

// Buy and sell conditions
buyCondition = ta.crossover(ema5, ema21) and macdHistogram > 0
sellCondition = ta.crossunder(ema5, ema21) and macdHistogram < 0

// Re-entry conditions
reEntryBuyCondition = close > ema21
reEntrySellCondition = close < ema21

// Set stop loss and take profit
stopLoss = 8
takeProfit = 15

// Execute Strategy
if buyCondition
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Buy", stop=close - stopLoss, limit=close + takeProfit)
if reEntryBuyCondition
    strategy.entry("Re-Enter Buy", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Re-Enter Buy", stop=close - stopLoss, limit=close + takeProfit)

if sellCondition
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Sell", stop=close + stopLoss, limit=close - takeProfit)
if reEntrySellCondition
    strategy.entry("Re-Enter Sell", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Re-Enter Sell", stop=close + stopLoss, limit=close - takeProfit)

// Plotting EMAs and MACD
plot(ema21, color=color.blue, title="21 EMA")
plot(ema5, color=color.orange, title="5 EMA")
plot(macdHistogram, color=color.red, title="MACD Histogram")

// Plot buy and sell signals
plotshape(series=buyCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=sellCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")

Lebih banyak