Chiến lược này là một hệ thống theo dõi xu hướng dựa trên nhiều đường trung bình động, kết hợp cơ chế xác nhận sức mạnh xu hướng và nắm bắt biến động. Nó sử dụng một hệ thống trung bình động ba giai đoạn 5, 25 và 75 như là cốt lõi của nó, lọc các xu hướng mạnh thông qua chỉ số ADX và tích hợp một hệ thống giám sát biến động nhanh để kiếm lợi nhuận kịp thời. Cơ chế giao dịch đa lớp này xác định hiệu quả xu hướng thị trường và thực hiện giao dịch vào thời điểm thích hợp.
Chiến lược hoạt động trên ba cơ chế cốt lõi:
Các quy tắc giao dịch cụ thể:
giới thiệu các thông số thích nghi:
Xác nhận xu hướng tăng cường:
Tối ưu hóa Lợi nhuận / Mất:
Phân loại môi trường thị trường:
Chiến lược này xây dựng một hệ thống giao dịch hoàn chỉnh thông qua nhiều đường trung bình động, xác nhận sức mạnh xu hướng và các khía cạnh giám sát biến động. Ưu điểm chính của nó nằm trong cơ chế xác nhận đa cấp và hệ thống kiểm soát rủi ro linh hoạt. Thông qua các gợi ý tối ưu hóa được cung cấp, chiến lược có thể tăng cường khả năng thích nghi và ổn định hơn nữa. Trong ứng dụng thực tế, các nhà giao dịch được khuyên nên tối ưu hóa các tham số theo đặc điểm thị trường cụ thể và kết hợp với các chiến lược quản lý tiền hợp lý.
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 2h basePeriod: 2h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("5SMA-25SMA Crossover Strategy with ADX Filter and Sudden Move Profit Taking", overlay=true) // パラメータの設定 sma5 = ta.sma(close, 5) sma25 = ta.sma(close, 25) sma75 = ta.sma(close, 75) // ADXの計算 length = 14 tr = ta.tr(true) plus_dm = ta.rma(math.max(ta.change(high), 0), length) minus_dm = ta.rma(math.max(-ta.change(low), 0), length) tr_sum = ta.rma(tr, length) plus_di = 100 * plus_dm / tr_sum minus_di = 100 * minus_dm / tr_sum dx = 100 * math.abs(plus_di - minus_di) / (plus_di + minus_di) adx = ta.rma(dx, length) // ロングとショートのエントリー条件 longCondition = ta.crossover(sma5, sma25) and close > sma75 and adx > 20 shortCondition = ta.crossunder(sma5, sma25) and close < sma75 and adx > 20 // 急激な変動を検知する条件(ここでは、前のローソク足に比べて0.6%以上の値動きがあった場合) suddenMove = math.abs(ta.change(close)) > close[1] * 0.006 // ポジション管理 if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // 急激な変動があった場合、ポジションを利益確定(クローズ)する if (strategy.position_size > 0 and suddenMove) strategy.close("Long") if (strategy.position_size < 0 and suddenMove) strategy.close("Short") // エグジット条件 if (strategy.position_size > 0 and shortCondition) strategy.close("Long") if (strategy.position_size < 0 and longCondition) strategy.close("Short") // SMAとADXのプロット plot(sma5, color=color.blue, title="5SMA") plot(sma25, color=color.red, title="25SMA") plot(sma75, color=color.green, title="75SMA") plot(adx, color=color.orange, title="ADX") hline(20, "ADX Threshold", color=color.gray, linestyle=hline.style_dotted)