簡體   English   中英

請幫助我不知道如何從收縮區開始到收縮 pinescript 指示器結束調整框的大小

[英]please help I dont know how to size box from the start of an contraction zone to the end of the contraction pinescript indicator

我一直在嘗試制作一個可以找到收縮區域的指示器,但我很困惑我能夠用白色標簽突出顯示收縮區域,但我想要一個從開始到收縮結束時大小的盒子第一個白色標簽到最后一個標簽我現在完全迷失了,因為我最接近的是為每個標簽制作一個盒子,但它不能滿足我的需要

它看起來如何,(白框不是其中的一部分)[1]: https ://i.stack.imgur.com/5IQC0.png 我希望它看起來如何 [2]: https://i.stack。 imgur.com/Rm1Us.png

//@version=5
indicator(title="ATR Contraction", shorttitle="ATR CONTRACTION FINDER", overlay=true, precision=3, max_lines_count = 500, max_boxes_count = 500)
lenAtr = input(title = "atr length", defval = 1)
atr = ta.atr(lenAtr)
//atr values
avg5 = input.int(title="WMA", defval=5)
avg13 = input.int(title="WMA",  defval=13)
avg22 = input.int(title="WMA",  defval=22)

WMA5 = ta.wma (atr, avg5)
WMA13 = ta.wma (atr, avg13)
WMA22 = ta.wma (atr,avg22)

ifAtr = atr < WMA5 and WMA5 < WMA13 and WMA13 < WMA22

//STD
length = input.int(20, minval=1)
src = input(close, title="Source")
stdev = ta.stdev( src , length)
STDWMA13 = ta.wma (stdev, avg13)
STDWMA22 = ta.wma (stdev,avg22)
ifStd = stdev < STDWMA13 and STDWMA13 < STDWMA22

// volume
VWMA5 = ta.wma ( volume ,5)
VWMA10 = ta.wma ( volume ,10)
VWMA20 = ta.wma ( volume ,20)
ifVMA = VWMA5 < VWMA10 and VWMA10 < VWMA20

lessVolatility = ifAtr and ifStd and ifVMA

string tfInput = input.timeframe("D", "Timeframe")
var hi = float(na)
var lo = float(na)
var line hiLine = na
var line loLine = na
var box hiLoBox = na
// Detect changes in timeframe.
if lessVolatility? 1:na
    // New bar in higher timeframe; reset values and create new lines and box.
    hi := high
    lo := low
    hiLoBox := box.new(bar_index -1 , hi, bar_index+5, lo, border_color = na, bgcolor = color.silver)
    box.set_bgcolor(hiLoBox, color.new(color.blue, 50))
    int(na)



plotshape(lessVolatility? 1:na,style=shape.labeldown, location=location.abovebar, color=color.white, size=size.tiny)

每當您第一次獲得信號時,您可以將變量設置為 true 並繼續將其設置為 true 直到信號繼續。 並且基於該變量,您可以在第一次設置時創建一個新框,如果之前已經為真,則繼續將其擴展為一個條形。 例子

//@version=5
indicator(title="ATR Contraction", shorttitle="ATR CONTRACTION FINDER", overlay=true, precision=3, max_lines_count = 500, max_boxes_count = 500)
lenAtr = input(title = "atr length", defval = 1)
atr = ta.atr(lenAtr)
//atr values
avg5 = input.int(title="WMA", defval=5)
avg13 = input.int(title="WMA",  defval=13)
avg22 = input.int(title="WMA",  defval=22)

WMA5 = ta.wma (atr, avg5)
WMA13 = ta.wma (atr, avg13)
WMA22 = ta.wma (atr,avg22)

ifAtr = atr < WMA5 and WMA5 < WMA13 and WMA13 < WMA22

//STD
length = input.int(20, minval=1)
src = input(close, title="Source")
stdev = ta.stdev( src , length)
STDWMA13 = ta.wma (stdev, avg13)
STDWMA22 = ta.wma (stdev,avg22)
ifStd = stdev < STDWMA13 and STDWMA13 < STDWMA22

// volume
VWMA5 = ta.wma ( volume ,5)
VWMA10 = ta.wma ( volume ,10)
VWMA20 = ta.wma ( volume ,20)
ifVMA = VWMA5 < VWMA10 and VWMA10 < VWMA20

lessVolatility = ifAtr and ifStd and ifVMA

string tfInput = input.timeframe("D", "Timeframe")
var hi = float(na)
var lo = float(na)
var line hiLine = na
var line loLine = na
var box hiLoBox = na
// Detect changes in timeframe.
var continuebox=false

if lessVolatility? 1:na
    // New bar in higher timeframe; reset values and create new lines and box.
    hi := high
    lo := low
    if continuebox
        box.set_right(hiLoBox,bar_index)
    else
        hiLoBox := box.new(bar_index -1 , hi, bar_index, lo, border_color = na, bgcolor = color.silver)
        box.set_bgcolor(hiLoBox, color.new(color.blue, 50))
    int(na)
    continuebox:=true
else
    continuebox:=false



plotshape(lessVolatility? 1:na,style=shape.labeldown, location=location.abovebar, color=color.white, size=size.tiny)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM