
Strategi ini menggunakan persilangan indeks moving average (EMA) untuk menghasilkan sinyal perdagangan, sementara secara dinamis mengatur level stop dan stop loss. Ketika EMA dengan periode yang lebih pendek (EMA 12) melewati EMA dengan periode yang lebih panjang (EMA 26) dari bawah, menghasilkan sinyal beli; sebaliknya, ketika EMA 12 dari atas melanggar EMA 26, menghasilkan sinyal jual. Strategi ini mengatur stop dan stop loss level yang berbeda secara dinamis untuk posisi overhead dan overhead. Untuk posisi overhead, stop set di atas harga masuk 8%, stop loss set di bawah harga masuk 2.5%; untuk posisi kosong, stop set di bawah harga masuk 8%, stop loss set di atas harga masuk 2.5% .
Inti dari strategi ini adalah memanfaatkan persilangan rata-rata bergerak indeks (EMA) dari dua periode yang berbeda untuk menghasilkan sinyal perdagangan. EMA adalah indikator pelacakan tren yang dapat meluruskan data harga, mengurangi gangguan kebisingan. Ketika EMA periode yang lebih pendek dari bawah melewati EMA periode yang lebih panjang, menunjukkan pergerakan harga yang kuat, menghasilkan sinyal beli; sebaliknya, ketika EMA periode yang lebih pendek dari atas melanggar EMA periode yang lebih panjang, menunjukkan pergerakan harga yang lemah, menghasilkan sinyal jual.
Pada saat yang sama, strategi ini menggunakan metode stop loss yang dinamis, dengan pengaturan stop dan stop loss yang berbeda sesuai dengan arah posisi saat ini (multihead atau blank). Metode ini secara dinamis menyesuaikan stop loss yang memungkinkan keuntungan untuk diperluas dengan cukup ketika tren kuat, sementara berhenti tepat waktu ketika terjadi pembalikan harga, sehingga lebih baik mengendalikan risiko.
Sederhana: Strategi ini hanya menggunakan persilangan dua garis EMA untuk menghasilkan sinyal perdagangan, logis jelas, mudah dipahami dan diimplementasikan.
Pelacakan tren: Indikator EMA memiliki kemampuan pelacakan tren yang baik, mampu menangkap tren utama harga secara efektif.
Stop Loss Dinamis: Mengatur stop loss dan stop loss secara dinamis sesuai dengan arah posisi, memungkinkan profit untuk diperluas sepenuhnya saat tren kuat, sementara stop loss tepat waktu ketika harga berbalik, dan mengendalikan risiko dengan lebih baik.
Adaptabilitas: Strategi ini dapat diterapkan di berbagai lingkungan pasar dan varietas perdagangan, dengan kemampuan adaptasi dan fleksibilitas yang kuat.
Risiko Optimasi Parameter: Pilihan siklus EMA dan pengaturan rasio stop loss harus dioptimalkan sesuai dengan kondisi pasar dan jenis perdagangan tertentu, dan pengaturan parameter yang tidak tepat dapat menyebabkan kinerja strategi yang buruk.
Risiko perdagangan yang sering: EMA crossover mungkin sering terjadi ketika pasar berada dalam keadaan goyah, menyebabkan strategi menghasilkan lebih banyak sinyal perdagangan, meningkatkan biaya dan risiko perdagangan.
Risiko Trend Reversal: Strategi ini dapat menghasilkan sinyal perdagangan yang salah dan menyebabkan kerugian ketika tren pasar tiba-tiba berbalik.
Pengenalan indikator teknis lainnya: Dapat dipertimbangkan untuk memperkenalkan indikator teknis lainnya, seperti RSI, MACD, dan lain-lain, untuk membantu konfirmasi sinyal silang EMA dan meningkatkan keandalan sinyal perdagangan.
Pengaturan Parameter Optimasi: Temukan kombinasi parameter optimal yang sesuai dengan lingkungan pasar dan jenis perdagangan tertentu dengan melakukan pengujian optimasi pada siklus EMA dan rasio stop loss.
Memperkenalkan langkah-langkah pengendalian risiko: Pertimbangkan untuk memperkenalkan langkah-langkah pengendalian risiko, seperti manajemen posisi, manajemen dana, dan lain-lain, untuk mengendalikan risiko perdagangan dengan lebih baik.
Kombinasi analisis fundamental: menggabungkan analisis teknis dengan analisis fundamental, mempertimbangkan faktor-faktor seperti lingkungan pasar, data ekonomi, dan lain-lain untuk meningkatkan keakuratan keputusan perdagangan.
Strategi ini menggunakan EMA crossover untuk menghasilkan sinyal perdagangan dan menggunakan stop loss dinamis untuk mengendalikan risiko. Ini memiliki keunggulan seperti mudah digunakan, trend tracking, dan kemampuan beradaptasi yang kuat, tetapi juga menghadapi tantangan seperti risiko optimasi parameter, risiko perdagangan yang sering terjadi, dan risiko pembalikan tren. Dengan memperkenalkan indikator teknis lainnya, pengaturan parameter yang dioptimalkan, langkah-langkah kontrol risiko, dan kombinasi dengan analisis fundamental, strategi ini dapat dioptimalkan lebih lanjut.
/*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)