Strategi perdagangan jangka pendek kuantitatif RSI hibrida multi-indikator

RSI EMA VOLUME TREND DETECTION Price Action SCALPING Trailing Stop
Tanggal Pembuatan: 2025-07-31 11:00:55 Akhirnya memodifikasi: 2025-07-31 11:00:55
menyalin: 0 Jumlah klik: 252
2
fokus pada
319
Pengikut

Strategi perdagangan jangka pendek kuantitatif RSI hibrida multi-indikator Strategi perdagangan jangka pendek kuantitatif RSI hibrida multi-indikator

Ringkasan

Strategi perdagangan short line kuantitatif RSI campuran multi-indikator adalah sistem perdagangan komprehensif yang menggabungkan beberapa indikator teknis yang dirancang khusus untuk pedagang short line. Strategi ini menggabungkan indikator RSI, moving average, analisis volume transaksi dan pola perilaku harga untuk membentuk kerangka keputusan perdagangan multi-dimensi. Inti dari strategi ini adalah mekanisme penyaringan sinyal melalui tingkat sensitivitas yang berbeda, yang memungkinkan pedagang untuk menyesuaikan frekuensi perdagangan dan kualitas sinyal sesuai dengan preferensi risiko mereka sendiri dan kondisi pasar.

Prinsip Strategi

Prinsip-prinsip inti dari strategi ini didasarkan pada sinergi dari beberapa elemen teknologi kunci berikut:

  1. RSI melampaui sinyal jual beli: Menggunakan indikator RSI 14 periode untuk mengidentifikasi area overbought (<70) dan oversold (<30) sebagai pemicu sinyal perdagangan utama.

  2. Rata-rata bergerak mengkonfirmasi trenStrategi: Menggabungkan rata-rata bergerak EMA dari periode 9, 21 dan 50 untuk membangun sistem pengenalan tren. Dengan melihat hubungan antara garis rata ini, arah dan kekuatan tren pasar dapat ditentukan. Ketika EMA9> EMA21> EMA50, konfirmasi tren naik yang kuat; Ketika EMA9< EMA21< EMA50, konfirmasi tren turun yang kuat.

  3. Verifikasi pengiriman: Meningkatkan kualitas sinyal dengan membandingkan volume transaksi saat ini dengan volume transaksi rata-rata 10 siklus, memastikan bahwa transaksi terjadi dalam lingkungan pasar yang cukup aktif.

  4. Pola perilaku harga: Analisis bentuk grafik bullish, terutama bullish dan bullish yang kuat, untuk mengukur dinamika harga dengan menghitung rasio entitas dan garis bayangan.

  5. Sensitivitas sinyal multi-levelStrategi ini dirancang dengan empat tingkat sensitivitas sinyal yang berbeda (“ง่ายมาก”, “อ่อน”, “กลาง”, “moderate”, “แรง”), yang memungkinkan pedagang untuk menyesuaikan frekuensi dan ketepatan perdagangan sesuai dengan kondisi pasar dan preferensi risiko.

  6. Mekanisme Keluar CerdasStrategi ini menerapkan beberapa mekanisme keluar, termasuk stop loss yang tetap, sinyal reversal RSI untuk keluar cepat, dan fungsi stop loss yang melacak, yang mengunci keuntungan yang telah diperoleh dengan mengadaptasi harga stop loss secara dinamis.

  7. Pembatasan volume transaksiFitur: Pembatasan jumlah transaksi per hari yang dibangun untuk mencegah over-trading, sementara sesuai dengan gaya perdagangan garis pendek.

