
Strategi EMA dinamik pelbagai awan adalah sistem pengesanan trend yang menggabungkan awan keseimbangan pertama (Ichimoku Cloud) dan purata bergerak indeks (EMA). Strategi ini mengenal pasti arah trend pasaran dengan menilai harga berbanding dengan kedudukan awan, penapis jumlah dagangan, dan indikator teknikal EMA, dan menghantar isyarat beli dan jual pada masa yang sesuai. Strategi ini juga menggunakan mekanisme berhenti dinamik untuk mengawal risiko, menjadikannya sistem perdagangan yang agak lengkap.
Strategi ini berdasarkan kepada prinsip-prinsip utama berikut:
Saya tidak tahu apa-apa tentang apa yang berlaku.
Pengesahan jumlah transaksi:
Penapis EMA:
Tetapan Stop Loss:
Strategi untuk menjalankan proses logik:
Pengesahan pelbagai indikatorMenggabungkan pelbagai petunjuk teknikal seperti awan keseimbangan, jumlah transaksi dan EMA, meningkatkan kebolehpercayaan isyarat dan mengurangkan risiko isyarat palsu.
Konfigurasi Syarat FleksibelStrategi: membolehkan pengguna menyesuaikan sama ada mereka perlu memenuhi syarat penapisan EMA, memberikan kesesuaian untuk keadaan pasaran yang berbeza.
Pengurusan risiko yang lengkapPerlindungan dana: menyediakan parameter kawalan risiko yang jelas dengan peratusan stop loss.
Keupayaan untuk menangkap trendPada mulanya, Equilibrium Cloud sendiri merupakan alat yang baik untuk menilai trend, dan dengan pengesahan EMA, ia meningkatkan keupayaan strategi untuk menangkap trend jangka panjang.
Pertimbangan kecairanDengan menggunakan penapis kuantiti, pastikan anda berdagang hanya apabila terdapat kecairan yang mencukupi di pasaran, dan mengelakkan ketidakpastian dalam persekitaran kecairan yang rendah.
Logik masuk dan keluar yang jelasStrategi ini mempunyai syarat masuk ((cloud breakout + volume dagangan) dan keluar ((EMA breakout atau stop loss) yang jelas, menjadikan proses keputusan perdagangan lebih jelas.
Pasaran horizontal tidak baikSebagai strategi trend-following, ia mungkin sering menghasilkan isyarat yang salah dalam keadaan yang bergolak, yang menyebabkan kerugian berterusan. Penyelesaian: Anda boleh menambah penapis kadar turun naik dan menangguhkan perdagangan dalam persekitaran yang rendah.
Risiko ketinggalan zamanPada mulanya, penunjuk awan keseimbangan mempunyai ketinggalan, terutamanya dengan penempatan 26 kitaran pada pita pendahuluan, yang boleh menyebabkan masa masuk yang tidak sesuai. Penyelesaian: Anda boleh mempertimbangkan untuk menyesuaikan parameter penempatan atau menggabungkan penunjuk jangka pendek yang lebih sensitif sebagai bantuan.
Frekuensi pemicu yang tidak rosakPenyelesaian: Sesuaikan peratusan stop loss secara dinamik mengikut ciri-ciri turun naik dalam jenis perdagangan.
Kepekaan ParameterKesan strategi adalah sensitif terhadap parameter yang ditetapkan (seperti kitaran EMA, parameter awan keseimbangan pertama), dan parameter yang berbeza mungkin diperlukan dalam keadaan pasaran yang berbeza. Penyelesaian: Uji optimasi parameter, cari kombinasi parameter yang lebih stabil.
Kekurangan matlamat keuntunganKaedah penyelesaian: Tambah parameter sasaran stop loss atau profit yang bergerak.
Pengaturan parameter dinamik:
Menambah penapisan persekitaran pasaran:
Pengoptimuman mekanisme penangguhan:
Masuk dan keluar:
Tambahkan penunjuk pengesahan balik:
Strategi EMA dinamik pelbagai awan adalah sistem pemantauan trend yang menggunakan awan keseimbangan pertama, EMA dan penapis jumlah transaksi. Dengan penggunaan gabungan pelbagai petunjuk teknikal, strategi ini dapat mengenal pasti trend dengan lebih baik dan memberikan isyarat masuk dan keluar yang jelas.
Kelebihan utama strategi ini adalah bahawa ia mengambil kira pelbagai faktor perdagangan utama, seperti kedudukan harga, arah trend, jumlah perdagangan, dan stop loss dinamik, untuk membina kerangka keputusan perdagangan yang agak lengkap. Walau bagaimanapun, sebagai sistem pengesanan trend, strategi ini mungkin tidak berfungsi dengan baik di pasaran horizontal, dan parameternya agak sensitif.
Strategi ini dijangka dapat mencapai prestasi yang lebih stabil dalam keadaan pasaran yang berbeza dengan mengoptimumkan arah pelaksanaan yang disyorkan, terutamanya penyesuaian parameter dinamik, penapisan keadaan pasaran dan pengoptimuman mekanisme penangguhan. Akhirnya, strategi ini menyediakan kerangka analisis teknikal yang berstruktur kepada pedagang yang mengikuti trend untuk membantu mereka mengawal risiko sambil menangkap peluang trend.
/*backtest
start: 2024-08-04 00:00:00
end: 2025-08-02 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Ichimoku Cloud Buy & Sell w/ Custom EMA & Volume Filters", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === INPUTS ===
conversionPeriods = input.int(9, title="Tenkan-sen Periods")
basePeriods = input.int(26, title="Kijun-sen Periods")
displacement = input.int(26, title="Cloud Displacement")
laggingSpan = input.int(52, title="Senkou Span B Periods")
emaPeriod = input.int(44, title="EMA Length for Exit", minval=1)
avgVolLen = input.int(10, title="Average Volume Length for Filter")
useStopLoss = input.bool(true, title="Use Stop Loss for Exits")
stopLossPerc = input.float(2.0, title="Stop Loss (%)", minval=0.1, step=0.1)
requireAboveEMA = input.bool(true, title="Only Buy Above EMA?")
requireBelowEMA = input.bool(true, title="Only Sell Below EMA?")
// === ICHIMOKU CALCULATIONS ===
tenkan = (ta.highest(high, conversionPeriods) + ta.lowest(low, conversionPeriods)) / 2
kijun = (ta.highest(high, basePeriods) + ta.lowest(low, basePeriods)) / 2
senkouA = (tenkan + kijun) / 2
senkouB = (ta.highest(high, laggingSpan) + ta.lowest(low, laggingSpan)) / 2
senkouA_now = senkouA[displacement]
senkouB_now = senkouB[displacement]
// === EMA CALC ===
emaVal = ta.ema(close, emaPeriod)
// === VOLUME CONDITION ===
avgVol = ta.sma(volume[1], avgVolLen) // Excludes current candle's volume
volCondition = volume > avgVol
// === BUY CONDITION ===
buyCondition = (close > senkouA_now and close > senkouB_now and volCondition and (not requireAboveEMA or close > emaVal))
if buyCondition
stopLevel = useStopLoss ? close * (1 - stopLossPerc / 100) : na
strategy.entry("Buy", strategy.long)
if useStopLoss
strategy.exit("Buy SL", from_entry="Buy", stop=stopLevel)
// === SELL CONDITION ===
sellCondition = (close < senkouA_now and close < senkouB_now and volCondition and (not requireBelowEMA or close < emaVal))
if sellCondition
stopLevelSell = useStopLoss ? close * (1 + stopLossPerc / 100) : na
strategy.entry("Sell", strategy.short)
if useStopLoss
strategy.exit("Sell SL", from_entry="Sell", stop=stopLevelSell)
// === EXIT CONDITIONS ===
exitBuy = close < emaVal // Exit long if close < EMA
if exitBuy
strategy.close("Buy")
exitSell = close > emaVal // Exit short if close > EMA
if exitSell
strategy.close("Sell")
// === PLOTS ===
plot(emaVal, color=color.yellow, linewidth=2, title="EMA")
plot(senkouA, color=color.green, title="Senkou Span A", offset=displacement)
plot(senkouB, color=color.red, title="Senkou Span B", offset=displacement)