Tài nguyên đang được tải lên... tải...

Xu hướng ATR năng động theo chiến lược dựa trên sự phá vỡ hỗ trợ

Tác giả:ChaoZhang, Ngày: 2024-12-12 17:26:00
Tags:ATREMASMC

img

Tổng quan

Đây là một xu hướng ATR năng động theo chiến lược dựa trên sự phá vỡ hỗ trợ. Chiến lược này kết hợp hệ thống EMA, chỉ số biến động ATR và Khái niệm tiền thông minh (SMC) để nắm bắt xu hướng thị trường. Nó đạt được quản lý rủi ro hiệu quả thông qua kích thước vị trí năng động và đặt dừng lỗ / lấy lợi nhuận.

Nguyên tắc chiến lược

Chiến lược được xây dựng trên một số thành phần cốt lõi:

  1. Sử dụng hệ thống EMA 50 và 200 giai đoạn để xác nhận hướng xu hướng thị trường
  2. Sử dụng chỉ số ATR để điều chỉnh động các mục tiêu dừng lỗ và lợi nhuận
  3. Phân tích các khối lệnh và khu vực mất cân bằng để tìm các điểm nhập khẩu tối ưu
  4. Tự động tính toán kích thước vị trí dựa trên tỷ lệ phần trăm rủi ro tài khoản
  5. Xác định sự củng cố thị trường bằng cách quan sát phạm vi giá của 20 cây nến cuối cùng

Ưu điểm chiến lược

  1. Quản lý rủi ro toàn diện thông qua tính toán năng động
  2. Hệ thống xác định xu hướng đáng tin cậy tránh thị trường hợp nhất
  3. Định vị dừng lỗ và lấy lợi nhuận hợp lý với tỷ lệ rủi ro-lợi nhuận 1: 3
  4. Điều chỉnh tốt cho các điều kiện thị trường khác nhau
  5. Cấu trúc mã rõ ràng dễ duy trì và tối ưu hóa

Rủi ro chiến lược

  1. Các chỉ số EMA có sự chậm trễ vốn có, có khả năng trì hoãn các điểm nhập cảnh
  2. Có thể tạo ra tín hiệu sai trong các thị trường biến động cao
  3. Chiến lược phụ thuộc vào sự tiếp tục của xu hướng, có thể hoạt động kém hơn ở các thị trường khác nhau
  4. Đặt lệnh dừng lỗ rộng có thể dẫn đến tổn thất lớn hơn trong một số tình huống nhất định

Hướng dẫn tối ưu hóa

  1. Bao gồm phân tích mối quan hệ khối lượng-giá để cải thiện xác định xu hướng
  2. Thêm các chỉ số tâm lý thị trường để tối ưu hóa thời gian nhập cảnh
  3. Xem xét phân tích nhiều khung thời gian để tăng cường sự ổn định của hệ thống
  4. Cần tinh chỉnh các tiêu chí xác định khối lệnh và khu vực mất cân bằng
  5. Tối ưu hóa phương pháp dừng lỗ, xem xét thực hiện dừng lại

Tóm lại

Chiến lược này là một hệ thống theo xu hướng toàn diện đạt được sự ổn định giao dịch thông qua quản lý rủi ro thích hợp và xác nhận tín hiệu nhiều lần. Mặc dù có một số sự chậm trễ trong tín hiệu, nó đại diện cho một hệ thống giao dịch đáng tin cậy nói chung.


/*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")


Có liên quan

Thêm nữa