BrainZZ

Ichimoku PanOptic TM-V5 by BrainZZ

127
Update of the previous script.

New functions added:
- Highlight of price crossing KS
- Highlight of TS/KS crossing
- Highlight of rising/falling periods of KS
- Critical levels for SSB, KS and TS/
Mã nguồn mở

Với tinh thần TradingView, tác giả của tập lệnh này đã xuất bản nó dưới dạng mã nguồn mở, vì vậy các nhà giao dịch có thể hiểu và xác minh nó. Chúc mừng tác giả! Bạn có thể sử dụng mã này miễn phí, nhưng việc sử dụng lại mã này trong một ấn phẩm chịu sự điều chỉnh của Nội quy nội bộ. Bạn có thể yêu thích nó để sử dụng nó trên biểu đồ.

Thông báo miễn trừ trách nhiệm

Thông tin và ấn phẩm không có nghĩa là và không cấu thành, tài chính, đầu tư, kinh doanh, hoặc các loại lời khuyên hoặc khuyến nghị khác được cung cấp hoặc xác nhận bởi TradingView. Đọc thêm trong Điều khoản sử dụng.

Bạn muốn sử dụng tập lệnh này trên biểu đồ?
//Created By User BrainZZ on the work of User ChrisMoody
//Last Update 17/06/2016
//new Updates include signal based on PanOptical Method by User Ichimoku_Trader

study(title="Ichimoku PanOptic TM-V1", shorttitle="PTM_Ichimoku-V1", overlay=true)
turningPeriods = input(9, minval=1, title="Tenkan-Sen")
standardPeriods = input(26, minval=1, title="Kinjun-Sen")
leadingSpan2Periods = input(52, minval=1, title="Senkou SpanB")
displacement = input(26, minval=1, title="ChinkouSpan/ SenkouSpanA")
//sts = input(true, title="Show TS (Tenkan-Sen)?")
//sks = input(true, title="Show KS (Kinjun-Sen)?")
//sll = input(true, title="Show CS (ChinkouSpan)?")
//sc = input(true, title="Show Kumo Cloud?")
sts=true
sks=true
sll=true
sc=true
cr0 = input(false, title="Show price/KS crossing?")
cr1 = input(false, title="Show TS/KS crossing?")
cr2 = input(false, title="Show KS turning Up/Down?")
cr3 = input(false, title="Show critical levels?")

//Definitions for Tenkan-Sen (9 Period), Kinjun-Sen (26 Period), Chinkou Span (Lagging Line)
donchian(len) => avg(lowest(len), highest(len))
turning = donchian(turningPeriods)
standard = donchian(standardPeriods)
leadingSpan1 = avg(turning, standard)
leadingSpan2 = donchian(leadingSpan2Periods)

//First Definition for Ability to Color Cloud based on Trend.
leadingSpan1Above = leadingSpan1 >= leadingSpan2 ? 1 : na
leadingSpan2Below = leadingSpan1 <= leadingSpan2 ? 1 : na

//Next 4 lines are code used as plots in order to Color Cloud based on Trend
span1plotU = leadingSpan1Above ? leadingSpan1 : na
span2plotU = leadingSpan1Above ? leadingSpan2 : na
span1plotD = leadingSpan2Below ? leadingSpan1 : na
span2plotD = leadingSpan2Below ? leadingSpan2 : na
col = leadingSpan1 >= leadingSpan2 ? green : red

