วิธีสร้างตัวแปรทั่วโลกใน pinescript (Tradingview)

ฉันกำลังดำเนินการสร้างตัวบ่งชี้แนวโน้มใน Tradingview เพื่อติดตามว่าแนวโน้มเป็นไปในทิศทางใด โดยเฉพาะอย่างยิ่ง ฉันต้องการตัวแปรที่จะคงเดิมตลอดวัน แต่เมื่อตรงตามเงื่อนไขที่กำหนด ตัวแปรก็จะเปลี่ยนไป ดูเหมือนว่ามันควรจะทำได้ง่ายๆ แต่ทุกครั้งที่ฉันพยายาม ฉันก็จะวนเวียนอยู่ไม่รู้จบ และดูเหมือนจะไม่สามารถพันหัวตัวเองได้ ตัวแปร "เทรนด์"


///Condition
pos = close > open
neg = close < open

pos_cond = pos and pos[1]
neg_cond = neg and neg[1]

///Variables to keep track of trend

Trend = iff(***pos_cond or neg_cond not met***, Trend[1], Trend + real_trend)

trend_change_neg = iff(pos_cond, 1, 0)
trend_change_pos = iff(neg_cond, -1, 0)

real_trend = trend_change_neg + trend_change_pos

Trend = iff(Trend > 2, 2, iff(Trend < -2, -2, Trend))

/////////plots
plotshape(Trend > 0, color = color.green, location = location.top, style = shape.square, title="TrendLong")

plotshape( Trend == 0, color = color.yellow, location = location.top, style = shape.square, title = "TrendNeutral")

plotshape( Trend < 0, color = color.red, location = location.top, style = shape.square, title = "TrendShort")

โดยพื้นฐานแล้วสิ่งที่ฉันต้องการทำคือรักษาผลรวมของเทรนด์ไว้ โดยในแต่ละครั้งที่มีแท่งเทียน 2 แท่งติดกันต่อกับเทรนด์ แท่งเทียนจะเปลี่ยนเป็นเป็นกลาง แต่เมื่อเทรนด์ยังคงเคลื่อนไหวใน 1 ทิศทาง ก็สามารถสร้างสำรองขึ้นไปที่ +-2 ได้ (นี่คือสิ่งที่เราอยู่ห่างจากความเป็นกลางไม่เกิน 2 "การดึงกลับ" ฉันครุ่นคิดเรื่องนี้มาหลายวันแล้ว แต่ถ้าใครมีความคิดใด ๆ ความช่วยเหลือใด ๆ ก็จะได้รับการชื่นชม


person Jason Maynard    schedule 20.06.2020    source แหล่งที่มา


คำตอบ (1)


คุณต้องใช้ var. ตัวอย่าง:

var a = 0
a:=close>open?1:0
  

https://www.tradingview.com/pine-script-docs/en/v4/language/Expressions_declarations_and_statements.html

person Denzel    schedule 20.06.2020