Keunggulan Strategis

  1. Fleksibel untuk menyesuaikan sensitivitas sinyalKeuntungan terbesar dari strategi ini adalah sistem sensitivitas sinyal yang dapat disesuaikan, dimana pedagang dapat memilih dari empat tingkat “sangat mudah” hingga “kuat” untuk menemukan titik keseimbangan antara frekuensi perdagangan dan kualitas sinyal. Ini memungkinkan strategi untuk beradaptasi dengan berbagai lingkungan pasar dan gaya perdagangan individu.

  2. Sistem Manajemen Risiko BerbagaiStrategi ini mengintegrasikan beberapa metode pengendalian risiko seperti stop loss tetap, tracking stop loss, dan quick exit berbasis RSI, memberikan kerangka manajemen risiko yang komprehensif. Khususnya, fitur tracking stop loss, dapat mengunci keuntungan yang telah diperoleh secara bertahap sambil mempertahankan ruang untuk pertumbuhan keuntungan.

  3. Integrasi Indikator TeknisDengan menggabungkan RSI, EMA, volume transaksi dan analisis perilaku harga, strategi dapat menilai kondisi pasar dari berbagai dimensi, mengurangi terjadinya sinyal palsu, dan meningkatkan akurasi perdagangan.

  4. Eksekusi transaksi otomatisStrategi sepenuhnya otomatis, mulai dari pembuatan sinyal, keputusan masuk ke manajemen keluar, mengurangi gangguan emosional manusia, memastikan pelaksanaan disiplin perdagangan.

  5. Umpan balik secara real timeDengan fitur tampilan dashboard built-in, trader dapat secara intuitif memantau kinerja strategi, kondisi pasar saat ini, dan status perdagangan, yang memudahkan penyesuaian keputusan secara real-time.

  6. Kemampuan integrasi komunikasiStrategi: Mendukung fitur Telegram Push Message, memungkinkan pemantauan transaksi jarak jauh dan pemberitahuan sinyal, meningkatkan kemudahan operasi.

Risiko Strategis

  1. Keterbatasan RSIRSI sebagai sumber sinyal utama, ada risiko keterlambatan dan sinyal palsu, terutama dalam pasar yang bergolak yang dapat menghasilkan sinyal salah yang sering. Solusinya adalah dengan menggabungkan filter tren dan pengesahan perilaku harga, atau meningkatkan persyaratan sensitivitas sinyal di pasar horizontal.

  2. Risiko over-optimisasiBanyak parameter strategi, termasuk RSI, siklus EMA, persentase stop loss, dan lain-lain, yang dapat menyebabkan overoptimisasi. Disarankan untuk memverifikasi parameter stabilitas melalui retrospeksi data historis dan pengujian ke depan, menghindari kombinasi parameter yang hanya sesuai dengan data historis.

  3. Risiko Pasar Cepat: Dalam situasi volatilitas tinggi atau pasar yang tidak stabil, stop loss tetap mungkin tidak dapat dilaksanakan secara efektif, menyebabkan kerugian yang sebenarnya lebih besar dari yang diharapkan. Pertimbangkan untuk menggunakan tingkat stop loss yang disesuaikan dengan volatilitas atau meningkatkan kondisi penyaringan volatilitas pasar untuk mengatasi risiko ini.

  4. Risiko frekuensi transaksiTerutama di bawah pengaturan sensitivitas rendah, strategi dapat menghasilkan terlalu banyak sinyal perdagangan, meningkatkan biaya perdagangan. Mengontrol frekuensi perdagangan dengan menetapkan batas perdagangan harian yang masuk akal dan menyesuaikan sensitivitas sinyal.

  5. Permasalahan ini tidak bisa dihindari.: Mengandalkan penilaian EMA tren mungkin tidak cukup cepat bereaksi pada awal pembalikan tren. Disarankan untuk meningkatkan kemampuan identifikasi tren dalam kombinasi dengan indikator konfirmasi tren lainnya seperti ADX atau Parabolic SAR.

