커뮤니티
부탁합니다
아래수식에서 상하밴드의 중간선이 나올수있게 부탁합니다.
(중간선의 색상을 상승하락으로 구분할수 있게 부탁합니다)
또하나 가상선의 선굵기를 속성에서 변경헐수 있도록 부탁합니다.
* 글을 수정하니 칸바뀜없이 이상하게 되어버립니다.
input : len(88),mult(2.0);
input : cu(cyan),cl(cyan);
input : dashed(false);
input : transp(true);
var : src(0),crr(0),k(0),sum(0),i(0),dev(0);
var : nmid(0),nupper(0),nlower(0);
var : upper(0),lower(0);
Array : dizii[500](0);
src = (h+l+c)/3;
Function cr Numeric
input : x(Numeric),y(Numeric);
var : z(0),weight(0),i(0);
z = 0.0;
weight = 0.0;
for i = 0 to y - 1 step 1
{
z = z + x[i] * ((y - 1) / 2 + 1 -abs(i - (y - 1) / 2));
}
cr = z / ((y + 1) / 2 * (y + 1) / 2);
EndFunction
crr = cr(src, 2 * len - 1);
for k = 0 to len - 1 step 1
{
sum = 0.0;
for i = 0 to 2 * len - 2 - k step 1
{
sum = sum + (len - abs(len - 1 - k - i)) * src[i] / (len * len - k * (k + 1) / 2);
}
dizii[k] = sum;
}
dev = mult * std(src, len);
nmid = wma(src, len);
nupper = nmid + wma(dev,len);
nlower = nmid - wma(dev,len);
upper = crr + cr(dev, 2 * len - 1);
lower = crr - cr(dev, 2 * len - 1);
plot1(lower,"lowr",cl);
plot2(upper,"upper",cu);
FixPlotShift(1,1 - len);
FixPlotShift(2,1 - len);
var : d(0),tra(0);
d = iff(dashed , 2 , 1);
tra = iff(transp , 1 , 0);
Array : diz[500](0),lin[500](0),diz2[500](0),lin2[500](0);
var : dv(0);
if index > len Then
{
For i = 0 to 499
{
TL_Delete(lin[i]);
TL_Delete(lin2[i]);
}
for k = 0 to len - 1 step 1
{
sum = 0.0;
dv = 0.0;
for i = 0 to 2 * len - 2 - k step 1
{
sum = sum + (len - abs(len - 1 - k - i)) * src[i] / (len * len - k * (k + 1) / 2);
dv = dv + (len - abs(len - 1 - k - i)) * dev[i] / (len * len - k * (k + 1) / 2);
}
diz[k] = sum + dv;
diz2[k] = sum - dv;
}
for i = 0 to len / d - 2 step 1
{
var1 = index + i * d + 1 - len;
var2 = index + i * d + 2 - len;
lin[i] = TL_new(sDate[Index-var1],sTime[Index-var1],diz[i*d],sDate[Index-var2],sTime[Index-var2],diz[i * d + 1]);
TL_SetColor(lin[i],cu);
var3 = index + i * d + 1 - len;
var4 = index + i * d + 2 - len;
lin2[i] = TL_new(sDate[Index-var3],sTime[Index-var3],diz2[i*d],sDate[Index-var4],sTime[Index-var4],diz2[i * d + 1]);
TL_SetColor(lin2[i],cl);
}
}
답변 1
예스스탁 예스스탁 답변
2025-11-24 09:14:27