
Strategi ini dinamakan strategi perdagangan garis pendek berdasarkan saluran EMA dan MACD. Ia menggabungkan saluran EMA dan penunjuk MACD untuk mengenal pasti trend dan memberikan isyarat perdagangan.
Strategi ini menggunakan 5 hari EMA dan 21 hari EMA untuk membentuk saluran EMA. Apabila 5 hari EMA melintasi 21 hari EMA, ia dianggap sebagai masuk ke arah yang lebih tinggi, dan apabila 5 hari EMA melintasi 21 hari EMA, ia dianggap sebagai masuk ke arah yang lebih rendah.
Strategi ini menggabungkan pengenalan trend dan penapisan penunjuk, yang dapat mengesan arah pergerakan garis pendek dengan berkesan. Menggunakan saluran EMA untuk menentukan arah trend utama, dan menapis isyarat palsu dengan penunjuk MACD, dapat meningkatkan peluang keuntungan dengan ketara.
Strategi ini digunakan terutamanya untuk perdagangan garis pendek, dan tidak berkesan dalam keadaan garis panjang dan goyah. Di pasaran di sepanjang garis panjang, isyarat silang saluran EMA sering berlaku, tetapi sebahagian besarnya adalah isyarat palsu, di mana grafik lurus MACD dapat memainkan peranan penapisan tertentu, tetapi kesannya masih terbatas. Selain itu, mekanisme stop loss tetap menjadikannya sukar untuk menangkap keuntungan tambahan yang dibawa oleh trend garis panjang.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Strategi ini mempunyai keuntungan keseluruhan yang tinggi, terutama sesuai untuk perdagangan garis pendek, dan merupakan pilihan yang baik dalam strategi perdagangan kuantitatif yang mengejar perdagangan frekuensi yang lebih tinggi. Tetapi apabila digunakan, pedagang harus berhati-hati untuk menyesuaikan parameter yang masuk akal mengikut keadaan pasaran, untuk memaksimumkan keuntungan strategi, dan juga untuk mengawal 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")