//plots for 3 lines other than cloud.
plot(sts and turning ? turning : na, title = 'Tenkan-Sen (9 Period)', linewidth=3, transp=0, color= #ff6600)
plot(sks and standard ? standard : na, title = 'Kinjun-Sen (26 Period)', linewidth=3, transp=0, color=#ff0000)
plot(sll and close ? close : na, title='Chinkou Span (Lagging Line)', linewidth=1, offset =-displacement, transp=0, color= #0066ff)

//Cloud Lines Plot Statements - ***Regular Lines to Fill in Break in Gap
plot(sc and leadingSpan1 ? leadingSpan1 : na, title = 'SSA Cloud', style=line, linewidth=1, offset = displacement, color=col)
plot(sc and leadingSpan2 ? leadingSpan2 : na, title = 'SSB Cloud', style=line, linewidth=1, offset = displacement, color=col)

//Cloud Lines Plot Statements - ***linebr to create rules for change in Shading
p1 = plot(sc and span1plotU ? span1plotU  : na, title='SSA above SSB Cloud', style=linebr, linewidth=1, offset=displacement, color=col)
p2 = plot(sc and span2plotU ? span2plotU  : na, title='SSB below SSA Cloud', style=linebr, linewidth=1, offset=displacement, color=col)
p3 = plot(sc and span1plotD ? span1plotD  : na, title='SSA below SSB Cloud', style=linebr, linewidth=1, offset=displacement, color=col)
p4 = plot(sc and span2plotD ? span2plotD  : na, title='SSB above SSA Cloud', style=linebr, linewidth=1, offset=displacement, color=col)

//Fills that color cloud based on Trend.
fill(p1, p2, color=green, transp=70, title='Kumo (Cloud)')
fill(p3, p4, color=red, transp=70, title='Kumo (Cloud)')

//Crosses up/down Tenkan-Sen (9 Period) and Kinjun-Sen (26 Period) = Arrow plots at TS KS cross
crossUpTenkanKinjun = turning[1] <= standard[1] and turning > standard ? 1 : 0
crossDnTenkanKinjun = turning[1] >= standard[1] and turning < standard ? 1 : 0
cupA = crossUpTenkanKinjun == 1 ? crossUpTenkanKinjun : 0
cdnB = crossDnTenkanKinjun == 1 ? crossDnTenkanKinjun : 0
plotshape(cr1 and cupA ? cupA : na, title="CrossUp TS/KS Entry Arrow", style=shape.triangleup,location=location.belowbar, color=green, transp=0, size=size.small)
plotshape(cr1 and cdnB*-1 ? cdnB*-1 : na, title="CrossDn TS/KS Entry Arrow", style=shape.triangledown,location=location.abovebar, color=red, transp=0, size=size.small)

//Spot price reversal = Arrow plots at price crossing KS
crossUpKS = standard <= close and close[1] <= standard[1] ? 1 : 0
crossDnKS = standard >= close and close[1] >= standard[1] ? 1 : 0
cup = crossUpKS == 1 ? crossUpKS : 0
cdn = crossDnKS == 1 ? crossDnKS : 0
plotshape(cr0 and cup ? cup : na, title="CrossUp KS Entry Arrow", style=shape.triangleup,location=location.belowbar, color=green, transp=0, size=size.tiny)
plotshape(cr0 and cdn*-1 ? cdn*-1 : na, title="CrossDn TS Entry Arrow", style=shape.triangledown,location=location.abovebar, color=red, transp=0, size=size.tiny)

//Changing in KS as trend signal = Arrow plots on KS turn
KSturnup = rising(standard,1)==1 ? 1 : 0
KSturndown = falling(standard,1)==1 ? -1 : 0
KupA = KSturnup == 1 ? 1 : KSturndown==0 and barssince(KSturnup==1)<26 and turning>standard ? 1 : 0
KdnB = KSturndown == -1 ? -1 : KSturnup==0 and barssince(KSturndown==-1)<26 and turning<standard ? -1 : 0
plotshape(cr2 and KupA ? KupA : na, title="KS Up Arrow", style=shape.triangleup,location=location.bottom, color=green, transp=0, size=size.tiny)
plotshape(cr2 and KdnB ? KdnB : na, title="KS Down Arrow", style=shape.triangledown,location=location.top, color=red, transp=0, size=size.tiny)

//Critical levels based on previous Highs and Lows
Mhigh = security(tickerid, 'M', high) 
MpH = pivothigh(Mhigh,0,0)
Mlow = security(tickerid, 'M', low)
Whigh = security(tickerid, 'W', high) 
Wlow = security(tickerid, 'W', low)
Dhigh = security(tickerid, 'D', high) 
Dlow = security(tickerid, 'D', low)
//plot(Mhigh, title="M_High",style=circles, color=black, linewidth=2) 
//plot(Mlow, title="M_Low",style=circles, color=black, linewidth=2) 
//plot(Whigh, title="M_High",style=circles, color=black, linewidth=2) 
//plot(Wlow, title="M_Low",style=circles, color=black, linewidth=2) 
//plot(Dhigh, title="M_High",style=circles, color=black, linewidth=2) 
//plot(Dlow, title="M_Low",style=circles, color=black, linewidth=2) 

uSSBdev=dev(highest(52),52)?na:highest(52)
upSSB=fixnan(uSSBdev)
lSSBdev=dev(lowest(52),52)?na:lowest(52)
lowSSB=fixnan(lSSBdev)

uKSdev=dev(highest(26),26)?na:highest(26)
upKS=fixnan(uKSdev)
lKSdev=dev(lowest(26),26)?na:lowest(26)
lowKS=fixnan(lKSdev)

uTSdev = dev(highest(9),9)?na:highest(9)
upTS = fixnan(uTSdev)
lTSdev = dev(lowest(9),9)?na:lowest(9)
lowTS = fixnan(lTSdev)

plot(cr3 and upSSB?upSSB:na,style=circles,color=black,linewidth=2,offset=-52)
plot(cr3 and lowSSB?lowSSB:na,style=circles,color=black,linewidth=2,offset=-52)
plot(cr3 and upKS?upKS:na,style=circles,color=red,linewidth=2,offset=-26)
plot(cr3 and lowKS?lowKS:na,style=circles,color=red,linewidth=2,offset=-26)
plot(cr3 and upTS?upTS:na,style=circles,color=orange,linewidth=2,offset=-9)
plot(cr3 and lowTS?lowTS:na,style=circles,color=orange,linewidth=2,offset=-9)