안녕하세요,
지표 수식을 작성했는데 오류가 많이 떠서 문의드립니다.
input : alpha(0.07), len(12);
Var : var1[0], var2[0], var3[0], var4[0], var5[0], var6[0], var7[0], var8[0], var9[0], var10[0];
var7=0;
If len == 0 Then var1 = (high + low)/2
Else var1 == (high + low)/2 - ma((high + low)/2, len)
End If
var2 = (var1 + 2*var1(1) + 2*var1(2) + var1(3))/6;
var3 = ((1 - 0.5 * alpha)^2)*(var2 - 2*var2(1) + var2(2)) + 2*(1 - alpha)*var3(1) - ((1 - alpha)^2)*var3(2);
If CurrentBar <7 Then var3 = (var - 2*var(1) + var(2))/4;
var4 = (0.0962*var3 + 0.5769*var3(2) - 0.5769*var3(4) - 0.0962*var3(6))*(0.5 + 0.8*var7(1));
var5 = var3(3);
If var4 <> 0 And var4(1) <> 0 Then var6 = (var5/var4 - var5(1)/var4(1))/(1 + var5*var5(1)/(var4*var4(1)));
If var6 < 0 Then var6 = var6(1);
If var6 > 1.1 Then var6 = 1.1;
var8=0;
var9=0;
For i = 0 To 40;
var8 = var9 + var6;
If var8 >= 6.28318 And var9 < 6.28318 Then var10 = i + 1;
var9 = var8;
Next
var7 = 0.2*var10 + 0.8*var7(1);
Call ploti1("period",var7);
답변 1
예스스탁
예스스탁 답변
2021-03-17 09:42:40
안녕하세요
예스스탁입니다.
올리신 수식은 저희 랭귀지 문법이 아닙니다.
If CurrentBar <7 Then var3 = (var - 2*var(1) + var(2))/4;
수식내에 위와 같이 내용을 알수 없는 부분들도 있습니다.
var가 어떤 값인지 알수 없습니다.
위 부분 제외하고 예스랭귀지 문법에 맞게 변경해 드립니다.
해당 내용은 값확인하시고 직접 수정하시기 바랍니다.
input : alpha(0.07), len(12);
Var : var1(0), var2(0), var3(0), var4(0), var5(0), var6(0), var7(0), var8(0), var9(0), var10(0),i(0);
var7=0;
If len == 0 Then
var1 = (high + low)/2 ;
Else
var1 = (high + low)/2 - ma((high + low)/2, len);
var2 = (var1 + 2*var1[1] + 2*var1[2] + var1[3])/6;
if CurrentBar >= 1 Then
var3 = ((1 - 0.5 * alpha)^2)*(var2 - 2*var2[1] + var2[2]) + 2*(1 - alpha)*var3[1] - ((1 - alpha)^2)*var3[2];
/*If CurrentBar <7 Then var3 = (var - 2*var(1) + var(2))/4;*/
var4 = (0.0962*var3 + 0.5769*var3[2] - 0.5769*var3[4] - 0.0962*var3[6])*(0.5 + 0.8*var7[1]);
var5 = var3[3];
If var4 <> 0 And var4[1] <> 0 Then var6 = (var5/var4 - var5[1]/var4[1])/(1 + var5*var5[1]/(var4*var4[1]));
If var6 < 0 Then var6 = var6[1];
If var6 > 1.1 Then var6 = 1.1;
var8=0;
var9=0;
For i = 0 To 40
{
var8 = var9 + var6;
If var8 >= 6.28318 And var9 < 6.28318 Then
var10 = i + 1;
var9 = var8;
}
var7 = 0.2*var10 + 0.8*var7[1];
plot1(var7,"period");
즐거운 하루되세요
> thecool 님이 쓴 글입니다.
> 제목 : 지표수식 문의드립니다
> 안녕하세요,
지표 수식을 작성했는데 오류가 많이 떠서 문의드립니다.
input : alpha(0.07), len(12);
Var : var1[0], var2[0], var3[0], var4[0], var5[0], var6[0], var7[0], var8[0], var9[0], var10[0];
var7=0;
If len == 0 Then var1 = (high + low)/2
Else var1 == (high + low)/2 - ma((high + low)/2, len)
End If
var2 = (var1 + 2*var1(1) + 2*var1(2) + var1(3))/6;
var3 = ((1 - 0.5 * alpha)^2)*(var2 - 2*var2(1) + var2(2)) + 2*(1 - alpha)*var3(1) - ((1 - alpha)^2)*var3(2);
If CurrentBar <7 Then var3 = (var - 2*var(1) + var(2))/4;
var4 = (0.0962*var3 + 0.5769*var3(2) - 0.5769*var3(4) - 0.0962*var3(6))*(0.5 + 0.8*var7(1));
var5 = var3(3);
If var4 <> 0 And var4(1) <> 0 Then var6 = (var5/var4 - var5(1)/var4(1))/(1 + var5*var5(1)/(var4*var4(1)));
If var6 < 0 Then var6 = var6(1);
If var6 > 1.1 Then var6 = 1.1;
var8=0;
var9=0;
For i = 0 To 40;
var8 = var9 + var6;
If var8 >= 6.28318 And var9 < 6.28318 Then var10 = i + 1;
var9 = var8;
Next
var7 = 0.2*var10 + 0.8*var7(1);
Call ploti1("period",var7);