Hello Pedagang,
Satu lagi idea yang asli adalah di sini dengan anda. sebenarnya saya boleh mengatakan bahawa ia adalah strategi breakout yang menggunakan pelbagai purata Pivot Point.
Bagaimana ia berfungsi?
Anda mempunyai dua pilihan:
Ujian belakang
/*backtest start: 2022-04-30 00:00:00 end: 2022-05-29 23:59:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © LonesomeTheBlue //@version=4 study("Pivot Trend", precision = 2, explicit_plot_zorder = true) prd = input(defval = 4, title="Pivot Point Period", minval = 1, maxval = 30) pnum = input(defval = 3, title="number of PP to check", minval = 1, maxval = 30) colup = input(defval = color.blue, title = "Colors", inline = "col") coldn = input(defval = color.orange, title = "", inline = "col") float ph = pivothigh(prd, prd) float pl = pivotlow(prd, prd) var ph_lev = array.new_float(pnum, na) var pl_lev = array.new_float(pnum, na) if ph array.unshift(ph_lev, ph) array.pop(ph_lev) if pl array.unshift(pl_lev, pl) array.pop(pl_lev) float lrate = 0.0 for i = 0 to array.size(pl_lev) - 1 float rate = (close - array.get(pl_lev, i)) / array.get(pl_lev, i) lrate += (rate / pnum) float hrate = 0.0 for i = 1 to array.size(ph_lev) - 1 float rate = (close - array.get(ph_lev, i)) / array.get(ph_lev, i) hrate += (rate / pnum) hline(0.) hln = plot(hrate, color = color.red, linewidth = 2) lln = plot(lrate, color = color.lime, linewidth = 2) trend = 0 trend := hrate > 0 and lrate > 0 ? 1 : hrate < 0 and lrate < 0 ? -1 : nz(trend[1]) tcolor = trend == 1 ? color.new(colup, 40) : color.new(coldn, 40) fill(hln, lln, color = tcolor) mid = sma((hrate + lrate) / 2, 9) plot(mid, color = mid >= 0 ? mid >= mid[1] ? color.blue : color.navy : mid <= mid[1] ? color.red : color.orange, linewidth = 2) alertcondition(change(trend) > 0, title='Pivot Trend UP', message='Pivot Trend UP') alertcondition(change(trend) < 0, title='Pivot Trend DOWN', message='Pivot Trend DOWN') if change(trend) > 0 strategy.entry("Enter Long", strategy.long) else if change(trend) < 0 strategy.entry("Enter Short", strategy.short)