Strategi perdagangan grid pintar anjakan harga MA100 pelbagai julat

SMA MA ATR
Tarikh penciptaan: 2025-02-19 11:12:51 Akhirnya diubah suai: 2025-02-19 11:12:51
Salin: 0 Bilangan klik: 693
1
fokus pada
1617
Pengikut

Strategi perdagangan grid pintar anjakan harga MA100 pelbagai julat

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan grid multi-bahagian berdasarkan purata bergerak MA100. Ia mewujudkan kumpulan pembentukan kedudukan dengan menetapkan pelbagai kawasan pengunduran harga (−8%, -15%, -20%), membeli secara beransur-ansur apabila terdapat penurunan besar di pasaran, dan menghasilkan keuntungan apabila harga bangkit 3%. Strategi ini menggunakan pemikiran grid pintar untuk mengawal risiko dengan mengehadkan jumlah maksimum kedudukan dan selang perdagangan di setiap kawasan.

Prinsip Strategi

Logik utama strategi ini merangkumi:

  1. Harga rujukan menggunakan purata bergerak sederhana 100 kitaran ((SMA) sebagai strategi
  2. Set tiga jarak pembelian:
    • Julat 2: Harga mundur 8%, maksimum 2 dagangan dibenarkan
    • Julat 3: Harga ditarik balik 15%, maksimum 3 transaksi dibenarkan
    • Julat 4: Harga pulangan 20%, maksimum 4 transaksi dibenarkan
  3. Syarat penutupan seragam: apabila harga melonjak melebihi 3% dari MA100
  4. Setiap bahagian ditetapkan untuk minimum 50 K-line perenggan untuk mengelakkan terlalu sering perdagangan

Kelebihan Strategik

  1. Pembangunan bertingkat di pelbagai kawasan mengurangkan kos pembinaan gudang
  2. Menggunakan idea perdagangan grid untuk menangkap peluang di tengah-tengah ketidaktentuan
  3. Had maksimum pegangan dan selang dagangan, mengawal risiko dengan berkesan
  4. Logik strategi mudah, mudah difahami dan dipertahankan
  5. Sesuai untuk keadaan pasaran yang bergelombang tinggi
  6. Ia boleh dilakukan secara automatik tanpa campur tangan manusia.

Risiko Strategik

  1. Kemunculan semula yang lebih besar dalam trend penurunan yang berterusan
  2. Perlu modal yang lebih besar untuk menyokong pembinaan gudang berbilang zon
  3. Syarat kedudukan sejajar agak mudah, mungkin terlepas ruang untuk kenaikan yang lebih besar
  4. Tidak mengambil kira trend keseluruhan pasaran, mungkin kurang baik dalam keadaan trend
  5. Parameter peratusan tetap mungkin tidak sesuai untuk semua keadaan pasaran

Arah pengoptimuman strategi

  1. Memperkenalkan indikator penilaian trend, menyesuaikan parameter strategi semasa trend kuat
  2. Optimumkan mekanisme penyelesaian, boleh menyesuaikan sasaran keuntungan secara dinamik mengikut turun naik pasaran
  3. Menambah modul kawalan risiko, menetapkan had kedudukan keseluruhan dan syarat berhenti
  4. Memperkenalkan penunjuk kadar turun naik (seperti ATR) dan secara dinamik menyesuaikan jarak binaan
  5. Mekanisme selang dagangan yang dioptimumkan, boleh disesuaikan dengan keadaan pasaran yang dinamik

ringkaskan

Strategi ini mempunyai keupayaan yang lebih baik untuk menangkal risiko dengan cara berdagang dalam grid pelbagai zon, membangunkan gudang secara berturut-turut ketika penurunan pasaran yang besar. Walaupun terdapat beberapa risiko yang berpotensi, tetapi dengan penetapan parameter yang munasabah dan langkah-langkah kawalan risiko, kesan perdagangan yang stabil dapat dicapai.

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