Strategi ini dinamakan
Penunjuk teras strategi ini adalah Indeks Kekuatan Benar (TSI).
TSI = 100 * (PC1 / PC2)
Di mana PC1 dan PC2 adalah purata bergerak eksponen dua kadar perubahan harga dan nilai mutlak kadar perubahan harga, masing-masing. purata bergerak eksponen dua dikira dengan terlebih dahulu menggunakan purata bergerak eksponen dengan satu panjang kepada kadar perubahan harga, dan kemudian menggunakan purata bergerak eksponen lain yang lebih pendek kepada purata bergerak yang diperoleh. Pembersihan berganda ini dapat lebih baik menghapuskan rawak dalam kadar perubahan harga dan meningkatkan kestabilan penunjuk TSI.
Selepas mengira nilai TSI, strategi juga mengira garis isyarat untuk nilai TSI. Garis isyarat ditakrifkan sebagai purata bergerak eksponensial nilai TSI dalam tempoh tertentu. Dalam perdagangan sebenar, strategi menilai trend pasaran dan menghasilkan isyarat perdagangan dengan memerhatikan hubungan antara nilai TSI dan garis isyaratnya. Apabila nilai TSI melintasi di atas garis isyarat, ia adalah isyarat beli. Apabila nilai TSI melintasi di bawah garis isyarat, ia adalah isyarat jual.
Satu lagi ciri strategi ini ialah saiz dagangan disesuaikan secara dinamik. Kod strategi menetapkan modal awal dan nisbah pendedahan risiko sebagai parameter input. Kedua-dua parameter ini digabungkan dengan harga saham semasa untuk mengira secara dinamik jumlah kontrak yang diperdagangkan atau pendedahan risiko. Ini dapat mengawal risiko keseluruhan keseluruhan strategi dengan lebih baik.
Strategi perdagangan purata bergerak eksponensial berganda dinamik mempunyai beberapa kelebihan:
Ia menggunakan penunjuk TSI yang menggunakan penghalusan eksponensial berganda, menjadikannya kurang sensitif terhadap bunyi pasaran dan dapat menghasilkan isyarat yang lebih tepat.
Ia dibina berdasarkan prinsip yang terbukti merentasi penunjuk dan garis isyaratnya untuk menjana isyarat perdagangan.
Strategi ini secara dinamik menyesuaikan saiz kedudukan berdasarkan belanjawan risiko. Ini membantu mengelakkan overtrading dan emosi.
Ia berfungsi pada jangka masa harian dan mingguan, sesuai untuk perdagangan ayunan dan perdagangan kedudukan.
Ia mudah dilaksanakan dalam bot dan sistem perdagangan lain kerana logik masuk / keluar yang mudah.
Tidak ada terlalu banyak parameter untuk menyesuaikan, menjadikan sistem mudah untuk mengoptimumkan.
Kelebihan ini digabungkan menjadikannya strategi perdagangan yang kukuh dan serba boleh untuk peniaga saham. Penghapusan dan ukuran kedudukan yang teliti membantu mencegah isyarat palsu dan kerugian besar.
Walaupun strategi perdagangan purata bergerak eksponensial berganda dinamik mempunyai banyak kelebihan, ia juga mempunyai beberapa risiko yang melekat seperti kebanyakan strategi saham:
Oleh kerana STI dan garis isyarat berdasarkan data harga sejarah, selalu ada risiko isyarat yang salah terutamanya semasa keadaan pasaran yang tidak menentu.
Whipsaws boleh berlaku jika pasaran berayun di sekitar garis sifar petunjuk TSI.
Pergerakan jurang yang besar boleh menyebabkan strategi ditutup dengan kerugian kerana ia tidak dapat keluar pada waktunya.
Jika pasaran berterusan dalam trend yang kuat, STI boleh membalikkan trend sebelum masa yang mengakibatkan keuntungan yang hilang.
Oleh kerana kesan leverage, kerugian yang lebih besar daripada had yang ditetapkan oleh parameter risiko adalah mungkin.
Walau bagaimanapun, risiko ini dapat dikurangkan dengan aspek seperti ukuran kedudukan, stop loss dan teknik pengurusan risiko lain. Juga, parameter dan penapis dapat dioptimumkan lagi untuk memaksimumkan prestasi dalam keadaan pasaran yang berbeza.
Beberapa idea untuk mengoptimumkan strategi ini termasuk:
Ujian kombinasi yang berbeza parameter pelinciran berganda untuk mencari kombinasi yang menghasilkan isyarat perdagangan yang paling tepat. Parameter kitaran panjang dan pendek boleh diselaraskan untuk pengoptimuman.
Menambah penapis berdasarkan turun naik, jumlah dagangan atau penunjuk lain untuk mengurangkan isyarat dagangan yang tidak perlu. Ini boleh mengurangkan kekerapan perdagangan sambil meningkatkan keuntungan setiap perdagangan.
Menggabungkan logik stop loss. Sebagai contoh, berhenti apabila nilai TSI melintasi garis sifar. Ini boleh mengurangkan kerugian yang tidak perlu.
Mengkaji prestasi instrumen perdagangan yang berbeza seperti indeks, komoditi dan lain-lain di bawah strategi ini.
Menyaring instrumen dagangan secara selektif. Sebagai contoh, menilai metrik kecairan, turun naik instrumen dan memilih yang mempunyai parameter peringkat yang lebih tinggi.
Menggunakan kaedah pembelajaran mesin seperti analisis berjalan maju untuk memilih kombinasi parameter yang optimum. Ini dapat mengurangkan bias manusia dalam pemilihan dan mendapatkan parameter yang lebih baik.
Menggunakan pelbagai set parameter berdasarkan rejimen pasaran yang berbeza, dan secara dinamik beralih di antara mereka.
Dengan menguji dan mengoptimumkan pelbagai aspek di atas, terdapat potensi untuk meningkatkan lagi kestabilan dan keuntungan strategi ini.
Ringkasnya, strategi ini memanfaatkan sifat pelunturan eksponen ganda penunjuk TSI untuk merancang strategi dagangan saham yang agak stabil dan boleh dipercayai. Dengan menyesuaikan saiz kedudukan secara dinamik, tahap risiko keseluruhan dapat dikawal dengan berkesan. Strategi ini menggabungkan kelebihan yang sesuai untuk perdagangan jangka pendek dan sederhana.
Sudah tentu, seperti kebanyakan strategi perdagangan kuantitatif, strategi ini juga mempunyai beberapa batasan, terutama tercermin dalam terdedah kepada kesan turun naik pasaran yang drastik.
/*backtest start: 2024-01-06 00:00:00 end: 2024-02-05 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © shankardey7310 //@version=5 strategy("TSI STOCKS", shorttitle="TSI", overlay=true) initialCapital = input(10000, title="Initial Capital") riskPercent = input(1, title="Risk Percentage") / 100 longLength = input(12, title="Long Length") shortLength = input(9, title="Short Length") signalLength = input(12, title="Signal Length") price = close pc = ta.change(price) double_smooth(src, long, short) => first_smooth = ta.ema(src, long) ta.ema(first_smooth, short) double_smoothed_pc = double_smooth(pc, longLength, shortLength) double_smoothed_abs_pc = double_smooth(math.abs(pc), longLength, shortLength) tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc) tsi_signal = ta.ema(tsi_value, signalLength) riskAmount = (initialCapital * riskPercent) / close if (tsi_value > tsi_signal and tsi_value[1] <= tsi_signal[1]) strategy.entry("Long", strategy.long) if (tsi_value < tsi_signal and tsi_value[1] >= tsi_signal[1]) strategy.close("Long") plot(tsi_value, title="True Strength Index", color=#2962FF) plot(tsi_signal, title="Signal", color=#E91E63) hline(0, title="Zero", color=#787B86)