Взят у ChrisMoody и переделан в текстовую подсказку. добавлен паттерн "Разворот на закрытии" или CPR
Комментарий:
не знаю по каким причинам в строке убирается часть скрипта.
and (high >= high) - убрать знак =
and (low <= low) - убрать знак =
and (high >= high) - убрать знак =
and (low <= low) - убрать знак =
Комментарий:
новая версия скрипта
study("TV_Price-Action-Bars", overlay=true) pctP = input(66, minval=1, maxval=99, title="Процент ввода PBars, % фитиля от свечи должен быть") pblb = input(6, minval=1, maxval=100, title="Период для определения тренда на максимумах и минимумах") pctS = input(5, minval=1, maxval=99, title="Процент ввода Бритый бар, % от диапазона должн закрыться на минимумах или максимумов") spb = input(false, title="Пин бар (PB)") ssb = input(false, title="Бритый бар (SB)") sib = input(false, title="Внутренний бар (IB)") sob = input(true, title="Поглощение (BUOVB)") cpr = input(true, title="Closing Price Reversal (CPR)") //PBar Percentages pctCp = pctP * .01 pctCPO = 1 - pctCp //Shaved Bars Percentages pctCs = pctS * .01 pctSPO = pctCs range = high - low // CPR Bar() => cpr and (close[1] > open[1] and close > open[1] and low>sma(close, 20) and (high >= high[1]) and close < open and high >= highest(pblb)) ? 1 : 0 Bar1() => cpr and (close[1] < open[1] and close < open[1] and high<sma(close, 20) and (low <= low[1]) and close > open and low <= lowest(pblb)) ? 1 : 0 ///PinBars pBarUp() => spb and open > high - (range * pctCPO) and close > high - (range * pctCPO) and low <= lowest(pblb) ? 1 : 0 pBarDn() => spb and open < high - (range * pctCp) and close < high-(range * pctCp) and high >= highest(pblb) ? 1 : 0 //Shaved Bars sBarUp() => ssb and (close >= (high - (range * pctCs))) sBarDown() => ssb and close <= (low + (range * pctCs)) //Inside Bars insideBar() => sib and high <= high[1] and low >= low[1] ? 1 : 0 outsideBar() => sob and (high > high[1] and low < low[1]) ? 1 : 0 //PinBars plotchar(pBarUp(), char='P', location = location.belowbar, color = green, transp=0, title="Пин бар (PB)") plotchar(pBarDn(), char='P', location = location.abovebar, color = red, transp=0, title="Пин бар (PB)") //Shaved Bars plotchar(sBarDown(), char='S', location = location.abovebar, color = fuchsia, transp=0, title="Бритый бар (SB)") plotchar(sBarUp(), char='S', location = location.belowbar, color = aqua, transp=0, title="Бритый бар (SB)") //Inside and Outside Bars plotchar(insideBar(), char='I', location = location.abovebar, color = blue, transp=0, title="Inside Bars (IB)") plotchar(outsideBar(), char='B', location = location.abovebar, color = orange, transp=0, title="Поглощение (BUOVB)") //CPR plotchar(Bar(), char='C', location = location.abovebar, color = red, transp=0, title="Closing Price Reversal (CPR)") plotchar(Bar1(), char='C', location = location.belowbar, color = green, transp=0, title="Closing Price Reversal (CPR)")
Bar1() => ......
убран знак = в (high >= high)
заменить две строки на эти две строчки:
Bar() => cpr and (close > open and close > open and low>sma(close, 20) and (high > high) and close < open and high >= highest(pblb)) ? 1 : 0
Bar1() => cpr and (close < open and close < open and high open and low <= lowest(pblb)) ? 1 : 0