
Strategi ini menggabungkan alignment yang sempurna dan trend magic indicator untuk menangkap tren pasar. Strategi ini menggunakan tiga moving average (EMA45, SMA90, dan SMA180) dan trend magic indicator berdasarkan perhitungan CCI dan ATR.
Strategi ini didasarkan pada beberapa elemen kunci:
Peraturan garis rata yang sempurna: menggunakan tiga garis rata EMA45, SMA90 dan SMA180, ketika mereka diletakkan dalam urutan tertentu (multiply: EMA45 > SMA90 > SMA180; kosong: EMA45 < SMA90 < SMA180), dianggap sebagai sinyal kuat untuk menetapkan tren.
Trend Magic Indicator: Ini adalah indikator khusus yang didasarkan pada CCI (Commodity Channel Index) dan ATR (Real Tone Ratio). Ini menunjukkan pembalikan tren potensial dengan perubahan warna.
Syarat masuk: sinyal perdagangan hanya akan dihasilkan jika garis rata-rata sempurna dan perubahan warna indikator sihir tren terpenuhi secara bersamaan. Ini memastikan bahwa perdagangan hanya dilakukan ketika tren kuat terbentuk.
Manajemen risiko: Strategi menggunakan stop loss dan profit target berdasarkan rasio pengembalian risiko. Stop loss ditetapkan pada level SMA90 saat masuk, profit target ditetapkan 1,5 kali lipat dari risiko.
Pelacakan tren: Dengan menggabungkan beberapa indikator, strategi dapat secara efektif menangkap tren jangka menengah dan panjang, mengurangi sinyal palsu.
Kontrol risiko: mekanisme manajemen risiko built-in, termasuk stop loss tetap dan target keuntungan berdasarkan rasio pengembalian risiko, membantu mengendalikan risiko setiap perdagangan.
Fleksibilitas: Strategi memungkinkan pengguna untuk menyesuaikan parameter, seperti siklus CCI, perkalian ATR, dan siklus rata-rata bergerak, untuk menyesuaikan dengan kondisi pasar yang berbeda dan preferensi pribadi.
Visualisasi: Strategi memetakan indikator sihir tren dan moving average pada grafik, yang membantu trader menganalisis tren pasar secara intuitif.
Keterlambatan: Strategi mungkin melewatkan beberapa peluang di awal tren karena penggunaan rata-rata bergerak dan indikator keterlambatan lainnya.
Pasar yang bergoyang: Dalam pasar yang bergoyang atau berputar, strategi dapat menghasilkan sinyal palsu yang sering, yang menyebabkan perdagangan berlebihan.
Stop loss tetap: Menggunakan SMA90 tetap sebagai stop loss mungkin terlalu longgar dalam beberapa kasus, meningkatkan potensi kerugian.
Sensitivitas parameter: kinerja strategi mungkin sensitif terhadap pengaturan parameter dan perlu dioptimalkan dan diperiksa kembali dengan hati-hati.
Stop loss dinamis: pertimbangkan untuk melakukan stop loss tracking dan menyesuaikan level stop loss seiring pergerakan harga untuk lebih melindungi keuntungan.
Filter kondisi pasar: Memperkenalkan volatilitas atau intensitas tren filter untuk menyesuaikan tindakan strategi dalam kondisi pasar yang berbeda.
Analisis kerangka waktu: Integrasi analisis kerangka waktu ganda untuk meningkatkan keandalan sinyal dan mengurangi sinyal palsu.
Indikator kuantitatif: Menambahkan analisis volume transaksi atau indikator kuantitatif lainnya untuk meningkatkan konfirmasi tren dan identifikasi reversal.
Optimasi Pembelajaran Mesin: Menggunakan algoritma pembelajaran mesin untuk secara dinamis menyesuaikan parameter agar sesuai dengan kondisi pasar yang terus berubah.
Strategi perdagangan otomatis yang menggabungkan alignment sempurna dan indikator sihir tren ini menunjukkan metode pelacakan tren yang berpotensi. Strategi ini bertujuan untuk menangkap tren pasar yang kuat dengan memanfaatkan beberapa indikator teknis secara komprehensif, sambil mengendalikan risiko melalui mekanisme manajemen risiko yang terintegrasi. Meskipun ada beberapa kendala yang melekat, seperti keterbelakangan dan sensitif terhadap parameter, strategi ini berpotensi menjadi alat perdagangan yang efektif dengan pengoptimalan dan penyesuaian yang berkelanjutan.
/*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")