PoshTrader

Value Chart [TMC]

11370 lượt xem
1249
*** April 20, 2015 - NEW UPDATE ***
Added classic color scheme and additional lines. Updated source: http://pastebin.com/C5f8wxdP

April 10, 2015 - Updated version of Value Chart - candles draw correctly now.
Requires cover layer to be set as same color as your background. (white in default)

I hope you will enjoy it. :)
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 đồ.

Bạn muốn sử dụng tập lệnh này trên biểu đồ?
//Created by TheMightyChicken
//Based on LazyBear's Value Chart
study("Value Chart [TheMightyChicken]", shorttitle="VC")
// Inputs
length = input(5, title="Number of bars")
extTop = input(8, title="Extreme level top")
extBot = input(-8, title="Extreme level bottom")
// Value Chart Calculations
prev(s,i) => 
    y=abs(round(i))
    s[y]
varp = round(length/5)
h_f = length > 7
vara=h_f ? highest(high,varp)-lowest(low,varp) : 0
varr1 = h_f ? iff(vara==0 and varp==1,abs(close-prev(close,-varp)),vara) : 0
varb=h_f ? prev(highest(high,varp),-varp+1)-prev(lowest(low,varp),-varp) : 0
varr2 = h_f ? iff(varb==0 and varp==1,abs( prev(close,-varp)-prev(close,-varp*2) ),varb) : 0
varc=h_f ? prev(highest(high,varp),-varp*2)-prev(lowest(low,varp),-varp*2) : 0
varr3 = h_f ? iff(varc == 0 and varp==1,abs(prev(close,-varp*2)-prev(close,-varp*3)),varc) : 0
vard = h_f ? prev(highest(high,varp),-varp*3)-prev(lowest(low,varp),-varp*3) : 0
varr4 = h_f ? iff(vard == 0 and varp==1,abs(prev(close,-varp*3)-prev(close,-varp*4)),vard)  : 0
vare = h_f ? prev(highest(high,varp),-varp*4)-prev(lowest(low,varp),-varp*4) : 0
varr5 = h_f ? iff(vare == 0 and varp==1,abs(prev(close,-varp*4)-prev(close,-varp*5)),vare) : 0
cdelta = abs(close - prev(close,-1))
var0 = (not h_f) ? iff((cdelta > (high-low)) or (high==low),cdelta,(high-low)) : 0
lrange=h_f ? ((varr1+varr2+varr3+varr4+varr5)/5)*.2 : sma(var0,5)*.2
mba = sma( (high+low)/2,length)
vOpen = (open-mba)/lrange
vClose = (close-mba)/lrange
vHigh = (high-mba)/lrange
vLow = (low-mba)/lrange
// Body Calculations
bodyHigh = vOpen>vClose ? vOpen : vClose
bodyLow = vOpen<vClose ? vOpen : vClose
body0 = (vOpen>0 and vClose>0) or (vOpen>0 and vClose<0) ? bodyHigh : (vOpen<0 and vClose<0) or (vOpen<0 and vClose>0) ? bodyLow : 0
body1 = vOpen<0 and vClose>0 ? bodyHigh : vOpen>0 and vClose<0 ? bodyLow : 0
bodyCover = vOpen>0 and vClose>0 ? bodyLow : vOpen<0 and vClose<0 ? bodyHigh : 0
// Wick Calculations
wick0 = vHigh>0 ? vHigh : vLow
wick1 = vHigh>0 and vLow<0 ? vLow : vHigh
wickCover = vHigh>0 and vLow>0 ? vLow : vHigh<0 and vLow<0 ? vHigh : 0
// Plots
vcolor = vClose>extTop ? lime : vClose<extBot ? red : silver
top_l = plot(extTop, title="Extreme Top Line", color=silver)
bot_l = plot(extBot, title="Extreme Bottom Line", color=silver)
fill(top_l, bot_l, black, transp=95)
plot(body0, linewidth=3, color=vcolor, style=histogram)
plot(body1, linewidth=3, color=vcolor, style=histogram)
plot(bodyCover, linewidth=3, color=white, style=histogram)
plot(wick0, linewidth=1, color=vcolor, style=histogram)
plot(wick1, linewidth=1, color=vcolor, style=histogram)
plot(wickCover, linewidth=1, color=white, style=histogram)