Strategi ini menggabungkan Perintah Sempurna purata bergerak dengan penunjuk Trend Magic untuk menangkap trend pasaran. Ia menggunakan tiga purata bergerak (EMA45, SMA90, dan SMA180) bersama dengan penunjuk Trend Magic berdasarkan pengiraan CCI dan ATR. Inti strategi terletak pada mengenal pasti Perintah Sempurna purata bergerak sambil mengesahkan pembalikan trend menggunakan perubahan warna dalam penunjuk Trend Magic untuk menghasilkan isyarat perdagangan. Pendekatan ini bertujuan untuk mengurangkan isyarat palsu dan berdagang hanya apabila trend yang kuat terbentuk.
Strategi ini beroperasi berdasarkan elemen utama berikut:
Perintah Peringkat Pergerakan Peringkat Pergerakan: Menggunakan EMA45, SMA90, dan SMA180, apabila mereka sejajar dalam urutan tertentu (Bullish: EMA45 > SMA90 > SMA180; Bearish: EMA45 < SMA90 < SMA180), ia dianggap sebagai isyarat yang kuat terhadap trend yang telah ditubuhkan.
Trend Magic Indicator: Ini adalah penunjuk tersuai berdasarkan CCI (Commodity Channel Index) dan ATR (Average True Range).
Syarat kemasukan: Isyarat perdagangan dihasilkan hanya apabila kedua-dua Perintah Sempurna purata bergerak dan perubahan warna penunjuk Trend Magic dipenuhi.
Pengurusan Risiko: Strategi ini menggunakan sasaran stop-loss dan take-profit berdasarkan nisbah risiko-balasan. Stop-loss ditetapkan pada tahap SMA90 semasa masuk, dan take-profit ditetapkan pada 1.5 kali risiko.
Mengikuti trend: Dengan menggabungkan beberapa penunjuk, strategi secara berkesan menangkap trend jangka sederhana hingga panjang, mengurangkan isyarat palsu.
Kawalan Risiko: Mekanisme pengurusan risiko terbina dalam, termasuk sasaran mengambil keuntungan yang berasaskan stop-loss dan risiko-imbalan, membantu mengawal risiko untuk setiap perdagangan.
Fleksibiliti: Strategi ini membolehkan pengguna menyesuaikan pelbagai parameter seperti tempoh CCI, pengganda ATR, dan tempoh purata bergerak untuk menyesuaikan diri dengan keadaan pasaran yang berbeza dan pilihan peribadi.
Visualisasi: Strategi ini memetakan penunjuk Trend Magic dan purata bergerak pada carta, yang membolehkan peniaga menganalisis trend pasaran secara visual.
Lag: Oleh kerana penggunaan purata bergerak dan penunjuk lag lain, strategi mungkin kehilangan beberapa peluang pada permulaan trend.
Pasaran berbelit-belit: Dalam pasaran berbelit-belit atau berbelit-belit, strategi boleh menghasilkan isyarat palsu yang kerap, yang membawa kepada perdagangan berlebihan.
Stop-Loss tetap: Menggunakan SMA90 tetap sebagai stop-loss mungkin terlalu longgar dalam beberapa situasi, meningkatkan potensi kerugian.
Sensitiviti Parameter: Prestasi strategi mungkin sensitif terhadap tetapan parameter, yang memerlukan pengoptimuman dan pengujian balik yang teliti.
Stop-Loss Dinamik: Pertimbangkan untuk melaksanakan stop trailing untuk menyesuaikan tahap stop-loss apabila harga bergerak, melindungi keuntungan dengan lebih baik.
Penapis Negara Pasaran: Memperkenalkan penapis turun naik atau kekuatan trend untuk menyesuaikan tingkah laku strategi di bawah keadaan pasaran yang berbeza.
Analisis Kerangka Masa Berbilang: Sertakan analisis kerangka masa berbilang untuk meningkatkan kebolehpercayaan isyarat dan mengurangkan isyarat palsu.
Analisis Volume: Tambah analisis jumlah atau penunjuk kuantitatif lain untuk meningkatkan pengesahan trend dan pengenalan pembalikan.
Pengoptimuman Pembelajaran Mesin: Gunakan algoritma pembelajaran mesin untuk menyesuaikan parameter secara dinamik untuk menyesuaikan diri dengan keadaan pasaran yang berubah.
Strategi perdagangan automatik ini menggabungkan Perintah Perfect purata bergerak dengan penunjuk Trend Magic mempamerkan pendekatan yang menjanjikan untuk mengikuti trend. Dengan memanfaatkan pelbagai penunjuk teknikal, strategi ini bertujuan untuk menangkap trend pasaran yang kuat sambil mengawal risiko melalui mekanisme pengurusan risiko terbina dalam. Walaupun terdapat beberapa batasan yang melekat seperti kelewatan dan sensitiviti parameter, dengan pengoptimuman berterusan dan penyesuaian adaptif, strategi ini berpotensi menjadi alat perdagangan yang berkesan. Ia mungkin berfungsi dengan baik di pasaran dengan trend jangka menengah hingga panjang yang jelas. Walau bagaimanapun, peniaga harus ingat bahawa tidak ada strategi yang sempurna, dan pemantauan berterusan, sokongan, dan pengoptimuman adalah kunci kejayaan jangka panjang.
/*backtest start: 2024-08-26 00:00:00 end: 2024-09-24 08:00:00 period: 5m basePeriod: 5m 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/ // © PakunFX //@version=5 strategy("Trend Magic with EMA, SMA, and Auto-Trading", shorttitle="TM_Trading", overlay=true, format=format.price, precision=2) // Inputs period = input.int(21, "CCI period") coeff = input.float(1.0, "ATR Multiplier") AP = input.int(7, "ATR Period") riskRewardRatio = input.float(1.5, "Risk/Reward Ratio") // Risk/Reward Ratio for take profit // Calculations ATR = ta.sma(ta.tr, AP) src = input(close) upT = low - ATR * coeff downT = high + ATR * coeff var MagicTrend = 0.0 MagicTrend := ta.cci(src, period) >= 0 ? (upT < nz(MagicTrend[1]) ? nz(MagicTrend[1]) : upT) : (downT > nz(MagicTrend[1]) ? nz(MagicTrend[1]) : downT) // Define colors for Trend Magic color1 = ta.cci(src, period) >= 0 ? color.rgb(0, 34, 252) : color.rgb(252, 4, 0) isBlue = ta.cci(src, period) >= 0 isRed = ta.cci(src, period) < 0 // Convert bool to float (1 for true, 0 for false) isBlueFloat = isBlue ? 1 : 0 isRedFloat = isRed ? 1 : 0 // Moving Averages ema45 = ta.ema(close, 45) sma90 = ta.sma(close, 90) sma180 = ta.sma(close, 180) // Plot Trend Magic plot(MagicTrend, color=color1, linewidth=3) // Alerts alertcondition(ta.cross(close, MagicTrend), title="Cross Alert", message="Price - MagicTrend Crossing!") alertcondition(ta.crossover(low, MagicTrend), title="CrossOver Alarm", message="BUY SIGNAL!") alertcondition(ta.crossunder(high, MagicTrend), title="CrossUnder Alarm", message="SELL SIGNAL!") // Perfect Order conditions bullishPerfectOrder = ema45 > sma90 and sma90 > sma180 // Bullish Perfect Order bearishPerfectOrder = ema45 < sma90 and sma90 < sma180 // Bearish Perfect Order // Trend Magic color change detection trendMagicTurnedBlue = ta.crossover(isBlueFloat, isRedFloat) // Red to Blue crossover (For long entry) trendMagicTurnedRed = ta.crossunder(isBlueFloat, isRedFloat) // Blue to Red crossover (For short entry) // Variables to store SMA90 at the entry var float longSma90 = na var float shortSma90 = na // Trading logic based on Perfect Order and color change longCondition = bullishPerfectOrder and trendMagicTurnedBlue // Buy when Perfect Order is bullish and Trend Magic turns red to blue shortCondition = bearishPerfectOrder and trendMagicTurnedRed // Sell when Perfect Order is bearish and Trend Magic turns blue to red // Strategy Entry if (longCondition) strategy.entry("Buy", strategy.long) longSma90 := sma90 // Store SMA90 at entry for long position if (shortCondition) strategy.entry("Sell", strategy.short) shortSma90 := sma90 // Store SMA90 at entry for short position // Stop-Loss and Take-Profit calculations // For Long Positions: stop at SMA90 (fixed at entry), take profit at 1.5x risk if (longCondition and not na(longSma90)) longStopLoss = longSma90 // Use SMA90 at the time of entry longRisk = close - longSma90 // Calculate risk longTakeProfit = close + longRisk * riskRewardRatio // Calculate take profit strategy.exit("Take Profit/Stop Loss", "Buy", stop=longStopLoss, limit=longTakeProfit) // For Short Positions: stop at SMA90 (fixed at entry), take profit at 1.5x risk if (shortCondition and not na(shortSma90)) shortStopLoss = shortSma90 // Use SMA90 at the time of entry shortRisk = shortSma90 - close // Calculate risk shortTakeProfit = close - shortRisk * riskRewardRatio // Calculate take profit strategy.exit("Take Profit/Stop Loss", "Sell", stop=shortStopLoss, limit=shortTakeProfit) // Plot Moving Averages plot(ema45, color=color.green, title="EMA 45") plot(sma90, color=color.blue, title="SMA 90") plot(sma180, color=color.red, title="SMA 180")