답변완료
수식 전환 부탁드립니다
지표 수식 2개 변환부탁드립니다
감사합니다
study("Volatility Stop", "VStop", overlay=true, resolution="")
length = input(20, "Length", minval = 2)
src = input(close, "Source")
factor = input(2.0, "Multiplier", minval = 0.25, step = 0.25)
Barcolor=input(true)
volStop(src, atrlen, atrfactor) =>
var max = src
var min = src
var uptrend = true
var stop = 0.0
atrM = nz(atr(atrlen) * atrfactor, tr)
max := max(max, src)
min := min(min, src)
stop := nz(uptrend ? max(stop, max - atrM) : min(stop, min + atrM), src)
uptrend := src - stop >= 0.0
if uptrend != nz(uptrend[1], true)
max := src
min := src
stop := uptrend ? max - atrM : min + atrM
[stop, uptrend]
[vStop, uptrend] = volStop(src, length, factor)
plot(vStop, "Volatility Stop", color= uptrend ? #007F0E : #872323,linewidth=2)
colors=iff(close>vStop,#008000,iff(close<vStop,#FF0000,color.black))
barcolor(Barcolor ? colors :na)
Buy=crossover(close,vStop)
Sell=crossunder(close,vStop)
plotshape(Buy,"BUY", shape.labelup, location.belowbar, color.green, text="BUY",textcolor=color.black)
plotshape(Sell,"SELL", shape.labeldown, location.abovebar, color.red, text="SELL",textcolor=color.black)
alertcondition(Buy, "Buy Signal", "Buy ATR Trailing Stop")
alertcondition(Sell, "Sell Signal", "Sell ATR Trailing Stop")
2번째 수식입니다
tudy("Braid Filter")
//-- Inputs
maType = input("EMA", "MA Type", options = ["EMA", "DEMA", "TEMA", "WMA", "VWMA", "SMA", "SMMA", "HMA", "LSMA", "Kijun", "McGinley", "RMA"])
Period1 = input(3, "Period 1")
Period2 = input(7, "Period 2")
Period3 = input(14, "Period 3")
PipsMinSepPercent = input(40)
//-- Moving Average
ma(type, src, len) =>
float result = 0
if type=="SMA" // Simple
result := sma(src, len)
if type=="EMA" // Exponential
result := ema(src, len)
if type=="DEMA" // Double Exponential
e = ema(src, len)
result := 2 * e - ema(e, len)
if type=="TEMA" // Triple Exponential
e = ema(src, len)
result := 3 * (e - ema(e, len)) + ema(ema(e, len), len)
if type=="WMA" // Weighted
result := wma(src, len)
if type=="VWMA" // Volume Weighted
result := vwma(src, len)
if type=="SMMA" // Smoothed
w = wma(src, len)
result := na(w[1]) ? sma(src, len) : (w[1] * (len - 1) + src) / len
if type == "RMA"
result := rma(src, len)
if type=="HMA" // Hull
result := wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len)))
if type=="LSMA" // Least Squares
result := linreg(src, len, 0)
if type=="Kijun" //Kijun-sen
kijun = avg(lowest(len), highest(len))
result :=kijun
if type=="McGinley"
mg = 0.0
mg := na(mg[1]) ? ema(src, len) : mg[1] + (src - mg[1]) / (len * pow(src/mg[1], 4))
result :=mg
result
//-- Braid Filter
ma01 = ma(maType, close, Period1)
ma02 = ma(maType, open, Period2)
ma03 = ma(maType, close, Period3)
max = max(max(ma01, ma02), ma03)
min = min(min(ma01, ma02), ma03)
dif = max - min
filter = atr(14) * PipsMinSepPercent / 100
//-- Plots
BraidColor = ma01 > ma02 and dif > filter ? color.green : ma02 > ma01 and dif > filter ? color.red : color.gray
plot(dif, "Braid", BraidColor, 5, plot.style_columns)
plot(filter, "Filter", color.blue, 2, plot.style_line)
bgcolor(BraidColor)
2023-04-03
1418
글번호 167878
지표
답변완료
수식변경
늘 감사합니다.
월봉으로 바꾸어 쓰다 컴이 포멧되어서 사라저 버렸내요
죄송하지만 월봉(매달 1일로 시작)으로 수식을 변경해 주세요
거듭 감사합니다.
--------------------------------------
input : 시간1(090000), Price1(100);
value1 = TimeToMinutes(stime);
if stime == 시간1 Then
var : cnt(0);
Array : O1[20](0), H1[20](0),L1[20](0),C1[20](0),
O2[20](0), H2[20](0),L2[20](0),C2[20](0),
O3[20](0), H3[20](0),L3[20](0),C3[20](0),
O4[20](0), H4[20](0),L4[20](0),C4[20](0),
O5[20](0), H5[20](0),L5[20](0),C5[20](0),
O6[20](0), H6[20](0),L6[20](0),C6[20](0),
O7[20](0), H7[20](0),L7[20](0),C7[20](0);
if stime == 시간1 Then{
O1[0] = data1(O);
H1[0] = data1(H);
L1[0] = data1(L);
for cnt = 1 to 19{
O1[cnt] = O1[cnt-1][1];
H1[cnt] = H1[cnt-1][1];
L1[cnt] = L1[cnt-1][1];
C1[cnt] = C1[cnt-1][1];
}
}
if data1(H) > H1[0] Then
H1[0] = data1(H);
if data1(L) < L1[0] Then
L1[0] = data1(L);
C1[0] = data1(C);
var1 = data1(H1[0]);
var2 = data1(L1[0]);
var3 = data1(O1[0]);
var4 = data1(C1[0]);
var5 = (var4-var3)/data1(PriceScale);
plot1(var5, "111");
if stime == 시간1 Then{
O2[0] = data2(O);
H2[0] = data2(H);
L2[0] = data2(L);
for cnt = 1 to 19{
O2[cnt] = O2[cnt-1][1];
H2[cnt] = H2[cnt-1][1];
L2[cnt] = L2[cnt-1][1];
C2[cnt] = C2[cnt-1][1];
}
}
if data2(H) > H2[0] Then
H2[0] = data2(H);
if data2(L) < L2[0] Then
L2[0] = data2(L);
C2[0] = data2(C);
var11 = data2(H2[0]);
var12 = data2(L2[0]);
var13 = data2(O2[0]);
var14 = data2(C2[0]);
var15 = (var14-var13)/data2(PriceScale);
plot2(var15, "222");
if stime == 시간1 Then{
O3[0] = data3(O);
H3[0] = data3(H);
L3[0] = data3(L);
for cnt = 1 to 19{
O3[cnt] = O3[cnt-1][1];
H3[cnt] = H3[cnt-1][1];
L3[cnt] = L3[cnt-1][1];
C3[cnt] = C3[cnt-1][1];
}
}
if data3(H) > H3[0] Then
H3[0] = data3(H);
if data3(L) < L3[0] Then
L3[0] = data3(L);
C3[0] = data3(C);
var21 = data3(H3[0]);
var22 = data3(L3[0]);
var23 = data3(O3[0]);
var24 = data3(C3[0]);
var25 = (var24-var23)/data3(PriceScale);
plot3(var25, "333");
if stime == 시간1 Then{
O4[0] = data4(O);
H4[0] = data4(H);
L4[0] = data4(L);
for cnt = 1 to 19{
O4[cnt] = O4[cnt-1][1];
H4[cnt] = H4[cnt-1][1];
L4[cnt] = L4[cnt-1][1];
C4[cnt] = C4[cnt-1][1];
}
}
if data4(H) > H4[0] Then
H4[0] = data4(H);
if data4(L) < L4[0] Then
L4[0] = data4(L);
C4[0] = data4(C);
var31 = data4(H4[0]);
var32 = data4(L4[0]);
var33 = data4(O4[0]);
var34 = data4(C4[0]);
var35 = (var34-var33)/data4(PriceScale);
plot4(var35, "444");
if stime == 시간1 Then{
O5[0] = data5(O);
H5[0] = data5(H);
L5[0] = data5(L);
for cnt = 1 to 19{
O5[cnt] = O5[cnt-1][1];
H5[cnt] = H5[cnt-1][1];
L5[cnt] = L5[cnt-1][1];
C5[cnt] = C5[cnt-1][1];
}
}
if data5(H) > H5[0] Then
H5[0] = data5(H);
if data5(L) < L5[0] Then
L5[0] = data5(L);
C5[0] = data5(C);
var41 = data5(H5[0]);
var42 = data5(L5[0]);
var43 = data5(O5[0]);
var44 = data5(C5[0]);
var45 = (var44-var43)/data5(PriceScale);
plot5(var45, "555");
if stime == 시간1 Then{
O6[0] = data6(O);
H6[0] = data6(H);
L6[0] = data6(L);
for cnt = 1 to 19{
O6[cnt] = O6[cnt-1][1];
H6[cnt] = H6[cnt-1][1];
L6[cnt] = L6[cnt-1][1];
C6[cnt] = C6[cnt-1][1];
}
}
if data6(H) > H6[0] Then
H6[0] = data6(H);
if data6(L) < L6[0] Then
L6[0] = data6(L);
C6[0] = data6(C);
var51 = data6(H6[0]);
var52 = data6(L6[0]);
var53 = data6(O6[0]);
var54 = data6(C6[0]);
var55 = (var54-var53)/data6(PriceScale);
plot6(var55, "666");
if stime == 시간1 Then{
O7[0] = data7(O);
H7[0] = data7(H);
L7[0] = data7(L);
for cnt = 1 to 19{
O7[cnt] = O7[cnt-1][1];
H7[cnt] = H7[cnt-1][1];
L7[cnt] = L7[cnt-1][1];
C7[cnt] = C7[cnt-1][1];
}
}
if data7(H) > H7[0] Then
H7[0] = data7(H);
if data7(L) < L7[0] Then
L7[0] = data7(L);
C7[0] = data7(C);
var61 = data7(H7[0]);
var62 = data7(L7[0]);
var63 = data7(O7[0]);
var64 = data7(C7[0]);
var65 = (var64-var63)/data7(PriceScale);
plot7(var65, "777");
2023-04-03
1170
글번호 167865
지표