Chiến lược giao dịch lưới thông minh thoái lui giá MA100 đa phạm vi

SMA MA ATR
Ngày tạo: 2025-02-19 11:12:51 sửa đổi lần cuối: 2025-02-19 11:12:51
sao chép: 0 Số nhấp chuột: 693
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch lưới thông minh thoái lui giá MA100 đa phạm vi

Tổng quan

Chiến lược này là một hệ thống giao dịch lưới đa phân vùng dựa trên đường trung bình di chuyển MA100. Nó thực hiện việc tạo vị trí theo đợt bằng cách thiết lập các phân vùng thu hồi giá khác nhau (−8%, -15%, -20%), mua dần khi có sự sụt giảm lớn trên thị trường và thu lợi nhuận khi giá tăng 3%. Chiến lược sử dụng hệ thống lưới thông minh để kiểm soát rủi ro bằng cách giới hạn số lượng vị trí tối đa và khoảng cách giao dịch trong mỗi phân vùng.

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

Lập luận cốt lõi của chiến lược bao gồm:

  1. Giá chuẩn sử dụng trung bình di chuyển đơn giản 100 chu kỳ (SMA) như một chiến lược
  2. Cài đặt ba khoảng mua:
    • Phạm vi 2: Giá giảm 8%, tối đa 2 giao dịch được phép
    • Phạm vi 3: Giá giảm 15%, tối đa 3 giao dịch được phép
    • Phạm vi 4: Giá rút 20% và tối đa 4 giao dịch
  3. Điều kiện đồng nhất để giữ vị thế: Khi giá tăng trở lại trên 3% của MA100
  4. Mỗi phân đoạn được thiết lập khoảng cách giao dịch tối thiểu là 50 chu kỳ đường K để tránh giao dịch quá thường xuyên

Lợi thế chiến lược

  1. Xây dựng kho nhiều tầng giảm chi phí
  2. Sử dụng ý tưởng giao dịch lưới để nắm bắt cơ hội trong những biến động mạnh
  3. Cài đặt giới hạn nắm giữ tối đa và khoảng cách giao dịch, kiểm soát rủi ro hiệu quả
  4. Logic của chiến lược đơn giản, dễ hiểu và dễ duy trì
  5. Thích hợp cho môi trường thị trường có tỷ lệ biến động cao
  6. Có thể tự động thực hiện mà không cần sự can thiệp của con người

Rủi ro chiến lược

  1. Có thể có một sự rút lui lớn hơn trong xu hướng giảm liên tục
  2. Cần một quy mô lớn hơn để hỗ trợ việc xây dựng nhiều khu vực
  3. Các điều kiện bình quân tương đối đơn giản, có thể bỏ lỡ không gian tăng trưởng lớn hơn
  4. Không tính đến xu hướng tổng thể của thị trường, có thể hoạt động kém trong một tình huống xu hướng
  5. Các tham số phần trăm cố định có thể không phù hợp với tất cả các môi trường thị trường

Hướng tối ưu hóa chiến lược

  1. Nhập các chỉ số đánh giá xu hướng, điều chỉnh các tham số chiến lược trong xu hướng mạnh
  2. Tối ưu hóa cơ chế thanh toán để có thể điều chỉnh lợi nhuận theo biến động của thị trường
  3. Thêm mô-đun kiểm soát rủi ro, đặt giới hạn vị trí tổng thể và điều kiện dừng lỗ
  4. Giới thiệu các chỉ số biến động (như ATR), động điều chỉnh khoảng thời gian đặt hàng
  5. Tối ưu hóa cơ chế giao dịch phân đoạn, có thể điều chỉnh động theo tình hình thị trường

Tóm tắt

Chiến lược này có khả năng chống rủi ro tốt hơn khi thị trường bị điều chỉnh mạnh mẽ bằng cách giao dịch lưới đa khu vực. Mặc dù có một số rủi ro tiềm ẩn, nhưng có thể đạt được hiệu quả giao dịch ổn định bằng cách đặt các tham số hợp lý và các biện pháp kiểm soát rủi ro.

Mã nguồn chiến lược
/*backtest
start: 2024-02-20 00:00:00
end: 2025-02-17 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// BTC SOL ETH BNB XMR RNDR AKT OM ONDO IO

strategy("MA100 crash buy 3 Zone // 15 min", overlay=true, calc_on_every_tick=true)

// Définition des MA
maH1 = ta.sma(close, 100)
maB2 = ta.sma(close, 100)
maB3 = ta.sma(close, 100)
maB4 = ta.sma(close, 100)

// Définition du niveau d'achat et de vente
sellLevel1 = maH1 * 1.03 //+3%
buyLevel2 = maB2 * 0.92 //-8%
buyLevel3 = maB2 * 0.85 //-15%
buyLevel4 = maB2 * 0.80 //-20%



// Nombre max de trades simultanés
maxTrades2 = 2
maxTrades3 = 3
maxTrades4 = 4

// Délais entre deux ordres (en bougies)
tradeDelay = 50
var float lastTradeTime = na
var float lastSellTime = na
tradeDelay2 = 50
var float lastTradeTime2 = na
tradeDelay3 = 50
var float lastTradeTime3 = na
tradeDelay4 = 50
var float lastTradeTime4 = na

// Condition d'achat et de vente
buyCondition2 = low <= buyLevel2 and strategy.opentrades < maxTrades2 and (na(lastTradeTime2) or bar_index - lastTradeTime2 > tradeDelay2)
buyCondition3 = low <= buyLevel3 and strategy.opentrades < maxTrades3 and (na(lastTradeTime3) or bar_index - lastTradeTime3 > tradeDelay3)
buyCondition4 = low <= buyLevel4 and strategy.opentrades < maxTrades4 and (na(lastTradeTime4) or bar_index - lastTradeTime4 > tradeDelay4)
sellCondition = strategy.position_size > 0 and high >= sellLevel1 and (na(lastSellTime) or bar_index - lastSellTime > tradeDelay)

if buyCondition2
    strategy.entry("Buy", strategy.long)
    lastTradeTime2 := bar_index  // Enregistre le moment du trade

if buyCondition3
    strategy.entry("Buy", strategy.long)
    lastTradeTime3 := bar_index  // Enregistre le moment du trade

if buyCondition4
    strategy.entry("Buy", strategy.long)
    lastTradeTime4 := bar_index  // Enregistre le moment du trade

if sellCondition
    strategy.close("Buy")  // Ferme 50% de toutes les positions ouvertes // , qty_percent=30
    lastSellTime := bar_index  // Enregistre le moment du trade


// Affichage des niveaux
plot(sellLevel1, color=#fa930d, title="Sell Level")
plot(buyLevel2, color=#15bbfd, title="Buy Level")
plot(buyLevel3, color=#1229aa, title="Buy Level")
plot(buyLevel4, color=#9812aa, title="Buy Level")