Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
103 views
in Technique[技术] by (71.8m points)

Pine Script - Custom Week

I am trying to create a pine script to select custom week for drawing pivot points. In India, NSE expiry starts from Friday and ends on Thrusday. I wish to calculate custom pivot from Friday to thursday for last week and plot it from Friday to thursday of next week, but not able to do so. Pls help

//@version=4 //#3d3733 - black //#f70101 - red //#0130f7 - blue //#0ef91b - green //#b71c1c - brown study("Ramesh Pivot Points", shorttitle="Ramesh Pivots", overlay=true) //higherTF = input("D", type=input.resolution) //higherTF = input("D", type=input.resolution) //0930-1700:146

   higherTF = input("D",    type=input.resolution,options=["D","W","M","Y"])
   //higherTF=time(timeframe.period,"0900-1530:5671234")
   //sessSpec = input("0900-1530:5671234", type=input.session)
   prevCloseHTF = security(syminfo.tickerid, higherTF, close[1],    lookahead=true) prevOpenHTF = security(syminfo.tickerid, higherTF,    open[1], lookahead=true) prevHighHTF = security(syminfo.tickerid,    higherTF, high[1], lookahead=true) prevLowHTF =    security(syminfo.tickerid, higherTF, low[1], lookahead=true)
   pLevel = (prevHighHTF + prevLowHTF + prevCloseHTF) / 3 bcLevel =    (prevHighHTF + prevLowHTF ) / 2.0  tcLevel = (pLevel - bcLevel) +    pLevel

   r1Level = (pLevel * 2) - prevLowHTF r2Level = pLevel + (prevHighHTF -    prevLowHTF) r3Level = r1Level + (prevHighHTF - prevLowHTF) r4Level =    r3Level + (r2Level - r1Level)
   s1Level = pLevel * 2 - prevHighHTF s2Level = pLevel- (prevHighHTF -    prevLowHTF) s3Level = s1Level - (prevHighHTF - prevLowHTF) s4Level =    s3Level - (s1Level  - s2Level)
   dprange = (prevHighHTF - prevLowHTF) //Expanded Camarilla Pivots    Formula h1Level=prevCloseHTF + dprange*(1.1/12) h2Level=prevCloseHTF    + dprange*(1.1/6) h3Level=prevCloseHTF + dprange*(1.1/4) h4Level=prevCloseHTF + dprange*(1.1/2)    h5Level=(prevHighHTF/prevLowHTF)*prevCloseHTF l1Level=prevCloseHTF -    dprange*(1.1/12) l2Level=prevCloseHTF - dprange*(1.1/6)    l3Level=prevCloseHTF - dprange*(1.1/4) l4Level=prevCloseHTF -    dprange*(1.1/2) l5Level=prevCloseHTF - (h5Level-prevCloseHTF)

   var line pLine = na var line bcLine = na var line tcLine = na
   var line r1Line = na var line r2Line = na var line r3Line = na var    line r4Line = na
   var line s1Line = na var line s2Line = na var line s3Line = na var    line s4Line = na
   var line h1Line = na var line h2Line = na var line h3Line = na var    line h4Line = na var line h5Line = na
   var line l1Line = na var line l2Line = na var line l3Line = na var    line l4Line = na var line l5Line = na


   if pLevel[1] != pLevel

line.set_x2(pLine, bar_index)   line.set_x2(s1Line, bar_index)
line.set_x2(bcLine, bar_index)  line.set_x2(tcLine, bar_index)

line.set_x2(r1Line, bar_index)  line.set_x2(r2Line, bar_index)
line.set_x2(r3Line, bar_index)  line.set_x2(r4Line, bar_index)

line.set_x2(s1Line, bar_index)  line.set_x2(s2Line, bar_index)
line.set_x2(s3Line, bar_index)  line.set_x2(s4Line, bar_index)

line.set_x2(h1Line, bar_index)  line.set_x2(h2Line, bar_index)
line.set_x2(h3Line, bar_index)  line.set_x2(h4Line, bar_index)
line.set_x2(h5Line, bar_index)      line.set_x2(l1Line, bar_index)
line.set_x2(l2Line, bar_index)  line.set_x2(l3Line, bar_index)
line.set_x2(l4Line, bar_index)    line.set_x2(l5Line, bar_index)


line.set_extend(pLine, extend.none)     line.set_extend(bcLine,    extend.none)     line.set_extend(tcLine, extend.none)    
line.set_extend(r1Line, extend.none)    line.set_extend(r2Line,    extend.none)     line.set_extend(r3Line, extend.none)
line.set_extend(r4Line, extend.none)        line.set_extend(s1Line,    extend.none)     line.set_extend(s2Line, extend.none)
line.set_extend(s3Line, extend.none)    line.set_extend(s4Line,    extend.none)         line.set_extend(h1Line, extend.none)
line.set_extend(h2Line, extend.none)    line.set_extend(h3Line,    extend.none)     line.set_extend(h4Line, extend.none)    line.set_extend(h5Line, extend.none)

line.set_extend(l1Line, extend.none)    line.set_extend(l2Line,    extend.none)     line.set_extend(l3Line, extend.none)
line.set_extend(l4Line, extend.none)        line.set_extend(l4Line,    extend.none)
   //   r1Line := line.new(bar_index, r1Level, bar_index, r1Level,    width=1, extend=extend.right,color=#b71c1c) //    s1Line :=    line.new(bar_index, s1Level, bar_index, s1Level, width=1,    extend=extend.right,color=#b71c1c) // pLine := line.new(bar_index,    pLevel, bar_index, pLevel, width=1,    extend=extend.right,color=#3d3733) //    bcLine := line.new(bar_index,    bcLevel, bar_index, bcLevel,width=1,    extend=extend.right,color=#3d3733)

