
Strategi ini berdasarkan kepada tempoh yang tinggi dan rendah untuk menilai arah trend, melakukan lebih banyak ketika harga mencapai tempoh yang tinggi, dan melakukan penyingkiran ketika tempoh yang rendah, termasuk dalam strategi mengikuti trend.
Strategi ini mula-mula membaca kitaran yang ditetapkan oleh pengguna ((hari, pusingan, dan lain-lain) dan jumlah kitaran semak semula. Kemudian berdasarkan parameter ini, harga tertinggi dan terendah untuk kitaran semak semula. Sebagai contoh, jika ditetapkan sebagai kitaran hari, semak semula 1 kitaran, maka harga tertinggi dan terendah pada hari sebelumnya diambil.
Dalam urus niaga sebenar, jika harga penutupan lebih besar daripada harga terendah yang sama dengan kitaran semakan semula, ia akan dianggap sebagai pecah ke atas, melakukan lebih banyak; jika harga penutupan kurang daripada harga tertinggi yang sama dengan kitaran semakan semula, ia akan dianggap sebagai pecah ke bawah, melakukan kosong.
Ini adalah salah satu strategi untuk mengesan trend.
Strategi ini mempunyai beberapa kelebihan:
Ia adalah lebih mudah untuk menangkap trend besar selepas mengumpul kekuatan.
Ia mudah difahami dan sangat sesuai untuk pemula.
Parameter kitaran penyesuaian boleh dioptimumkan dengan mudah untuk pelbagai jenis.
Ia boleh digunakan untuk mengukuhkan strategi dengan menetapkan input terbalik.
Pemetaan kitaran tinggi dan rendah membantu penilaian, membentuk pengesahan berganda.
Strategi ini mempunyai beberapa risiko:
Tidak dapat menyaring kebocoran dengan berkesan, mungkin berlaku beberapa kesilapan.
Tidak dapat mengawal kerugian, terdapat risiko kerugian.
Ia adalah sensitif terhadap kos transaksi dan terdapat perbezaan dalam keuntungan dan kerugian sebenar.
Tidak boleh hadkan saiz kedudukan, terdapat masalah kelebihan.
Menghadapi risiko di atas, mekanisme hentian kerugian boleh ditetapkan, optimumkan keadaan penapisan, mengawal bilangan kedudukan dan lain-lain.
Strategi ini boleh dioptimumkan dengan cara berikut:
Menambah mekanisme penapisan untuk mengelakkan pendirian dan pembukaan saham yang kerap. Anda boleh menetapkan syarat penapisan seperti saluran harga, kadar turun naik.
Tetapkan hentian bergerak atau hentian masa. Kawal risiko kerugian tunggal untuk memastikan keuntungan keseluruhan.
Mengoptimumkan saiz kedudukan dan pengurusan dana, mencegah masalah kelebihan, memastikan kestabilan strategi.
Uji kesan parameter kitaran yang berbeza dan pilih kombinasi parameter yang optimum.
Menambah modul dagangan algoritma untuk meningkatkan kecekapan keputusan menggunakan algoritma pembelajaran mesin.
Secara keseluruhannya, strategi pengesanan semula titik tinggi dan rendah yang terobosan ini berdasarkan arah penilaian trend, mudah dikendalikan, sesuai untuk pelajar pemula, tetapi terdapat risiko kesulitan untuk melakukan perdagangan. Dengan menambah syarat penapisan, mekanisme hentikan kerugian, dan pengendalian kedudukan, kaedah pengoptimuman dapat mengurangkan risiko ini dan meningkatkan keberkesanan strategi.
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 03/07/2018
// This script shows a high and low period value.
// Width - width of lines
// SelectPeriod - Day or Week or Month and etc.
// LookBack - Shift levels 0 - current period, 1 - previous and etc.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="High and Low Levels Backtest", shorttitle="HL Levels", overlay = true)
SelectPeriod = input("D", defval="D")
LookBack = input(1, minval=0)
reverse = input(false, title="Trade reverse")
xHigh = request.security(syminfo.tickerid, SelectPeriod, high[LookBack])
xLow = request.security(syminfo.tickerid, SelectPeriod, low[LookBack])
vS1 = xHigh
vR1 = xLow
pos = iff(close > vR1, 1,
iff(close < vS1, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )