커뮤니티
아래의 트레이디이뷰 수식을 변환부탁드립니다.
2025-10-22 22:09:39
217
글번호 227196
/@version=6
indicator("Dynamic Deviation Levels [BigBeluga]", overlay = true, max_labels_count = 500)
// INPUTS ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{
int len = input.int(50)
float mult = input.float(3)
color col_up1 = input.color(#85C1FF, "", inline = "c")
color col_up2 = input.color(#4FA3F2, "", inline = "c")
color col_up3 = input.color(#3182DE, "", inline = "c")
color col_up4 = input.color(#164F96, "", inline = "c")
color col_dn1 = input.color(#FF8A64, "", inline = "cc")
color col_dn2 = input.color(#F26947, "", inline = "cc")
color col_dn3 = input.color(#DE5731, "", inline = "cc")
color col_dn4 = input.color(#A13A20, "", inline = "cc")
bool show_dev = input.bool(false, "Deviation Levels")
color color_na = #363a4500
color mid_line = color.new(chart.fg_color, 50)
// }
// CALCULATIONS――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{
atr = ta.atr(200)
mid = ta.hma(ta.median(hl2, len*2), 10)
stdv_lbl(condition, src, mid, txt, color, side = true)=>
cond = condition
bars = ta.barssince(cond)
if cond and barstate.isconfirmed and bars[1] > 20
label.new(bar_index-1, src, txt, style = side ? label.style_label_lower_right : label.style_label_upper_right, textcolor = color.black, color = color, tooltip = txt + " Stdev")
line.new(bar_index-1, mid[1], bar_index-1, hl2[1], color = chart.fg_color, style = line.style_dashed)
mid_1 = mid - atr * mult * 1
mid_2 = mid - atr * mult * 2
mid_3 = mid - atr * mult * 3
mid1 = mid + atr * mult * 1
mid2 = mid + atr * mult * 2
mid3 = mid + atr * mult * 3
mid1_cond = ta.crossover(low, mid1)
mid2_cond = ta.crossover(low, mid2)
mid3_cond = ta.crossover(low, mid3)
mid_1_cond = ta.crossunder(high, mid_1)
mid_2_cond = ta.crossunder(high, mid_2)
mid_3_cond = ta.crossunder(high, mid_3)
// }
// PLOT ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{
colorUp = (close > mid3 ? col_up1 : close > mid2 ? col_up2 : close > mid1 ? col_up3 : close > mid ? col_up4 : na)
colorDn = (close < mid_3 ? col_dn1 : close < mid_2 ? col_dn2 : close < mid_1 ? col_dn3 : close < mid ? col_dn4 : na)
color_ = close > mid ? colorUp : colorDn
scoreUp = (close > mid3 ? 3 : close > mid2 ? 2 : close > mid1 ? 1 : close > mid ? 0 : na)
scoreDn = (close < mid_3 ? -3 : close < mid_2 ? -2 : close < mid_1 ? -1 : close < mid ? 0 : na)
score_ = close > mid ? scoreUp : scoreDn
color = color.new(chart.fg_color, show_dev ? 70 : 100)
plot(mid_1, color = color, linewidth = 2)
plot(mid_2, color = color, linewidth = 3)
plot(mid_3, color = color, linewidth = 4)
plot(mid, "", color = chart.fg_color, linewidth = 1)
plot(mid1, color = color, linewidth = 2)
plot(mid2, color = color, linewidth = 3)
plot(mid3, color = color, linewidth = 4)
stdv_lbl(mid1_cond, mid1, mid, "1", color_)
stdv_lbl(mid2_cond, mid2, mid, "2", color_)
stdv_lbl(mid3_cond, mid3, mid, "3", color_)
stdv_lbl(mid_1_cond, mid_1, mid, "-1", color_, false)
stdv_lbl(mid_2_cond, mid_2, mid, "-2", color_, false)
stdv_lbl(mid_3_cond, mid_3, mid, "-3", color_, false)
if barstate.islast
var dash = table.new(position.bottom_right, 60, 60)
for i = 1 to 20
table.cell(dash, i, 0)
table.cell(dash
, score_ == 3 ? 1 : score_ == 2 ? 5 : score_ == 1 ? 8 : score_ == -1 ? 13 : score_ == -2 ? 16 : score_ == -3 ? 20 : 10
, 0
, text = "▼"
, width = 0.5
, text_color = chart.fg_color
)
table.cell(dash, i, 1, width = 0.5
, text_color = color.black
, bgcolor = i <= 10
? color.from_gradient(i, 0, 20, col_up1, color.new(col_up4, 50))
: color.from_gradient(i, 0, 20, color.new(col_dn4, 50), col_dn1)
)
table.cell(dash, i, 2
, text =
i == 1 ? "3"
: i == 5 ? "2"
: i == 8 ? "1"
: i == 13 ? "-1"
: i == 16 ? "-2"
: i == 20 ? "-3"
: ""
, width = 0.5
, text_color = chart.fg_color
)
plotcandle(open, high, low, close, title='Color Candles', color = color_, wickcolor=color_, bordercolor = color_)
barcolor(color_)
// }
DynamicDeviationLevelsHull
지표
답변 1
예스스탁 예스스탁 답변
2025-10-23 11:19:06
안녕하세요
예스스탁입니다.
하단에 표시되는 내용은 작성해 드리기 어렵습니다.
선그래프만 표시되게 작성해 드립니다.
input : len(50),mult(3);
input : col_up1(Cyan);
input : col_up2(lightBlue);
input : col_up3(Blue);
input : col_up4(darkBlue);
input : col_dn1(pink);
input : col_dn2(LightRed);
input : col_dn3(Red);
input : col_dn4(DarkRed);
var : hl2(0),alpha(0),atr(0),mid(0);
var : mid_1(0),mid_2(0),mid_3(0),mid_1_cond(False),mid_2_cond(False),mid_3_cond(False);
var : mid1(0),mid2(0),mid3(0),mid1_cond(False),mid2_cond(False),mid3_cond(False);
var : colorUp(0),colorDn(0),color_(0);
Array : vv[200](0);
hl2 = (h+l)/2;
alpha = 1 / 200 ;
ATR = IFf(IsNan(ATR[1]) == true, ma(TrueRange,20) , alpha * TrueRange + (1 - alpha) * IFf(isnan(ATR[1])==true,0,ATR[1]));
InsertArray(vv,0,hl2);
var1 = MedianArray(vv,len*2);
mid = wma(2 * wma(var1, 10 / 2) - wma(var1, 10), round(sqrt(01),0));
mid_1 = mid - atr * mult * 1;
mid_2 = mid - atr * mult * 2;
mid_3 = mid - atr * mult * 3;
mid1 = mid + atr * mult * 1;
mid2 = mid + atr * mult * 2;
mid3 = mid + atr * mult * 3;
mid1_cond = CrossUp(low, mid1);
mid2_cond = CrossUp(low, mid2);
mid3_cond = CrossUp(low, mid3);
mid_1_cond = CrossDown(high, mid_1);
mid_2_cond = CrossDown(high, mid_2);
mid_3_cond = CrossDown(high, mid_3);
colorUp = IFf(close > mid3 , col_up1 , iff(close > mid2 , col_up2 , iff(close > mid1 , col_up3 , iff(close > mid , col_up4 , Black))));
colorDn = IFf(close < mid_3 , col_dn1 , iff(close < mid_2 , col_dn2 , iff(close < mid_1 , col_dn3 , iff(close < mid , col_dn4 , Black))));
color_ = iff(close > mid , colorUp , colorDn);
if mid > 0 Then
{
plot1(mid_1,"-1",color_);
plot2(mid_2,"-2",color_);
plot3(mid_3,"-3",color_);
plot4(mid, "mid",color_);
plot5(mid1,"+1",color_);
plot6(mid2,"+2",color_);
plot7(mid3,"+3",color_);
}
즐거운 하루되세요