Strategi Perdagangan Kuantitatif Breakout Rata-rata Pergerakan Ganda


Tanggal Pembuatan: 2024-02-04 16:06:46 Akhirnya memodifikasi: 2024-02-04 16:06:46
menyalin: 0 Jumlah klik: 606
1
fokus pada
1617
Pengikut

Strategi Perdagangan Kuantitatif Breakout Rata-rata Pergerakan Ganda

Ringkasan

Strategi Binary Equity Breakout adalah strategi perdagangan kuantitatif yang lebih khas untuk mengikuti tren. Strategi ini menilai posisi dengan menghitung rata-rata bergerak sederhana untuk periode yang berbeda dan menetapkan sinyal perdagangan sebagai harga yang menerobos rata-rata bergerak. Strategi ini menggunakan garis 20 hari dan 60 hari sebagai sinyal perdagangan.

Prinsip Strategi

Logika inti dari strategi penembusan dua jalur adalah:Menggunakan Moving Average untuk berbagai periode untuk menangkap tren harga dan mengirimkan sinyal perdagangan ketika harga melewati Moving Average

Secara khusus, strategi ini menggunakan rata-rata bergerak sederhana 20 hari dan rata-rata bergerak sederhana 60 hari. Kedua rata-rata bergerak ini dapat dilihat sebagai alat untuk menangkap tren jangka pendek dan tren jangka menengah.

Kode yang disahkanta.crossoverDanta.crossunderUntuk menentukan apakah harga akan menembus atau menembus suatu rata-rata bergerak. Jika terjadi penembusan, maka akan ada instruksi untuk melakukan over atau under position.

Keunggulan Strategis

Strategi penembusan dua garis rata memiliki beberapa keuntungan:

  1. Konsepnya sederhana, mudah dipahami dan diterapkan.
  2. Dengan begitu, Anda dapat secara efektif melacak tren pasar dan menghindari gangguan.
  3. Lebih sedikit parameter untuk strategi, dan lebih mudah untuk dioptimalkan.
  4. Fleksibilitas dalam memilih siklus moving average, menyesuaikan sensitivitas pasar.

Risiko Strategis

Strategi penembusan dua jalur ini juga memiliki beberapa risiko:

  1. Ketika pasar berada dalam tren getaran, akan terjadi beberapa kali sinyal salah. Hal ini dapat diatasi dengan meningkatkan periode kepemilikan.
  2. Indikator ini dapat digabungkan dengan indikator lain sebagai filter.
  3. Rata-rata bergerak inherently lagging, tidak dapat merespons perubahan harga lebih awal.

Arah optimasi strategi

Strategi penembusan linier ganda dapat dioptimalkan dari beberapa dimensi:

  1. Optimalkan parameter periodik dari moving average untuk menemukan kombinasi parameter yang optimal.
  2. Tambahkan penilaian indikator lain untuk menghindari sinyal yang salah. Misalnya MACD, KD, dll.
  3. Tambahkan Stop Loss Logic
  4. Dengan analisis siklus waktu yang lebih banyak, Anda dapat mencapai kerangka waktu yang lebih banyak.

Meringkaskan

Strategi penembusan lini ganda adalah strategi pelacakan tren yang sederhana dan praktis. Ini dapat secara efektif menangkap tren jangka menengah dan panjang, dan menghindari gangguan dari kebisingan pasar jangka pendek. Strategi ini juga mudah dipahami dan diterapkan, parameternya dapat dihitung, sangat cocok untuk kebutuhan perdagangan kuantitatif.

Kode Sumber Strategi
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Astorhsu

//@version=5
strategy("Astor SMA20/60", overlay=true)
backtest_year = input(2018, title='backtest_year') //回測開始年分
backtest_month = input.int(01, title='backtest_month', minval=1, maxval=12) //回測開始月份
backtest_day = input.int(01, title='backtest_day', minval=1, maxval=31)  //回測開始日期
start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00)  //回測開始的時間函數

//Indicators
sma10 = ta.sma(close,10)
sma20 = ta.sma(close,20)
sma60 = ta.sma(close,60)
plot(sma20, color=color.green, title="sma(20)")
plot(sma60, color=color.red, title="sma(60)")

//進場條件
// trend1 = sma60 > sma20 //假設目前趨勢為60>20
longCondition = ta.crossover(close, ta.sma(close, 20))
if (longCondition) 
    strategy.entry("open long20", strategy.long, qty=1, comment="站上m20做多")


shortCondition = ta.crossunder(close, ta.sma(close, 20))
if (shortCondition) 
    strategy.close("open long20",comment="跌破m20平倉", qty=1)     
    
longCondition1 = ta.crossover(close, ta.sma(close, 60))
if (longCondition1) 
    strategy.entry("open long60", strategy.long, qty=1, comment="站上m60做多")


shortCondition1 = ta.crossunder(close, ta.sma(close, 60))
if (shortCondition1) 
    strategy.close("open long60",comment="跌破m60平倉", qty=1)     
    
// longCondition2 = ta.crossover(close, ta.sma(close, 10))
// if (longCondition2) 
//     strategy.entry("open long10", strategy.long, qty=1, comment="站上m10做多")


// shortCondition2 = ta.crossunder(close, ta.sma(close, 10))
// if (shortCondition2)
//     strategy.close("open long10",comment="跌破m10平倉", qty=1)