Sumber daya yang dimuat... Pemuatan...

Tren ATR Dinamis Mengikuti Strategi Berdasarkan Support Breakout

Penulis:ChaoZhang, Tanggal: 2024-12-12 17:26:00
Tag:ATREMASMC

img

Gambaran umum

Ini adalah tren ATR dinamis mengikuti strategi berdasarkan support breakout. Strategi ini menggabungkan sistem EMA, indikator volatilitas ATR, dan Smart Money Concept (SMC) untuk menangkap tren pasar.

Prinsip Strategi

Strategi ini dibangun di atas beberapa komponen inti:

  1. Menggunakan sistem EMA 50 dan 200 periode untuk mengkonfirmasi arah tren pasar
  2. Menggunakan indikator ATR untuk menyesuaikan secara dinamis target stop-loss dan laba
  3. Menganalisis Blok Order dan Zona Ketidakseimbangan untuk menemukan titik masuk yang optimal
  4. Menghitung ukuran posisi secara otomatis berdasarkan persentase risiko akun
  5. Menentukan konsolidasi pasar dengan mengamati kisaran harga dari 20 lilin terakhir

Keuntungan Strategi

  1. Manajemen risiko yang komprehensif melalui perhitungan dinamis
  2. Sistem identifikasi tren yang dapat diandalkan yang menghindari pasar konsolidasi
  3. Pengaturan stop loss dan take profit yang wajar dengan rasio risiko-manfaat 1: 3
  4. Beradaptasi dengan baik dengan kondisi pasar yang berbeda
  5. Struktur kode yang jelas yang mudah dipelihara dan dioptimalkan

Risiko Strategi

  1. Indikator EMA memiliki keterlambatan yang melekat, yang berpotensi menunda titik masuk
  2. Dapat menghasilkan sinyal palsu di pasar yang sangat volatile
  3. Strategi tergantung pada kelanjutan tren, mungkin berkinerja buruk di berbagai pasar
  4. Penempatan stop loss yang luas dapat menyebabkan kerugian yang lebih besar dalam situasi tertentu

Arahan Optimasi

  1. Menggabungkan analisis hubungan volume-harga untuk meningkatkan identifikasi tren
  2. Tambahkan indikator sentimen pasar untuk mengoptimalkan waktu masuk
  3. Pertimbangkan analisis beberapa kerangka waktu untuk meningkatkan stabilitas sistem
  4. Kriteria identifikasi blok order dan zona ketidakseimbangan yang lebih halus
  5. Mengoptimalkan metode stop-loss, mempertimbangkan menerapkan trailing stop

Ringkasan

Strategi ini adalah sistem trend berikut yang komprehensif yang mencapai stabilitas perdagangan melalui manajemen risiko yang tepat dan konfirmasi sinyal ganda. Meskipun ada beberapa keterlambatan dalam sinyal, ini merupakan sistem perdagangan yang dapat diandalkan secara keseluruhan.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// TradingView Pine Script strategy for Smart Money Concept (SMC)
//@version=5
strategy("Smart Money Concept Strategy", overlay=true, default_qty_type=strategy.fixed, default_qty_value=100)

// === Input Parameters ===
input_risk_percentage = input.float(1, title="Risk Percentage", step=0.1)
input_atr_length = input.int(14, title="ATR Length")
input_ema_short = input.int(50, title="EMA Short")
input_ema_long = input.int(200, title="EMA Long")

// === Calculations ===
atr = ta.atr(input_atr_length)
ema_short = ta.ema(close, input_ema_short)
ema_long = ta.ema(close, input_ema_long)

// === Utility Functions ===
// Identify Order Blocks
is_order_block(price, direction) =>
    ((high[1] > high[2] and low[1] > low[2] and direction == 1) or (high[1] < high[2] and low[1] < low[2] and direction == -1))

// Identify Imbalance Zones
is_imbalance() =>
    range_high = high[1]
    range_low = low[1]
    range_high > close and range_low < close

// Calculate Lot Size Based on Risk
calculate_lot_size(stop_loss_points, account_balance) =>
    risk_amount = account_balance * (input_risk_percentage / 100)
    lot_size = risk_amount / (stop_loss_points * syminfo.pointvalue)
    lot_size

// Determine if Market is Consolidating
is_consolidating() =>
    (ta.highest(high, 20) - ta.lowest(low, 20)) / atr < 2

// === Visual Enhancements ===
// Plot Order Blocks
// if is_order_block(close, 1)
//     line.new(x1=bar_index[1], y1=low[1], x2=bar_index, y2=low[1], color=color.green, width=2, extend=extend.right)
// if is_order_block(close, -1)
//     line.new(x1=bar_index[1], y1=high[1], x2=bar_index, y2=high[1], color=color.red, width=2, extend=extend.right)

// Highlight Imbalance Zones
// if is_imbalance()
//     box.new(left=bar_index[1], top=high[1], right=bar_index, bottom=low[1], bgcolor=color.new(color.orange, 80))

// === Logic for Trend Confirmation ===
is_bullish_trend = ema_short > ema_long
is_bearish_trend = ema_short < ema_long

// === Entry Logic ===
account_balance = strategy.equity
if not is_consolidating()
    if is_bullish_trend
        stop_loss = close - atr * 2
        take_profit = close + (math.abs(close - (close - atr * 2)) * 3)
        stop_loss_points = math.abs(close - stop_loss) / syminfo.pointvalue
        lot_size = calculate_lot_size(stop_loss_points, account_balance)
        strategy.entry("Buy", strategy.long, qty=lot_size)
        strategy.exit("TP/SL", "Buy", stop=stop_loss, limit=take_profit)

    if is_bearish_trend
        stop_loss = close + atr * 2
        take_profit = close - (math.abs(close - (close + atr * 2)) * 3)
        stop_loss_points = math.abs(close - stop_loss) / syminfo.pointvalue
        lot_size = calculate_lot_size(stop_loss_points, account_balance)
        strategy.entry("Sell", strategy.short, qty=lot_size)
        strategy.exit("TP/SL", "Sell", stop=stop_loss, limit=take_profit)

// === Plotting Indicators ===
plot(ema_short, color=color.blue, title="EMA 50")
plot(ema_long, color=color.orange, title="EMA 200")
plotshape(series=is_bullish_trend and not is_consolidating(), style=shape.triangleup, location=location.belowbar, color=color.green, text="Buy")
plotshape(series=is_bearish_trend and not is_consolidating(), style=shape.triangledown, location=location.abovebar, color=color.red, text="Sell")


Berkaitan

Lebih banyak