pLine := line.new(bar_index, pLevel, bar_index, pLevel, width=1,    color=#3d3733)  bcLine := line.new(bar_index, bcLevel, bar_index,    bcLevel,width=1, color=#3d3733)    tcLine := line.new(bar_index,    tcLevel, bar_index, tcLevel,width=1, color=#3d3733)

r1Line := line.new(bar_index, r1Level, bar_index, r1Level, width=1,    color=#b71c1c,style=line.style_dotted)   r2Line := line.new(bar_index,    r2Level, bar_index, r2Level, width=1,    color=#b71c1c,style=line.style_dotted)    r3Line := line.new(bar_index,    r3Level, bar_index, r3Level, width=1,    color=#b71c1c,style=line.style_dotted)    r4Line := line.new(bar_index,    r4Level, bar_index, r4Level, width=1,    color=#b71c1c,style=line.style_dotted)

s1Line := line.new(bar_index, s1Level, bar_index, s1Level, width=1,    color=#b71c1c,style=line.style_dotted)   s2Line := line.new(bar_index,    s2Level, bar_index, s2Level, width=1,    color=#b71c1c,style=line.style_dotted)    s3Line := line.new(bar_index,    s3Level, bar_index, s3Level, width=1,    color=#b71c1c,style=line.style_dotted)    s4Line := line.new(bar_index,    s4Level, bar_index, s4Level, width=1,    color=#b71c1c,style=line.style_dotted)

h1Line := line.new(bar_index, h1Level, bar_index, h1Level, width=1,    color=#f902d3)   h2Line := line.new(bar_index, h2Level, bar_index,    h2Level, width=1, color=#f902d3)   h3Line := line.new(bar_index,    h3Level, bar_index, h3Level, width=1, color=#f70101)   h4Line :=    line.new(bar_index, h4Level, bar_index, h4Level, width=1,    color=#0ef91b)    h5Line := line.new(bar_index, h5Level, bar_index,    h5Level, width=1, color=#0130f7)


l1Line := line.new(bar_index, l1Level, bar_index, l1Level, width=1,    color=#ffee58)   l2Line := line.new(bar_index, l2Level, bar_index,    l2Level, width=1, color=#ffee58)   l3Line := line.new(bar_index,    l3Level, bar_index, l3Level, width=1, color=#0ef91b)   l4Line :=    line.new(bar_index, l4Level, bar_index, l4Level, width=1,    color=#f70101)    l5Line := line.new(bar_index, l5Level, bar_index,    l5Level, width=1, color=#0130f7)


label.new(bar_index, pLevel, "P",    style=label.style_none,size=size.small)    label.new(bar_index,    bcLevel, "BC", style=label.style_none,size=size.small)
label.new(bar_index, tcLevel, "TC",    style=label.style_none,size=size.small)

label.new(bar_index, r1Level, "R1",    style=label.style_none,size=size.small)  label.new(bar_index,    r2Level, "R2", style=label.style_none,size=size.small)
label.new(bar_index, r3Level, "R3",    style=label.style_none,size=size.small)  label.new(bar_index,    r4Level, "R4", style=label.style_none,size=size.small)

label.new(bar_index, s1Level, "S1",    style=label.style_none,size=size.small)  label.new(bar_index,    s2Level, "S2", style=label.style_none,size=size.small)
label.new(bar_index, s3Level, "S3",    style=label.style_none,size=size.small)  label.new(bar_index,    s4Level, "S4", style=label.style_none,size=size.small)
        label.new(bar_index, h1Level, "h1", style=label.style_none,size=size.small)     label.new(bar_index,    h2Level, "h2", style=label.style_none,size=size.small)
label.new(bar_index, h3Level, "h3",    style=label.style_none,size=size.small)  label.new(bar_index,    h4Level, "h4", style=label.style_none,size=size.small)
label.new(bar_index, h5Level, "h5",    style=label.style_none,size=size.small)      label.new(bar_index,    l1Level, "l1", style=label.style_none,size=size.small)
label.new(bar_index, l2Level, "l2",    style=label.style_none,size=size.small)  label.new(bar_index,    l3Level, "l3", style=label.style_none,size=size.small)
label.new(bar_index, l4Level, "l4",    style=label.style_none,size=size.small)  label.new(bar_index,    l5Level, "l5", style=label.style_none,size=size.small)
   if not na(pLine) and line.get_x2(pLine) != bar_index
line.set_x2(pLine, bar_index)    line.set_x2(bcLine, bar_index)    line.set_x2(tcLine, bar_index)
   line.set_x2(r1Line, bar_index)   line.set_x2(r2Line, bar_index)  line.set_x2(r3Line, bar_index)  line.set_x2(r4Line, bar_index)  
line.set_x2(s1Line, bar_index)  line.set_x2(s2Line, bar_index)
line.set_x2(s3Line, bar_index)  line.set_x2(s4Line, bar_index)  
line.set_x2(h1Line, bar_index)  line.set_x2(h2Line, bar_index)
line.set_x2(h3Line, bar_index)  line.set_x2(h4Line, bar_index)
line.set_x2(h5Line, bar_index)      line.set_x2(l1Line, bar_index)
line.set_x2(l2Line, bar_index)  line.set_x2(l3Line, bar_index)
line.set_x2(l4Line, bar_index)  line.set_x2(l5Line, bar_index)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...