Strategi ini menggunakan purata bergerak mudah titik tinggi dan titik rendah berbanding dengan harga penutupan semasa untuk menentukan masuk dan keluar.
Mengira purata bergerak sederhana harga tinggi 4 tempoh.
Mengira purata bergerak sederhana harga rendah 4 tempoh.
Pergi panjang apabila harga penutupan melebihi titik tinggi SMA.
Pergi pendek apabila harga penutupan di bawah titik rendah SMA.
Gunakan stop loss tetap dan ambil keuntungan untuk pengurusan risiko.
Menggunakan petunjuk mudah, mudah difahami dan dilaksanakan.
Tempoh yang tepat menangkap isyarat harga dari penyeberangan SMA.
Boleh menyaring bunyi dengan cepat dan mengenal pasti trend.
Pengiraan ringan mengurangkan strategi overhead.
Sesuai sebagai strategi asas untuk sambungan.
Menghendaki parameter yang munasabah untuk mengelakkan sensitiviti berlebihan.
Tidak dapat mengendalikan risiko dari pelarian besar.
Kemungkinan kehilangan whipsaw dalam julat.
Tidak boleh menyesuaikan berhenti dan had secara automatik.
Sukar untuk menilai konteks trend jangka panjang.
Uji parameter yang berbeza untuk kesan pada kualiti isyarat.
Tambah penapis untuk mengesahkan keberkesanan pelarian.
Sertakan analisis trend untuk mengelakkan perangkap.
Membangunkan hentian dan had dinamik.
Mengoptimumkan berhenti untuk meningkatkan kadar kemenangan.
Uji ketahanan dalam jangka masa yang berbeza.
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)