Strategi ini menentukan masa untuk membeli dan menjual dengan mengira purata bergerak sederhana dari titik tinggi dan rendah dan membandingkannya dengan harga penutupan semasa. Matlamatnya adalah untuk menangkap isyarat harga yang menembusi garis rata-rata untuk mendapatkan peluang awal untuk trend.
Hitung purata bergerak sederhana dengan ketinggian 4
Pengiraan purata bergerak sederhana dengan panjang 4
Apabila harga penutupan menembusi garis purata tertinggi, masukkan lebih banyak
Apabila harga penutupan menembusi garis purata titik rendah, masuklah ke dalam kedudukan kosong
Menguruskan risiko menggunakan strategi berhenti dan berhenti tetap
Menggunakan Indikator Sederhana dan Mudah Difahami
Menerima isyarat harga yang melampaui garis purata
Anda boleh menyaring kebisingan dengan cepat dan mengenal pasti trend.
Perhitungan kecil dapat mengurangkan penggunaan strategi
Strategi berasaskan keserasian untuk diperluaskan
Tetapan parameter yang munasabah diperlukan untuk mengelakkan sensitiviti yang berlebihan
Tidak dapat menangani risiko yang dihadapkan oleh kejayaan besar
Terdapat beberapa risiko risiko lebihan tergempar.
Tidak dapat menyesuaikan kedudukan stop loss secara automatik
Sukar untuk menilai jangka masa trend
Uji kesan parameter yang berbeza terhadap kualiti isyarat
Menambah syarat penapisan untuk memastikan kejayaan
Analisis Trend untuk Mengelakkan Kecurangan
Membangunkan strategi hentian kerugian dinamik
Mengoptimumkan mekanisme penangguhan kerugian dan meningkatkan peluang strategi
Strategi pengujian kekuatan pada kitaran yang berbeza
Strategi ini memberikan idea perdagangan trend asas melalui dinamik harga penunjuk yang mudah. Logik perdagangan yang dapat diperluaskan, dapat berkembang menjadi sistem kuantitatif yang lebih mantap. Secara keseluruhan, strategi ini mudah dipraktikkan dan sesuai sebagai strategi permulaan 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)