Strategi perdagangan jangka pendek berdasarkan saluran EMA dan MACD


Tanggal Pembuatan: 2024-01-23 14:30:02 Akhirnya memodifikasi: 2024-01-23 14:30:02
menyalin: 0 Jumlah klik: 741
1
fokus pada
1617
Pengikut

Strategi perdagangan jangka pendek berdasarkan saluran EMA dan MACD

Ringkasan

Strategi ini diberi nama Short Line Trading Strategy yang didasarkan pada saluran EMA dan MACD. Strategi ini menggabungkan saluran EMA dan indikator MACD untuk mengidentifikasi tren dan memberikan sinyal perdagangan.

Prinsip Strategi

Strategi ini menggunakan 5 hari EMA dan 21 hari EMA untuk membentuk saluran EMA. Ketika 5 hari EMA melewati 21 hari EMA, dianggap bahwa perdagangan masuk ke dalam multihead, dan ketika 5 hari EMA melewati 21 hari EMA, dianggap bahwa perdagangan masuk ke dalam blank. Grafik lurus indikator MACD dapat digunakan untuk memfilter sinyal palsu.

Analisis Keunggulan

Strategi ini menggabungkan pengenalan tren dan penyaringan indikator, yang dapat secara efektif mengidentifikasi arah pergerakan garis pendek. Menggunakan saluran EMA untuk menentukan arah tren utama, dan kemudian memfilter sinyal palsu dengan indikator MACD, dapat meningkatkan probabilitas keuntungan secara signifikan.

Analisis risiko

Strategi ini terutama berlaku untuk perdagangan garis pendek, tidak bekerja dengan baik di bawah garis panjang dan tren goyah. Di pasar dengan garis panjang horizontal, sinyal silang saluran EMA sering terjadi, tetapi sebagian besar adalah sinyal palsu, di mana grafik MACD lurus dapat memainkan peran penyaringan tertentu, tetapi efeknya masih terbatas. Selain itu, mekanisme stop loss yang tetap membuatnya sulit untuk menangkap keuntungan tambahan yang dibawa oleh tren garis panjang.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Mengoptimalkan parameter EMA, mencari kombinasi parameter yang memaksimalkan pengembalian yang lebih sesuai dengan varietas transaksi tertentu;
  2. Mengoptimalkan parameter MACD agar filternya lebih efektif;
  3. Tergabung dengan indikator volatilitas, memperluas jangkauan stop loss ketika pasar bergejolak;
  4. Menambahkan mekanisme pelacakan stop loss, membuat stop loss lebih dekat dengan harga, mengurangi probabilitas stop loss yang tidak perlu dipicu dengan asumsi bahwa keuntungan terjamin.

Meringkaskan

Strategi ini memiliki keuntungan yang tinggi secara keseluruhan, terutama untuk perdagangan garis pendek, dan merupakan pilihan yang baik dalam strategi perdagangan kuantitatif yang mengejar perdagangan frekuensi tinggi. Namun, ketika digunakan, pedagang harus berhati-hati untuk menyesuaikan parameter secara masuk akal sesuai dengan kondisi pasar, sehingga keuntungan strategi dapat dimaksimalkan, dan juga mengendalikan risiko perdagangan.

Kode Sumber Strategi
/*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")