Strategi Dagangan Kuantitatif Berdasarkan Purata Bergerak Titik Tinggi-Rendah

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

Ringkasan

Strategi ini menggunakan purata bergerak mudah titik tinggi dan titik rendah berbanding dengan harga penutupan semasa untuk menentukan masuk dan keluar.

Logika Strategi

  1. Mengira purata bergerak sederhana harga tinggi 4 tempoh.

  2. Mengira purata bergerak sederhana harga rendah 4 tempoh.

  3. Pergi panjang apabila harga penutupan melebihi titik tinggi SMA.

  4. Pergi pendek apabila harga penutupan di bawah titik rendah SMA.

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

Analisis Kelebihan

  1. Menggunakan petunjuk mudah, mudah difahami dan dilaksanakan.

  2. Tempoh yang tepat menangkap isyarat harga dari penyeberangan SMA.

  3. Boleh menyaring bunyi dengan cepat dan mengenal pasti trend.

  4. Pengiraan ringan mengurangkan strategi overhead.

  5. Sesuai sebagai strategi asas untuk sambungan.

Analisis Risiko

  1. Menghendaki parameter yang munasabah untuk mengelakkan sensitiviti berlebihan.

  2. Tidak dapat mengendalikan risiko dari pelarian besar.

  3. Kemungkinan kehilangan whipsaw dalam julat.

  4. Tidak boleh menyesuaikan berhenti dan had secara automatik.

  5. Sukar untuk menilai konteks trend jangka panjang.

Arahan pengoptimuman

  1. Uji parameter yang berbeza untuk kesan pada kualiti isyarat.

  2. Tambah penapis untuk mengesahkan keberkesanan pelarian.

  3. Sertakan analisis trend untuk mengelakkan perangkap.

  4. Membangunkan hentian dan had dinamik.

  5. Mengoptimumkan berhenti untuk meningkatkan kadar kemenangan.

  6. Uji ketahanan dalam jangka masa yang berbeza.

Ringkasan

Strategi ini menggunakan penunjuk mudah untuk mengukur momentum harga dan menyediakan rangka kerja perdagangan trend asas. Dengan penambahbaikan lanjut seperti pengoptimuman parameter dan kawalan risiko, logik perdagangan sangat dapat diperluaskan ke dalam sistem kuant yang kukuh. Secara keseluruhan strategi yang mudah digunakan yang sesuai untuk pemula untuk memulakan perdagangan kuant.


/*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 lanjut