Strategi perdagangan kuantitatif berdasarkan rata-rata bergerak titik tinggi-rendah

Penulis:ChaoZhang, Tanggal: 2023-09-19 15:53:55
Tag:

Gambaran umum

Strategi ini menggunakan rata-rata bergerak sederhana dari titik tinggi dan titik rendah dibandingkan dengan harga penutupan saat ini untuk menentukan entri dan keluar.

Logika Strategi

  1. Hitung rata-rata bergerak sederhana harga tinggi 4 periode.

  2. Hitung rata-rata bergerak sederhana harga rendah 4 periode.

  3. Pergi panjang ketika harga penutupan melanggar SMA titik tinggi.

  4. Pergi short saat harga close melanggar SMA titik rendah.

  5. Gunakan stop loss tetap dan ambil keuntungan untuk manajemen risiko.

Analisis Keuntungan

  1. Menggunakan indikator sederhana, mudah dipahami dan diterapkan.

  2. Waktu menangkap sinyal harga dari SMA crossover.

  3. Dapat dengan cepat menyaring kebisingan dan mengidentifikasi tren.

  4. Perhitungan ringan mengurangi strategi overhead.

  5. Cocok sebagai strategi dasar untuk perpanjangan.

Analisis Risiko

  1. Membutuhkan parameter yang wajar untuk menghindari sensitivitas berlebihan.

  2. Tidak mampu menangani risiko dari pelarian besar.

  3. Kemungkinan kehilangan whipsaw dalam rentang.

  4. Tidak bisa menyesuaikan berhenti dan batas secara otomatis.

  5. Sulit untuk menilai konteks tren jangka panjang.

Arahan Optimasi

  1. Uji parameter yang berbeda untuk dampak pada kualitas sinyal.

  2. Tambahkan filter untuk memvalidasi efektivitas breakout.

  3. Sertakan analisis tren untuk menghindari perangkap.

  4. Kembangkan berhenti dan batas yang dinamis.

  5. Mengoptimalkan berhenti untuk meningkatkan tingkat kemenangan.

  6. Uji ketahanan dalam jangka waktu yang berbeda.

Ringkasan

Strategi ini menggunakan indikator sederhana untuk mengukur momentum harga dan menyediakan kerangka kerja perdagangan tren dasar. Dengan peningkatan lebih lanjut seperti optimasi parameter dan kontrol risiko, logika perdagangan sangat dapat diperluas menjadi sistem kuantitatif yang kuat. Secara keseluruhan strategi yang mudah digunakan yang cocok untuk pemula untuk memulai perdagangan kuantitatif.


/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-13 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("HiLo", overlay=true)

// Testing a specific period
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(4, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2017, "Backtest Stop Year")
testStopMonth = input(5, "Backtest Stop Month")
testStopDay = input(1, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false


//HiLo Strategy
length = input(4, minval=0)
displace = input(0, minval=0)
highsma = sma(high, length)
lowsma = sma(low, length)

longCondition = close > highsma[displace]
if (longCondition)
    strategy.entry("long", true)

shortCondition = close < lowsma[displace]
if (shortCondition)
    strategy.entry("short", false)

// Exit seems with a problem. it keeps saying the order's limit (2000) was reached even if I back test it just for a day. 
// If the two lines bellow are commented, then it it works. Anyone? Any idea what's wrong?

// strategy.exit("exit", "long", profit=10, loss=5)
// strategy.exit("exit", "short", profit=10, loss=5)






    

Lebih banyak