Arah optimasi strategi

  1. Penyesuaian parameter adaptasiStrategi saat ini menggunakan batas RSI dan siklus EMA yang tetap, dan dapat memperkenalkan sistem parameter penyesuaian berdasarkan volatilitas pasar. Misalnya, penyesuaian otomatis batas RSI untuk overbought dan oversold di pasar yang berfluktuasi tinggi, atau penyesuaian panjang siklus EMA sesuai dengan dinamika kerangka waktu yang berbeda, meningkatkan kemampuan strategi untuk beradaptasi dengan lingkungan pasar yang berbeda.

  2. Peningkatan mekanisme filter sinyalIndikator identifikasi lingkungan pasar yang dapat diperkenalkan dengan dimensi lebih banyak, seperti ATR (Average True Range) untuk menilai tingkat fluktuasi, ADX (Average Directional Index) untuk mengkonfirmasi kekuatan tren, atau meningkatkan kualitas sinyal dengan analisis multi-frame timeframe. Filter tambahan ini dapat mengurangi sinyal palsu dan meningkatkan tingkat keberhasilan perdagangan.

  3. Optimalkan sistem manajemen danaManajemen posisi dalam strategi saat ini relatif sederhana, dan dapat memperkenalkan penyesuaian posisi dinamis berdasarkan persentase nilai bersih akun atau metode alokasi dana berdasarkan Kelly Guideline. Dengan demikian, margin risiko untuk setiap perdagangan dapat secara otomatis disesuaikan berdasarkan kinerja perdagangan historis dan kondisi pasar saat ini.

  4. Menambahkan komponen pembelajaran mesinDengan menggunakan algoritma pembelajaran mesin untuk menganalisis data perdagangan historis, strategi dapat secara otomatis mengidentifikasi kombinasi parameter terbaik dalam berbagai lingkungan pasar. Dengan menggunakan metode pembelajaran yang diawasi atau pembelajaran intensif, membangun model yang dapat memprediksi keandalan sinyal dapat meningkatkan kualitas keputusan perdagangan.

  5. Klasifikasi status pasar yang diperluasSistem klasifikasi kondisi pasar yang lebih rinci dapat dikembangkan, seperti tren, ranges, dan volatilitas tinggi, dan aturan dan parameter perdagangan yang sesuai dapat disesuaikan untuk setiap kondisi pasar. Kerangka strategi hierarkis ini dapat menanggapi situasi pasar yang berbeda dengan lebih baik.

Meringkaskan

Strategi perdagangan short-line kuantitatif RSI campuran multi-indikator adalah sistem perdagangan short-line yang komprehensif dan fleksibel, yang membangun kerangka keputusan perdagangan multi-dimensi dengan mengintegrasikan analisis RSI, moving average, volume transaksi, dan perilaku harga. Keunggulan utamanya adalah sistem sensitivitas sinyal yang dapat disesuaikan secara fleksibel dan mekanisme manajemen risiko ganda, yang memungkinkan pedagang untuk menyesuaikan strategi perdagangan sesuai dengan lingkungan pasar dan preferensi risiko pribadi.

Meskipun ada potensi risiko seperti keterbatasan indikator RSI dan optimasi parameter, risiko ini dapat dikontrol secara efektif dengan manajemen risiko yang tepat dan optimasi berkelanjutan. Arah optimasi di masa depan harus berfokus pada adaptasi parameter, penguatan filter sinyal, optimasi manajemen dana, dan teknologi canggih seperti pembelajaran mesin untuk meningkatkan kehandalan dan adaptasi strategi.

Secara keseluruhan, ini adalah strategi perdagangan kuantitatif yang dirancang secara rasional dan terstruktur, dengan nilai praktis dan fleksibilitas yang tinggi. Untuk pedagang yang mencari peluang perdagangan pendek dan fokus pada pengendalian risiko, sistem ini memberikan titik awal yang baik, yang dapat dikembangkan menjadi alat perdagangan yang stabil dan andal melalui pengujian dan penyesuaian yang terus-menerus.

