커뮤니티

지표수식 문의드립니다

프로필 이미지
thecool
2021-03-16 16:27:52
780
글번호 147146
답변완료
안녕하세요, 지표 수식을 작성했는데 오류가 많이 떠서 문의드립니다. 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);