Halo semua,
Ada built-in dan dipublikasikan Pivot Point High Low indikator di Public Library tapi sejauh yang saya lihat tidak ada yang untuk Higher Time frames. jadi saya memutuskan untuk menulis & menerbitkan skrip ini. Saya harap itu akan berguna saat perdagangan atau mengembangkan skrip Anda sendiri. Saya juga melakukan ini untuk digunakan dalam salah satu proyek masa depan saya (kita akan melihatnya dalam beberapa minggu / bulan ;)).
Aku mencoba untuk membuat semua pengaturan opsional, sehingga Anda dapat bermain dengan mereka seperti yang Anda inginkan.
P.S. Tidak ada mekanisme kontrol jika kerangka waktu grafik lebih rendah dari kerangka waktu dalam opsi. jadi Anda lebih baik mengatur kerangka waktu yang lebih tinggi dalam opsi daripada kerangka waktu grafik.
Nikmatilah!
backtest
/*backtest start: 2022-05-08 00:00:00 end: 2022-05-14 23:59:00 period: 5m basePeriod: 1m 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=5 indicator("Pivot Points High Low Multi Time Frame", overlay = true, max_lines_count = 500, max_labels_count = 500) timeframe = input.timeframe(defval = '240') leftBars = input.int(defval = 2, title = "Left Bars", minval = 1) rightBars = input.int(defval = 2, title = "Right Bars", minval = 1) phlinecol = input(defval = color.lime, title = "Pivot High/Low Line Colors", inline = "lc") pllinecol = input(defval = color.red, title = "", inline = "lc") phbgcol = input(defval = color.lime, title = "Pivot High BG/Text Colors", inline = "ph") phtextcol = input(defval = color.black, title = "", inline = "ph") plbgcol = input(defval = color.red, title = "Pivot Low BG/Text Colors", inline = "pl") pltextcol = input(defval = color.white, title = "", inline = "pl") get_phpl()=> float ph = ta.pivothigh(leftBars, rightBars) float pl = ta.pivotlow(leftBars, rightBars) phtimestart = ph ? time[rightBars] : na phtimeend = ph ? time[rightBars - 1] : na pltimestart = pl ? time[rightBars] : na pltimeend = pl ? time[rightBars - 1] : na [ph, phtimestart, phtimeend, pl, pltimestart, pltimeend] // get if there if Pivot High/low and their start/end times [ph, phtimestart, phtimeend, pl, pltimestart, pltimeend] = request.security(syminfo.tickerid, timeframe, get_phpl(), lookahead = barmerge.lookahead_on) // keep time of each bars, this is used for lines/labels var mytime = array.new_int(0) array.unshift(mytime, time) // calculate end of the line/time for pivot high/low bhend = array.get(mytime, math.min(array.indexof(mytime, phtimeend) + 1, array.size(mytime) - 1)) blend = array.get(mytime, math.min(array.indexof(mytime, pltimeend) + 1, array.size(mytime) - 1)) // to draw once float pivothigh = na(ph[1]) and ph ? ph : na float pivotlow = na(pl[1]) and pl ? pl : na if not na(pivothigh) strategy.entry("Enter Long", strategy.long) else if not na(pivotlow) strategy.entry("Enter Short", strategy.short)