
Strategi ini adalah sistem pengesanan trend yang berasaskan isyarat silang moving average (MMA) yang digabungkan dengan mekanisme pengurusan risiko yang menyesuaikan diri. Strategi ini menggunakan purata bergerak sederhana (SMA) dengan dua tempoh yang berbeza (default 20 dan 50) untuk menentukan arah trend pasaran dan menggunakan purata gelombang sebenar (ATR) untuk menetapkan kedudukan hentian secara dinamik. Di samping itu, strategi ini menggunakan prinsip pengurusan wang, mengira saiz kedudukan secara automatik berdasarkan peratusan risiko yang ditetapkan, dan menetapkan tahap hentian dan pengesanan hentian berdasarkan nisbah pulangan risiko, yang bertujuan untuk menangkap trend yang kuat dan melindungi keuntungan apabila trend berbalik.
Logik utama strategi ini adalah berdasarkan beberapa komponen utama:
Mekanisme pengenalan trendStrategi menggunakan kedudukan relatif rata-rata bergerak cepat ((20 kitaran) dan rata-rata bergerak perlahan ((50 kitaran) untuk menentukan trend pasaran. Apabila garis cepat berada di atas garis perlahan, dikenali sebagai tren naik, mencetuskan beberapa isyarat; apabila garis cepat berada di bawah garis perlahan, dikenali sebagai tren menurun, mencetuskan isyarat kosong.
Pengurusan risiko dinamikStrategi menggunakan ATR (Average True Range) 14 kitaran yang dikalikan dengan kelipatan yang ditentukan oleh pengguna (Default 2.0) untuk menetapkan jarak berhenti. Kaedah ini membolehkan titik berhenti untuk menyesuaikan secara automatik mengikut turun naik pasaran, menetapkan berhenti yang lebih lebar dalam persekitaran pasaran yang lebih bergolak, dan menetapkan berhenti yang lebih ketat dalam pasaran yang lebih kecil.
Pengurusan Kedudukan Berasaskan RisikoStrategi mengira saiz kedudukan untuk setiap perdagangan berdasarkan peratusan risiko yang ditentukan oleh pengguna (% dari dana akaun default). Dengan membahagikan risiko dana yang boleh diterima dengan jarak titik henti, strategi dapat memastikan bahawa walaupun henti dicetuskan, kerugian tidak akan melebihi tahap risiko yang ditetapkan.
Optimumkan risiko dan ganjaranStrategi menggunakan nisbah risiko-balas yang telah ditetapkan (default 2.0) untuk mengira tahap hentian secara automatik. Ini memastikan bahawa potensi keuntungan setiap dagangan adalah sekurang-kurangnya dua kali ganda daripada potensi risiko.
Mekanisme Hentikan KerosakanStrategi ini juga mempunyai fungsi untuk mengesan hentian kerugian, di mana titik hentian kerugian akan disesuaikan dengan harga yang bergerak ke arah yang menguntungkan, yang membantu mengunci keuntungan yang telah dicapai dan membenarkan trend untuk terus berkembang.
Kebolehan beradaptasiDengan menggunakan penutupan berasaskan ATR, strategi dapat menyesuaikan diri dengan perubahan turun naik dalam keadaan pasaran yang berbeza dan bukannya menggunakan penutupan dengan jumlah titik tetap, yang mengurangkan kemungkinan penutupan terlalu awal dalam persekitaran yang bergelombang tinggi.
Kawalan RisikoSistem pengurusan kedudukan strategi memastikan bahawa risiko setiap perdagangan tidak melebihi peratusan yang ditetapkan dari jumlah dana akaun, yang berkesan mencegah kerugian yang berlebihan yang mungkin disebabkan oleh satu perdagangan.
Keupayaan untuk menangkap trendSistem penyambung purata bergerak berfungsi dengan baik dalam mengenal pasti trend jangka panjang, terutamanya dalam persekitaran pasaran yang kurang bergolak, dan dapat menyaring bunyi pasaran jangka pendek dengan berkesan.
Perlindungan keuntunganMekanisme Tracking Stop-Loss membolehkan peniaga untuk meningkatkan tahap stop-loss secara beransur-ansur sambil mengekalkan kedudukan terbuka yang menguntungkan, yang membantu melindungi keuntungan yang telah dicapai dan tidak keluar dari trend yang kuat terlalu awal.
Parameter yang boleh disesuaikanStrategi ini menyediakan pelbagai parameter yang boleh disesuaikan, termasuk peratusan risiko, pengganda ATR, nisbah pulangan risiko dan kitaran purata bergerak, yang membolehkan peniaga mengoptimumkan mengikut pilihan risiko peribadi dan keadaan pasaran.
Risiko pembalikan arah aliranSinyal persilangan purata bergerak biasanya terlewat dengan perubahan harga pasaran, yang boleh menyebabkan perdagangan dilakukan selepas pasaran telah mula berbalik, meningkatkan risiko untuk ditangkap oleh “penembusan palsu”.
Perkembangan pasaran yang burukDalam keadaan pasaran yang bergolak atau tidak mempunyai trend yang jelas, strategi ini mungkin menghasilkan beberapa isyarat yang salah, yang menyebabkan perdagangan kerugian kecil berturut-turut.
Kepekaan ParameterPrestasi strategi sangat bergantung kepada parameter yang dipilih. Tetapan parameter yang tidak sesuai (seperti ATR yang terlalu kecil atau kitaran purata bergerak yang terlalu pendek) boleh menyebabkan terlalu banyak isyarat perdagangan dan kos perdagangan yang tidak perlu.
Titik tergelincir dan risiko pelaksanaan: Dalam pasaran yang sangat tidak menentu atau dalam jenis perdagangan yang kurang cair, harga pelaksanaan sebenar untuk perintah hentian dan hentian mungkin berbeza dengan harga yang ditetapkan.
Risiko pasaran sistemikSemasa pasaran bergelombang atau berlaku peristiwa yang melampau (seperti kejatuhan), nilai ATR boleh meningkat secara mendadak, yang boleh menyebabkan titik penangguhan yang terlalu luas, meningkatkan potensi kerugian setiap dagangan.
Penapisan isyarat optimum: Indikator teknikal tambahan boleh diperkenalkan (seperti RSI yang lemah atau pengayun acak) untuk menyaring isyarat palsu yang berpotensi, terutamanya apabila rata-rata bergerak hampir, yang dapat meningkatkan ketepatan waktu masuk.
Kesesuaian dengan persekitaran pasaran: Menambah mekanisme pengenalan keadaan pasaran yang membolehkan strategi menyesuaikan parameter secara automatik atau menghentikan perdagangan berdasarkan keadaan pasaran yang berbeza (trend atau goyah). Sebagai contoh, indikator kadar turun naik atau indikator kekuatan trend boleh digunakan untuk menentukan sama ada pasaran semasa sesuai untuk strategi trend tracking.
Optimumkan strategi henti kerugianMekanisme hentian yang lebih kompleks, seperti hentian perpecahan atau hentian berdasarkan tahap sokongan / rintangan, mungkin lebih berkesan daripada hentian ATR ganda yang mudah.
Tambah waktu penapisan: Menghentikan dagangan pada masa-masa tertentu yang bergelombang tinggi (seperti pengumuman data ekonomi penting atau pembukaan / penutupan pasaran) dapat mengelakkan perdagangan pada masa-masa yang biasanya mengalami masalah turun naik dan kecairan yang luar biasa.
Peningkatan dalam pengurusan kedudukan: Menerapkan algoritma pengurusan kedudukan yang lebih maju, seperti variasi formula Kelly atau penyesuaian kedudukan dinamik berdasarkan peratusan keuntungan dan kerugian semasa, dapat mengoptimumkan penggunaan dana dan mengawal risiko lebih lanjut.
Strategi perdagangan kuantitatif trend track dan ATR adalah sistem perdagangan yang komprehensif yang menggabungkan prinsip pengiktirafan trend, pengurusan risiko dinamik dan pengurusan wang. Strategi ini mengenal pasti trend pasaran melalui rata-rata bergerak dan menetapkan tahap stop loss secara dinamik menggunakan indikator ATR, sambil mengawal risiko modal dan potensi pulangan setiap perdagangan melalui peratusan risiko dan peratusan pulangan risiko yang telah ditetapkan.
Walaupun strategi ini berkinerja baik dalam pasaran yang jelas trend, ia mungkin menghadapi risiko kerugian kecil berturut-turut dalam pasaran yang bergolak. Pengoptimuman masa depan boleh tertumpu pada penapisan isyarat yang lebih baik, peningkatan kesesuaian dengan persekitaran pasaran, pengoptimuman strategi hentikan kerugian, dan pengoptimuman sistem pengurusan kedudukan. Dengan pengoptimuman ini, strategi ini berpotensi untuk memberikan prestasi yang lebih stabil dalam pelbagai keadaan pasaran, sambil mengekalkan kelebihan utamanya: tangkapan trend yang berkesan dan pengurusan risiko yang ketat.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-03-24 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Khaos Trading Bot", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=1)
// Input parameters
riskPercentage = input.float(1.0, title="Risk Percentage per Trade", minval=0.1, maxval=100)
ATRMultiplier = input.float(2.0, title="ATR Multiplier for Stop-Loss")
RiskRewardRatio = input.float(2.0, title="Risk-Reward Ratio")
FastMMA = input.int(20, title="Fast Moving Average (MMA)")
SlowMMA = input.int(50, title="Slow Moving Average (MMA)")
TrailingStopPips = input.int(50, title="Trailing Stop (in pips)")
// Calculate ATR (Average True Range) for stop-loss calculation
atrValue = ta.atr(14)
// Moving Averages
fastMA = ta.sma(close, FastMMA)
slowMA = ta.sma(close, SlowMMA)
// Determine trend based on moving averages
longCondition = fastMA > slowMA
shortCondition = fastMA < slowMA
// Calculate Stop-Loss and Take-Profit
stopLoss = atrValue * ATRMultiplier
takeProfit = stopLoss * RiskRewardRatio
// Risk Management: Position sizing based on percentage risk per trade
capitalRisk = strategy.equity * (riskPercentage / 100)
lotSize = capitalRisk / stopLoss
// Entry Rules
if longCondition
strategy.entry("Buy", strategy.long)
if shortCondition
strategy.entry("Sell", strategy.short)
// Exit Rules with Take-Profit and Stop-Loss
strategy.exit("Exit Buy", from_entry="Buy", stop=close - stopLoss, limit=close + takeProfit)
strategy.exit("Exit Sell", from_entry="Sell", stop=close + stopLoss, limit=close - takeProfit)
// Trailing stop
trailStop = stopLoss * 10 * syminfo.mintick // Adjusting for the trailing stop
strategy.exit("Exit Buy Trail", from_entry="Buy", trail_offset=trailStop, trail_price=close)
strategy.exit("Exit Sell Trail", from_entry="Sell", trail_offset=trailStop, trail_price=close)
// Plot Moving Averages for visualization
plot(fastMA, color=color.blue, title="Fast MMA")
plot(slowMA, color=color.red, title="Slow MMA")