Strategi ini menggunakan crossover dari Exponential Moving Averages (EMA) untuk menghasilkan sinyal perdagangan sambil secara dinamis menetapkan tingkat take profit dan stop loss. Ketika EMA jangka pendek (EMA 12) melintasi di atas EMA jangka panjang (EMA 26), sinyal beli dihasilkan; sebaliknya, ketika EMA 12 melintasi di bawah EMA 26, sinyal jual dihasilkan. Strategi menetapkan tingkat take profit dan stop loss yang berbeda untuk posisi panjang dan pendek. Untuk posisi panjang, take profit ditetapkan pada 8% di atas harga masuk, dan stop loss ditetapkan pada 2,5% di bawah harga masuk; untuk posisi pendek, take profit ditetapkan pada 8% di bawah harga masuk, dan stop loss ditetapkan pada 2,5% di atas harga masuk.
Inti dari strategi ini adalah menggunakan penyeberangan dua EMA dengan periode yang berbeda untuk menghasilkan sinyal perdagangan. EMA adalah indikator trend-mengikuti yang meluruskan data harga dan mengurangi gangguan kebisingan. Ketika EMA jangka pendek melintasi di atas EMA jangka panjang, itu menunjukkan tren harga yang menguat dan menghasilkan sinyal beli; sebaliknya, ketika EMA jangka pendek melintasi di bawah EMA jangka panjang, itu menunjukkan tren harga yang melemah dan menghasilkan sinyal jual.
Pada saat yang sama, strategi menggunakan metode take profit dan stop loss yang dinamis, menetapkan tingkat take profit dan stop loss yang berbeda berdasarkan arah posisi saat ini (panjang atau pendek).
Sederhana dan mudah digunakan: Strategi hanya menggunakan persilangan dua garis EMA untuk menghasilkan sinyal perdagangan, dengan logika yang jelas dan mudah dipahami dan diterapkan.
Mengikuti tren: Indikator EMA memiliki kemampuan mengikuti tren yang baik dan dapat secara efektif menangkap tren harga utama.
Dinamis mengambil keuntungan dan stop loss: Dengan menyesuaikan secara dinamis mengambil keuntungan dan stop loss tingkat berdasarkan arah posisi, memungkinkan keuntungan untuk sepenuhnya memperluas ketika tren yang kuat sementara tepat waktu memotong kerugian ketika harga berbalik, lebih mengendalikan risiko.
Kemampuan beradaptasi yang kuat: Strategi ini dapat diterapkan pada lingkungan pasar dan instrumen perdagangan yang berbeda, dengan kemampuan beradaptasi dan fleksibilitas yang kuat.
Risiko optimasi parameter: Pemilihan periode EMA dan pengaturan rasio mengambil keuntungan dan stop loss perlu dioptimalkan sesuai dengan lingkungan pasar dan instrumen perdagangan tertentu.
Risiko perdagangan yang sering: Ketika pasar berada dalam keadaan volatilitas, penyeberangan EMA dapat sering terjadi, menyebabkan strategi menghasilkan lebih banyak sinyal perdagangan dan meningkatkan biaya dan risiko perdagangan.
Risiko pembalikan tren: Ketika tren pasar berbalik tiba-tiba, strategi dapat menghasilkan sinyal perdagangan yang salah, yang mengarah pada kerugian.
Memperkenalkan indikator teknis lainnya: Pertimbangkan untuk memperkenalkan indikator teknis lainnya, seperti RSI dan MACD, untuk membantu dalam mengkonfirmasi sinyal silang EMA dan meningkatkan keandalan sinyal perdagangan.
Mengoptimalkan pengaturan parameter: Temukan kombinasi parameter terbaik yang cocok untuk lingkungan pasar dan instrumen perdagangan tertentu dengan mengoptimalkan dan menguji periode EMA dan mengambil rasio keuntungan dan stop loss.
Memperkenalkan langkah-langkah pengendalian risiko: Pertimbangkan untuk memperkenalkan langkah-langkah pengendalian risiko, seperti manajemen posisi dan manajemen modal, untuk mengendalikan risiko perdagangan dengan lebih baik.
Menggabungkan dengan analisis fundamental: Menggabungkan analisis teknis dengan analisis fundamental, secara komprehensif mempertimbangkan lingkungan pasar, data ekonomi, dan faktor lain untuk meningkatkan keakuratan keputusan perdagangan.
Strategi ini menggunakan EMA crossover untuk menghasilkan sinyal perdagangan dan menggunakan metode mengambil keuntungan dan stop loss yang dinamis untuk mengendalikan risiko. Strategi ini memiliki keuntungan seperti kesederhanaan, mengikuti tren, dan kemampuan beradaptasi yang kuat, tetapi juga menghadapi tantangan seperti risiko optimasi parameter, risiko perdagangan yang sering, dan risiko pembalikan tren. Dengan memperkenalkan indikator teknis lainnya, mengoptimalkan pengaturan parameter, memperkenalkan langkah-langkah pengendalian risiko, dan menggabungkan dengan analisis fundamental, kinerja strategi ini dapat lebih dioptimalkan untuk meningkatkan penerapannya dan profitabilitas dalam perdagangan aktual.
/*backtest start: 2023-05-23 00:00:00 end: 2024-05-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("CDC Action Zone Trading Bot with Dynamic TP/SL", overlay=true) // ดึงข้อมูลราคาปัจจุบัน current_price = close // คำนวณเส้น EMA 12 และ EMA 26 ema12 = ta.ema(current_price, 12) ema26 = ta.ema(current_price, 26) // กำหนดเปอร์เซ็นต์ Take Profit และ Stop Loss takeProfitPercent = 0.080 stopLossPercent = 0.025 // คำนวณระดับ Take Profit และ Stop Loss longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent) longStopLoss = strategy.position_avg_price * (1 - stopLossPercent) shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent) shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent) // สัญญาณ Buy buySignal = (ema12 > ema26) and (ema12[1] <= ema26[1]) // สัญญาณ Sell sellSignal = (ema12 < ema26) and (ema12[1] >= ema26[1]) // เปิด Position Long if (buySignal) strategy.entry("Long", strategy.long) // เปิด Position Short if (sellSignal) strategy.entry("Short", strategy.short) // ปิด Position Long เมื่อถึง Take Profit หรือ Stop Loss if (strategy.position_size > 0) strategy.exit("Long TP/SL", from_entry="Long", limit=longTakeProfit, stop=longStopLoss, comment="TP/SL") // ปิด Position Short เมื่อถึง Take Profit หรือ Stop Loss if (strategy.position_size < 0) strategy.exit("Short TP/SL", from_entry="Short", limit=shortTakeProfit, stop=shortStopLoss, comment="TP/SL") // ปิด Position Long เมื่อเกิดสัญญาณขาย if (strategy.position_size > 0 and sellSignal) strategy.close("Long", comment="Sell Signal") // ปิด Position Short เมื่อเกิดสัญญาณซื้อ if (strategy.position_size < 0 and buySignal) strategy.close("Short", comment="Buy Signal") // Debugging messages to plot the calculated levels for visual verification //plot(longTakeProfit, title="Long Take Profit", color=color.green, linewidth=1, style=plot.style_line) //plot(longStopLoss, title="Long Stop Loss", color=color.red, linewidth=1, style=plot.style_line) //plot(shortTakeProfit, title="Short Take Profit", color=color.green, linewidth=1, style=plot.style_line) //plot(shortStopLoss, title="Short Stop Loss", color=color.red, linewidth=1, style=plot.style_line)