
Strategi ini adalah sistem pengesanan trend yang komprehensif berdasarkan beberapa petunjuk teknikal, terutamanya untuk tempoh masa 1 jam. Ia menggabungkan purata bergerak, petunjuk massa dan indikator goyah untuk menilai trend pasaran dengan mengira beberapa petunjuk berbanding dengan kedudukan harga semasa. Idea utama strategi ini adalah untuk membeli apabila kebanyakan petunjuk menunjukkan isyarat bullish dan menjual apabila kebanyakan petunjuk menunjukkan isyarat bearish.
Strategi ini berpusat pada pengiraan pelbagai petunjuk teknikal berbanding dengan kedudukan harga semasa dan membuat keputusan perdagangan berdasarkan isyarat komposit dari petunjuk ini. Secara khusus:
Rata-rata bergerak: EMA dan SMA dikira untuk 6 tempoh yang berbeza (10, 20, 30, 50, 100, 200) untuk menentukan sama ada mereka berada di atas atau di bawah harga penutupan.
RSI: menggunakan RSI 14 kitaran, apabila RSI lebih besar daripada 50 dianggap sebagai isyarat bullish, dan kurang daripada 50 dianggap sebagai isyarat bearish.
Penunjuk rawak: Dengan menggunakan 14 tanda rawak kitaran, garis K yang lebih besar daripada 80 dianggap sebagai isyarat bullish, dan yang lebih kecil daripada 20 dianggap sebagai isyarat bearish.
CCI: menggunakan 20 kitaran CCI, lebih besar daripada 100 dianggap sebagai isyarat bullish dan kurang daripada 100 dianggap sebagai isyarat bearish.
Penunjuk momentum: mengira momentum 10 kitaran, nilai positif dianggap sebagai isyarat bullish, nilai negatif dianggap sebagai isyarat bearish.
MACD: MACD yang menggunakan parameter 12-26-9 dengan grafik tiang sebagai positif sebagai isyarat bullish dan negatif sebagai isyarat bearish.
Strategi mengira jumlah semua isyarat bullish ((above_count) dan jumlah semua isyarat bearish ((below_count) dan kemudian mengira perbezaan antara mereka ((below_count - above_count) . Perbezaan ini digunakan sebagai isyarat perdagangan utama:
Kaedah ini membolehkan strategi untuk menilai kekuatan dan arah trend pasaran berdasarkan isyarat gabungan pelbagai petunjuk, dan dengan itu membuat keputusan perdagangan yang lebih mantap.
Analisis komprehensif pelbagai indikator: Dengan menggabungkan pelbagai indikator teknikal, strategi dapat menilai trend pasaran dengan lebih menyeluruh, mengurangkan risiko isyarat palsu yang mungkin dibawa oleh satu indikator.
Adaptif: Strategi ini menggunakan pelbagai jenis indikator (pengesanan trend, dinamika, dan indikator getaran) yang membolehkan ia kekal berkesan dalam pelbagai keadaan pasaran.
Tetapan parameter yang fleksibel: Pengguna boleh menyesuaikan nilai masuk dan keluar mengikut pilihan risiko dan pandangan pasaran mereka sendiri, menjadikan strategi lebih peribadi.
Keupayaan untuk mengesan trend: Strategi ini mempunyai potensi untuk menangkap trend pasaran yang kuat dan menghasilkan keuntungan yang ketara dengan menggabungkan isyarat dari pelbagai petunjuk.
Pengurusan risiko: Strategi ini merangkumi logik kedudukan kosong yang boleh dikeluarkan tepat pada masanya apabila trend pasaran berbalik, yang membantu mengawal risiko.
Visualisasi: Strategi ini memaparkan perbezaan antara above_count dan below_count pada carta, membolehkan peniaga melihat perubahan kekuatan trend pasaran secara intuitif.
Lagging: Kerana penggunaan pelbagai purata bergerak dan lain-lain penunjuk lagging, strategi mungkin bertindak balas lambat apabila trend berbalik, menyebabkan kelewatan masuk atau keluar.
Overtrading: Dalam pasaran yang bergolak, indikator mungkin sering memberi isyarat yang bertentangan, yang menyebabkan overtrading dan meningkatkan kos transaksi.
Risiko Pelarasan Palsu: Dalam pasaran yang berlainan arah, penunjuk mungkin salah mengira pergerakan kecil sebagai permulaan trend, yang menyebabkan isyarat perdagangan yang salah.
Sensitiviti parameter: Prestasi strategi mungkin sangat sensitif kepada tetapan masuk dan keluar, dan tetapan parameter yang tidak betul boleh menyebabkan prestasi strategi yang buruk.
Kurangnya mekanisme penangguhan kerugian: Strategi semasa tidak mempunyai mekanisme penangguhan kerugian yang jelas, dan mungkin menghadapi kerugian yang lebih besar dalam keadaan pasaran yang melampau.
Mengabaikan faktor asas: Strategi hanya berdasarkan petunjuk teknikal dan tidak mengambil kira faktor asas yang mungkin mempengaruhi pasaran.
Memperkenalkan parameter penyesuaian diri: Anda boleh mempertimbangkan untuk menggunakan mekanisme penyesuaian diri untuk secara dinamik menyesuaikan nilai masuk dan keluar untuk menyesuaikan diri dengan keadaan pasaran yang berbeza. Ini boleh dilakukan dengan menganalisis kadar turun naik sejarah atau menggunakan algoritma pembelajaran mesin.
Menambahkan mekanisme hentikan kerugian: memperkenalkan mekanisme hentikan kerugian berdasarkan ATR atau peratusan tetap untuk mengehadkan kerugian maksimum dalam satu perdagangan dan meningkatkan keupayaan pengurusan risiko.
Mengoptimumkan gabungan indikator: Algoritma pilihan ciri boleh dicuba untuk menentukan gabungan indikator yang paling berkesan, membuang indikator yang berlebihan atau tidak berkesan, meningkatkan kecekapan strategi.
Memperkenalkan penapis masa: pertimbangkan untuk memasukkan penapis masa dan elakkan berdagang pada masa yang kurang bergelombang, seperti berdagang hanya dalam beberapa jam pertama selepas pasaran dibuka.
Mengintegrasikan penunjuk sentimen pasaran: memperkenalkan penunjuk sentimen pasaran seperti indeks VIX atau jumlah transaksi untuk menilai keadaan pasaran dengan lebih baik dan meningkatkan kebolehpasaran strategi.
Mengoptimumkan kitaran purata bergerak: anda boleh mencuba menggunakan kombinasi kitaran purata bergerak yang berbeza, atau menggunakan purata bergerak yang beradaptasi untuk meningkatkan kemampuan strategi untuk menyesuaikan diri dengan bingkai masa yang berbeza.
Menambah penapis kekuatan trend: pengenalan penunjuk kekuatan trend seperti ADX, untuk berdagang hanya apabila trend cukup kuat untuk mengurangkan isyarat palsu di pasaran goyah.
Menerapkan pengurusan kedudukan separa: saiz kedudukan boleh disesuaikan mengikut kekuatan isyarat, dan bukan hanya masuk dan keluar keseluruhan, untuk menguruskan risiko dengan lebih baik dan mengoptimumkan penggunaan dana.
EMA/SMA Multi-Indikator Komprehensif Trend Tracking Strategy adalah sistem perdagangan komprehensif berdasarkan beberapa petunjuk teknikal yang bertujuan untuk menangkap trend pasaran dengan menganalisis isyarat komprehensif dari beberapa petunjuk. Kelebihan utama strategi ini adalah keupayaan analisis pasaran yang komprehensif dan parameter yang fleksibel yang membolehkan ia menyesuaikan diri dengan keadaan pasaran yang berbeza.
Dengan melaksanakan arah pengoptimuman yang disyorkan, seperti memperkenalkan parameter penyesuaian, meningkatkan mekanisme pengurusan risiko, mengoptimumkan kombinasi penunjuk, dan sebagainya, anda dapat meningkatkan lagi kestabilan dan keuntungan strategi. Akhirnya, strategi ini memberikan pedagang alat analisis pasaran yang komprehensif, tetapi penerapannya yang berjaya masih memerlukan pengalaman pedagang dan usaha pengoptimuman yang berterusan.
/*backtest
start: 2024-05-28 00:00:00
end: 2024-06-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA/SMA Above-Below Close with Multiple Indicators", overlay=true)
// EMA and SMA calculations
ema10 = ta.ema(close, 10)
sma10 = ta.sma(close, 10)
ema20 = ta.ema(close, 20)
sma20 = ta.sma(close, 20)
ema30 = ta.ema(close, 30)
sma30 = ta.sma(close, 30)
ema50 = ta.ema(close, 50)
sma50 = ta.sma(close, 50)
ema100 = ta.ema(close, 100)
sma100 = ta.sma(close, 100)
ema200 = ta.ema(close, 200)
sma200 = ta.sma(close, 200)
// Indicators calculations
rsi = ta.rsi(close, 14)
stochK = ta.stoch(close, high, low, 14)
stochD = ta.sma(stochK, 3)
cci = ta.cci(close, 20)
momentum = ta.mom(close, 10)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdHist = macdLine - signalLine
bullPower = high - ta.ema(close, 13)
bearPower = low - ta.ema(close, 13)
// Calculate the number of plots above and below close
above_count = (ema10 > close ? 1 : 0) + (sma10 > close ? 1 : 0) +
(ema20 > close ? 1 : 0) + (sma20 > close ? 1 : 0) +
(ema30 > close ? 1 : 0) + (sma30 > close ? 1 : 0) +
(ema50 > close ? 1 : 0) + (sma50 > close ? 1 : 0) +
(ema100 > close ? 1 : 0) + (sma100 > close ? 1 : 0) +
(ema200 > close ? 1 : 0) + (sma200 > close ? 1 : 0) +
(rsi > 50 ? 1 : 0) + (stochK > 80 ? 1 : 0) + (cci > 100 ? 1 : 0) +
// (adx > 25 and close > open ? 1 : 0) + (ao > 0 ? 1 : 0) +
(momentum > 0 ? 1 : 0) + (macdHist > 0 ? 1 : 0)
// (stochRsi > 0.8 ? 1 : 0) + (willr > -20 ? 1 : 0) +
// (bullPower > 0 ? 1 : 0) + (uo > 50 ? 1 : 0)
below_count = (ema10 < close ? 1 : 0) + (sma10 < close ? 1 : 0) +
(ema20 < close ? 1 : 0) + (sma20 < close ? 1 : 0) +
(ema30 < close ? 1 : 0) + (sma30 < close ? 1 : 0) +
(ema50 < close ? 1 : 0) + (sma50 < close ? 1 : 0) +
(ema100 < close ? 1 : 0) + (sma100 < close ? 1 : 0) +
(ema200 < close ? 1 : 0) + (sma200 < close ? 1 : 0) +
(rsi < 50 ? 1 : 0) + (stochK < 20 ? 1 : 0) + (cci < -100 ? 1 : 0) +
// (adx > 25 and close < open ? 1 : 0) + (ao < 0 ? 1 : 0) +
(momentum < 0 ? 1 : 0) + (macdHist < 0 ? 1 : 0)
// (stochRsi < 0.2 ? 1 : 0) + (willr < -80 ? 1 : 0) +
// (bearPower < 0 ? 1 : 0) + (uo < 50 ? 1 : 0)
// Plot the difference between above_count and below_count
plot(below_count - above_count, title="Above-Below Count", color=color.orange, linewidth=2)
// Zero line
hline(0, "Zero Line", color=color.red, linewidth=2)
// Strategy
entry_long = input(12, title="entry long")
entry_short = input(-12, title="entry short")
close_long = input(-9, title="close long")
close_short = input(9, title="close short")
if (below_count - above_count > close_short)
strategy.close("Sell")
if (below_count - above_count < close_long)
strategy.close("Buy")
// Buy signal
if (below_count - above_count > entry_long)
// strategy.close("Sell")
strategy.entry("Buy", strategy.long)
// Sell (or close short) signal
if (below_count - above_count < entry_short)
// strategy.close("Buy")
strategy.entry("Sell", strategy.short)