Strategi ini menggunakan rata-rata bergerak sederhana dari titik tinggi dan titik rendah dibandingkan dengan harga penutupan saat ini untuk menentukan entri dan keluar.
Hitung rata-rata bergerak sederhana harga tinggi 4 periode.
Hitung rata-rata bergerak sederhana harga rendah 4 periode.
Pergi panjang ketika harga penutupan melanggar SMA titik tinggi.
Pergi short saat harga close melanggar SMA titik rendah.
Gunakan stop loss tetap dan ambil keuntungan untuk manajemen risiko.
Menggunakan indikator sederhana, mudah dipahami dan diterapkan.
Waktu menangkap sinyal harga dari SMA crossover.
Dapat dengan cepat menyaring kebisingan dan mengidentifikasi tren.
Perhitungan ringan mengurangi strategi overhead.
Cocok sebagai strategi dasar untuk perpanjangan.
Membutuhkan parameter yang wajar untuk menghindari sensitivitas berlebihan.
Tidak mampu menangani risiko dari pelarian besar.
Kemungkinan kehilangan whipsaw dalam rentang.
Tidak bisa menyesuaikan berhenti dan batas secara otomatis.
Sulit untuk menilai konteks tren jangka panjang.
Uji parameter yang berbeda untuk dampak pada kualitas sinyal.
Tambahkan filter untuk memvalidasi efektivitas breakout.
Sertakan analisis tren untuk menghindari perangkap.
Kembangkan berhenti dan batas yang dinamis.
Mengoptimalkan berhenti untuk meningkatkan tingkat kemenangan.
Uji ketahanan dalam jangka waktu yang berbeda.
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)