Kode Sumber Strategi
/*backtest
start: 2024-07-31 00:00:00
end: 2025-07-29 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("🔥 HYBRID SCALPING Bot - เข้าง่าย ออกแม่น", overlay=true, max_labels_count=50, calc_on_order_fills=false, process_orders_on_close=true, pyramiding=0)

// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// 📋 การตั้งค่าแบบ Hybrid - รวมจุดเด่นทั้งสอง
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════

// การตั้งค่าเทรด - Scalping Style
group_trading = "⚡ การตั้งค่า Scalping"
daily_trade_limit = input.int(15, "ลิมิตเทรดต่อวัน", minval=5, maxval=50, tooltip="Scalping = เทรดบ่อย", group=group_trading)
tp_percent = input.float(0.8, "Take Profit %", minval=0.3, maxval=3.0, tooltip="เล็กแต่ชัวร์", group=group_trading)
sl_percent = input.float(0.6, "Stop Loss %", minval=0.3, maxval=2.0, tooltip="ตัดขาดทุนเร็ว", group=group_trading)

// การตั้งค่าการออกเทรด - จาก Scalping Bot
use_quick_exit = input.bool(true, "ออกเทรดเร็ว", tooltip="ออกเมื่อ RSI กลับตัว", group=group_trading)
use_trailing_stop = input.bool(true, "ใช้ Trailing Stop", tooltip="ล็อคกำไรเมื่อขึ้น", group=group_trading)
trailing_percent = input.float(0.4, "Trailing Stop %", minval=0.2, maxval=1.0, group=group_trading)

// ความยากง่ายในการเข้าเทรด - จาก Debug Bot
group_sensitivity = "🎯 ความยากง่ายการเข้าเทรด"
signal_sensitivity = input.string("อ่อน", "ระดับความรุนแรง", options=["ง่ายมาก", "อ่อน", "กลาง", "แรง"], 
                                  tooltip="ง่ายมาก=เข้าเทรดบ่อยสุด, แรง=แม่นยำสุด", group=group_sensitivity)

// ฟิลเตอร์เสริม - ปรับได้ตามระดับ
use_trend_filter = input.bool(true, "ใช้ฟิลเตอร์เทรนด์", tooltip="เทรดตามเทรนด์เท่านั้น", group=group_sensitivity)
use_volume_filter = input.bool(false, "ใช้ฟิลเตอร์ Volume", tooltip="ต้องมี Volume สูง", group=group_sensitivity)

// การแสดงผล
group_display = "🎨 การแสดงผล"
show_signals = input.bool(true, "แสดงสัญญาณ", group=group_display)
show_exit_signals = input.bool(true, "แสดงสัญญาณออก", group=group_display)
show_dashboard = input.bool(true, "แสดง Dashboard", group=group_display)

// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// 📱 การตั้งค่า Telegram - แบบง่าย (จาก Debug Bot)
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════

group_telegram = "📱 Telegram"
enable_telegram = input.bool(false, "เปิด Telegram", group=group_telegram)
telegram_bot_token = input.string("", "Bot Token", group=group_telegram)
telegram_chat_id = input.string("", "Chat ID", group=group_telegram)
send_test_message = input.bool(false, "ส่งข้อความทดสอบ", group=group_telegram)

// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// 🧮 ตัวชี้วัดเทคนิค - Hybrid
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════

// RSI
rsi = ta.rsi(close, 14)
rsi_oversold = 30
rsi_overbought = 70

// Moving Averages
ema9 = ta.ema(close, 9)
ema21 = ta.ema(close, 21)
ema50 = ta.ema(close, 50)

// Trend
uptrend = ema21 > ema50
downtrend = ema21 < ema50
strong_uptrend = ema9 > ema21 and ema21 > ema50
strong_downtrend = ema9 < ema21 and ema21 < ema50

// Volume
avg_volume = ta.sma(volume, 10)
high_volume = volume > avg_volume * 1.2
volume_ok = use_volume_filter ? high_volume : true

// Price Action
bullish_candle = close > open
bearish_candle = close < open
strong_bullish_candle = close > open and (close - open) / (high - low) > 0.6
strong_bearish_candle = close < open and (open - close) / (high - low) > 0.6

// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// 🎯 ระบบสัญญาณแบบ Hybrid
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════

// ระดับ "ง่ายมาก" - เข้าเทรดง่ายสุด
very_easy_buy = rsi < 60 and bullish_candle
very_easy_sell = rsi > 40 and bearish_candle

// ระดับ "อ่อน" - ใช้ RSI หลัก
easy_buy = rsi < rsi_oversold and bullish_candle
easy_sell = rsi > rsi_overbought and bearish_candle

// ระดับ "กลาง" - เพิ่มเงื่อนไข Trend
medium_buy = rsi < rsi_oversold and bullish_candle and (use_trend_filter ? uptrend : true)
medium_sell = rsi > rsi_overbought and bearish_candle and (use_trend_filter ? downtrend : true)

// ระดับ "แรง" - เงื่อนไขครบ (เหมือน Scalping Bot เดิม)
strong_buy = rsi < rsi_oversold and 
             strong_bullish_candle and 
             (use_trend_filter ? strong_uptrend : true) and 
             volume_ok and 
             close > ema21

strong_sell = rsi > rsi_overbought and 
              strong_bearish_candle and 
              (use_trend_filter ? strong_downtrend : true) and 
              volume_ok and 
              close < ema21

// เลือกสัญญาณตามระดับที่ตั้งค่า
buy_signal = signal_sensitivity == "ง่ายมาก" ? very_easy_buy :
             signal_sensitivity == "อ่อน" ? easy_buy :
             signal_sensitivity == "กลาง" ? medium_buy :
             strong_buy

sell_signal = signal_sensitivity == "ง่ายมาก" ? very_easy_sell :
              signal_sensitivity == "อ่อน" ? easy_sell :
              signal_sensitivity == "กลาง" ? medium_sell :
              strong_sell

// Exit Signals - ใช้จาก Scalping Bot
rsi_exit_long = rsi > 70 or rsi < 25
rsi_exit_short = rsi < 30 or rsi > 75

quick_exit_long = use_quick_exit and (rsi_exit_long or close < ema21)
quick_exit_short = use_quick_exit and (rsi_exit_short or close > ema21)

// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// 📊 การจัดการเทรด
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════

var int trades_today = 0
var bool test_sent = false

// รีเซ็ตทุกวัน
if dayofweek != dayofweek[1]
    trades_today := 0

can_trade = trades_today < daily_trade_limit and strategy.position_size == 0

// ส่งข้อความทดสอบ Telegram - ใช้ format จาก Debug Bot
if enable_telegram and send_test_message and not test_sent and barstate.islast
    test_message = "🧪 ทดสอบ HYBRID SCALPING Bot\n\n" +
                   "✅ การเชื่อมต่อสำเร็จ!\n" +
                   "📊 Symbol: " + syminfo.ticker + "\n" +
                   "💲 ราคาปัจจุบัน: $" + str.tostring(close, "#.####") + "\n" +
                   "⚡ ระดับ: " + signal_sensitivity + "\n" +
                   "⏰ เวลา: " + str.tostring(hour, "00") + ":" + str.tostring(minute, "00") + "\n\n" +
                   "🎯 Bot พร้อมทำงาน!"
    
    alert(test_message, alert.freq_once_per_bar)
    test_sent := true

// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// 💰 การดำเนินการเทรด - Scalping Logic
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════

// Variables for Scalping
var float entry_price = 0
var float highest_profit = 0
var float trailing_stop_price = 0

// Entry Long
if buy_signal and can_trade
    strategy.entry("LONG", strategy.long)
    trades_today := trades_today + 1
    entry_price := close
    highest_profit := 0
    trailing_stop_price := close * (1 - sl_percent / 100)
    
    // Set exits
    strategy.exit("SL/TP", "LONG", 
                  stop=close * (1 - sl_percent / 100), 
                  limit=close * (1 + tp_percent / 100))
    
    // Telegram Alert - ใช้ format ง่าย
    if enable_telegram
        entry_message = "🚀 HYBRID LONG!\n" +
                       "📊 " + syminfo.ticker + "\n" +
                       "💰 Entry: $" + str.tostring(close, "#.####") + "\n" +
                       "🛑 SL: $" + str.tostring(close * (1 - sl_percent / 100), "#.####") + "\n" +
                       "🎯 TP: $" + str.tostring(close * (1 + tp_percent / 100), "#.####") + "\n" +
                       "📈 RSI: " + str.tostring(rsi, "#.#") + "\n" +
                       "⚡ Level: " + signal_sensitivity + "\n" +
                       "📊 เทรดที่: " + str.tostring(trades_today)
        
        alert(entry_message, alert.freq_once_per_bar)

// Entry Short
if sell_signal and can_trade
    strategy.entry("SHORT", strategy.short)
    trades_today := trades_today + 1
    entry_price := close
    highest_profit := 0
    trailing_stop_price := close * (1 + sl_percent / 100)
    
    // Set exits
    strategy.exit("SL/TP", "SHORT", 
                  stop=close * (1 + sl_percent / 100), 
                  limit=close * (1 - tp_percent / 100))
    
    // Telegram Alert
    if enable_telegram
        entry_message = "📉 HYBRID SHORT!\n" +
                       "📊 " + syminfo.ticker + "\n" +
                       "💰 Entry: $" + str.tostring(close, "#.####") + "\n" +
                       "🛑 SL: $" + str.tostring(close * (1 + sl_percent / 100), "#.####") + "\n" +
                       "🎯 TP: $" + str.tostring(close * (1 - tp_percent / 100), "#.####") + "\n" +
                       "📈 RSI: " + str.tostring(rsi, "#.#") + "\n" +
                       "⚡ Level: " + signal_sensitivity + "\n" +
                       "📊 เทรดที่: " + str.tostring(trades_today)
        
        alert(entry_message, alert.freq_once_per_bar)

// Trailing Stop Logic - จาก Scalping Bot
if strategy.position_size > 0 and use_trailing_stop  // Long position
    current_profit = (close - entry_price) / entry_price * 100
    if current_profit > highest_profit
        highest_profit := current_profit
        trailing_stop_price := close * (1 - trailing_percent / 100)
    
    if close <= trailing_stop_price
        strategy.close("LONG", comment="Trailing Stop")
        if enable_telegram
            exit_message = "🔒 TRAILING STOP LONG!\n" +
                          "📊 " + syminfo.ticker + "\n" +
                          "💰 Exit: $" + str.tostring(close, "#.####") + "\n" +
                          "📈 Profit: +" + str.tostring(current_profit, "#.##") + "%"
            alert(exit_message, alert.freq_once_per_bar)

if strategy.position_size < 0 and use_trailing_stop  // Short position
    current_profit = (entry_price - close) / entry_price * 100
    if current_profit > highest_profit
        highest_profit := current_profit
        trailing_stop_price := close * (1 + trailing_percent / 100)
    
    if close >= trailing_stop_price
        strategy.close("SHORT", comment="Trailing Stop")
        if enable_telegram
            exit_message = "🔒 TRAILING STOP SHORT!\n" +
                          "📊 " + syminfo.ticker + "\n" +
                          "💰 Exit: $" + str.tostring(close, "#.####") + "\n" +
                          "📈 Profit: +" + str.tostring(current_profit, "#.##") + "%"
            alert(exit_message, alert.freq_once_per_bar)

// Quick Exit Logic - จาก Scalping Bot
if strategy.position_size > 0 and quick_exit_long
    strategy.close("LONG", comment="Quick Exit")
    if enable_telegram
        current_pnl = (close - entry_price) / entry_price * 100
        exit_message = "⚡ QUICK EXIT LONG!\n" +
                      "📊 " + syminfo.ticker + "\n" +
                      "💰 Exit: $" + str.tostring(close, "#.####") + "\n" +
                      "📈 P&L: " + str.tostring(current_pnl, "#.##") + "%"
        alert(exit_message, alert.freq_once_per_bar)

if strategy.position_size < 0 and quick_exit_short
    strategy.close("SHORT", comment="Quick Exit")
    if enable_telegram
        current_pnl = (entry_price - close) / entry_price * 100
        exit_message = "⚡ QUICK EXIT SHORT!\n" +
                      "📊 " + syminfo.ticker + "\n" +
                      "💰 Exit: $" + str.tostring(close, "#.####") + "\n" +
                      "📈 P&L: " + str.tostring(current_pnl, "#.##") + "%"
        alert(exit_message, alert.freq_once_per_bar)

// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
// 🎨 การแสดงผลบนชาร์ต
// ═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════

// Plot signals
plotshape(buy_signal and show_signals, "Buy", shape.triangleup, location.belowbar, color.lime, size=size.small)
plotshape(sell_signal and show_signals, "Sell", shape.triangledown, location.abovebar, color.red, size=size.small)

// Plot exit signals
plotshape(quick_exit_long and show_exit_signals, "Quick Exit Long", shape.xcross, location.abovebar, color.orange, size=size.tiny)
plotshape(quick_exit_short and show_exit_signals, "Quick Exit Short", shape.xcross, location.belowbar, color.orange, size=size.tiny)

// Plot EMAs
plot(ema21, "EMA21", color.blue, linewidth=1)
plot(ema50, "EMA50", color.purple, linewidth=1)

// Dashboard - ปรับปรุงให้ปลอดภัย
if show_dashboard and barstate.islast
    var table dashboard = table.new(position.top_right, 2, 7, bgcolor=color.white, border_width=1)
    
    table.cell(dashboard, 0, 0, "🔥 HYBRID", text_color=color.white, bgcolor=color.orange, text_size=size.small)
    table.cell(dashboard, 1, 0, syminfo.ticker, text_color=color.white, bgcolor=color.orange, text_size=size.small)
    
    table.cell(dashboard, 0, 1, "💰 P&L", text_color=color.black, text_size=size.small)
    pnl_value = strategy.netprofit
    pnl_color = pnl_value >= 0 ? color.green : color.red
    table.cell(dashboard, 1, 1, "$" + str.tostring(pnl_value, "#.##"), text_color=pnl_color, text_size=size.small)
    
    table.cell(dashboard, 0, 2, "⚡ Level", text_color=color.black, text_size=size.small)
    table.cell(dashboard, 1, 2, signal_sensitivity, text_color=color.purple, text_size=size.small)
    
    table.cell(dashboard, 0, 3, "📈 RSI", text_color=color.black, text_size=size.small)
    rsi_color = rsi < 30 ? color.green : rsi > 70 ? color.red : color.gray
    table.cell(dashboard, 1, 3, str.tostring(rsi, "#.#"), text_color=rsi_color, text_size=size.small)
    
    table.cell(dashboard, 0, 4, "📊 เทรด", text_color=color.black, text_size=size.small)
    table.cell(dashboard, 1, 4, str.tostring(trades_today) + "/" + str.tostring(daily_trade_limit), text_color=color.navy, text_size=size.small)
    
    table.cell(dashboard, 0, 5, "📍 สถานะ", text_color=color.black, text_size=size.small)
    position_text = strategy.position_size > 0 ? "LONG" : strategy.position_size < 0 ? "SHORT" : "ว่าง"
    position_color = strategy.position_size > 0 ? color.green : strategy.position_size < 0 ? color.red : color.gray
    table.cell(dashboard, 1, 5, position_text, text_color=position_color, text_size=size.small)
    
    table.cell(dashboard, 0, 6, "🎯 Trend", text_color=color.black, text_size=size.small)
    trend_text = uptrend ? "UP" : downtrend ? "DOWN" : "SIDE"
    trend_color = uptrend ? color.green : downtrend ? color.red : color.gray
    table.cell(dashboard, 1, 6, trend_text, text_color=trend_color, text_size=size.small)