커뮤니티
지표문의
2011-08-12 08:47:47
606
글번호 41855
문의드립니다.
아래의 수식은 일봉의 수식입니다. 구하고자 하는 값은 분봉에서 일봉의 각 plot 값 및
Value1 의 전일 마지막봉값 부탁합니다.
input : p1(2),LENGTH1(20),LENGTH2(60),LENGTH3(120),LENGTH4(240),
Period1(20),Period2(60),Period3(120),Period4(240));
var : TCHAN1(0),TCHAN2(0),TCHAN3(0),TCHAN4(0));
TCHAN1 = HIGHEST(High, LENGTH1)[1];
TCHAN2 = HIGHEST(High, LENGTH2)[1];
TCHAN3 = HIGHEST(High, LENGTH3)[1];
TCHAN4 = HIGHEST(High, LENGTH4)[1];
var1 = wma((H+L+C)/3, period1)[1]+(p1*stdw((H+L+C)/3, period1)[1]); ## c 가 아닌 (H+L+C)/3
var2 = wma((H+L+C)/3, period2)[1]+(p1*stdw((H+L+C)/3, period2)[1]);
var3 = wma((H+L+C)/3, period3)[1]+(p1*stdw((H+L+C)/3, period3)[1]);
var4 = wma((H+L+C)/3, period4)[1]+(p1*stdw((H+L+C)/3, period4)[1]);
var5 = (DayHigh+DayLow)/2; ## 당일중간값
Value1 = (TCHAN1+var1+var5)/3;
Value2 = Value1의 전일 마지막 봉
Value3 = TCHAN1 전일 마지막 봉
Plot1(TCHAN1, "pc20[1]");
Plot2(TCHAN2, "pc60[1]");
Plot3(TCHAN3, "pc120[1]");
Plot4(TCHAN4, "pc240[1]");
Plot5(var1, "bb20[1]");
Plot6(var2, "bb60[1]");
Plot7(var3, "bb120[1]");
Plot8(var4, "bb240[1]");
Plot9(Value1, "1");
Plot10(Value2, "2");
Plot11(Value3, "3");
답변 1
예스스탁 예스스탁 답변
2011-08-12 09:51:34
안녕하세요
예스스탁입니다.
각 지표의 기간이 커 지표가 계산되지 않을 수 있습니다.
input : p1(2),LENGTH1(20),LENGTH2(60),LENGTH3(120),LENGTH4(240),
Period1(20),Period2(60),Period3(120),Period4(240);
var : TCHAN1(0),TCHAN2(0),TCHAN3(0),TCHAN4(0),cnt(0);
Var : Sum1(0), Counter1(0), CSum1(0),Wma1(0),SumSqrt1(0),Std1(0);
Var : Sum2(0), Counter2(0), CSum2(0),Wma2(0),SumSqrt2(0),Std2(0);
Var : Sum3(0), Counter3(0), CSum3(0),Wma3(0),SumSqrt3(0),Std3(0);
Var : Sum4(0), Counter4(0), CSum4(0),Wma4(0),SumSqrt4(0),Std4(0);
Var : Sum5(0), Counter5(0), CSum5(0),Wma5(0),SumSqrt5(0),Std5(0);
Var : Sum6(0), Counter6(0), CSum6(0),Wma6(0),SumSqrt6(0),Std6(0);
TCHAN1 = dayhigh(1);
for cnt = 1 to LENGTH1 {
if dayhigh(cnt) > TCHAN1 Then
TCHAN1 = dayhigh(cnt);
}
TCHAN2 = dayhigh(1);
for cnt = 1 to LENGTH2 {
if dayhigh(cnt) > TCHAN2 Then
TCHAN2 = dayhigh(cnt);
}
TCHAN3 = dayhigh(1);
for cnt = 1 to LENGTH3 {
if dayhigh(cnt) > TCHAN3 Then
TCHAN3 = dayhigh(cnt);
}
TCHAN4 = dayhigh(1);
for cnt = 1 to LENGTH4 {
if dayhigh(cnt) > TCHAN4 Then
TCHAN4 = dayhigh(cnt);
}
Sum1 = 0;
CSum1 = 0;
For counter1 = 1 To Period1{
Sum1= Sum1 + ((dayhigh(counter1)+daylow(counter1)+dayclose(counter1))/3) * (Period1 - (counter1-1));
CSum1 = CSum1 + Period1 - (counter1-1);
}
WMA1 = Sum1/ CSum1;
SumSqrt1 = 0;
For Counter1 = 1 To Period1 {
SumSqrt1 = SumSqrt1 + (((dayhigh(counter1)+daylow(counter1)+dayclose(counter1))/3) - WMA1) * (((dayhigh(counter1)+daylow(counter1)+dayclose(counter1))/3) - WMA1);
}
Std1 = SquareRoot(SumSqrt1 / Period1);
Sum2 = 0; CSum2 = 0;
For counter2 = 1 To Period2{
Sum2 = Sum2 + ((dayhigh(counter2)+daylow(counter2)+dayclose(counter2))/3) * (Period2 - (counter2-1));
CSum2 = CSum2 + Period2 - (counter2-1);
}
WMA2 = Sum2/CSum2;
SumSqrt2 = 0;
For Counter2 = 1 To Period2 {
SumSqrt2 = SumSqrt2 + (((dayhigh(counter2)+daylow(counter2)+dayclose(counter2))/3) - WMA2) * (((dayhigh(counter2)+daylow(counter2)+dayclose(counter2))/3) - WMA2);
}
Std2 = SquareRoot(SumSqrt2 / Period2);
Sum3 = 0; CSum3 = 0;
For counter3 = 1 To Period3 {
Sum3 = Sum3 + ((dayhigh(counter3)+daylow(counter3)+dayclose(counter3))/3) * (Period3 - (counter3-1));
CSum3 = CSum3 + Period3 - (counter3-1);
}
WMA3 = Sum3/ CSum3;
SumSqrt3 = 0;
For Counter3 = 1 To Period3 {
SumSqrt3 = SumSqrt3 + (((dayhigh(counter3)+daylow(counter3)+dayclose(counter3))/3) - WMA3) * (((dayhigh(counter3)+daylow(counter3)+dayclose(counter3))/3) - WMA3);
}
Std3 = SquareRoot(SumSqrt3 / Period3);
Sum4 = 0;
CSum4 = 0;
For counter4 = 1 To Period4 {
Sum4 = Sum4 + ((dayhigh(counter4)+daylow(counter4)+dayclose(counter4))/3) * (Period4 - (counter4-1));
CSum4 = CSum4 + Period4 - (counter4-1);
}
WMA4 = Sum4/ CSum4;
SumSqrt4 = 0;
For Counter4 = 1 To Period4 {
SumSqrt4 = SumSqrt4 + (((dayhigh(counter4)+daylow(counter4)+dayclose(counter4))/3) - WMA4) * (((dayhigh(counter4)+daylow(counter4)+dayclose(counter4))/3) - WMA4);
}
Std4 = SquareRoot(SumSqrt4 / Period4);
var1 = Wma1+(P1*Std1);
var2 = Wma2+(P1*Std2);
var3 = Wma3+(P1*Std3);
var4 = Wma4+(P1*Std4);
var5 = (DayHigh+DayLow)/2; ## 당일중간값
Value1 = (TCHAN1+var1+var5)/3;
if date != date[1] Then{
Value2 = Value1[1];
Value3 = TCHAN1[1];
}
Plot1(TCHAN1, "pc20[1]");
Plot2(TCHAN2, "pc60[1]");
Plot3(TCHAN3, "pc120[1]");
Plot4(TCHAN4, "pc240[1]");
Plot5(var1, "bb20[1]");
Plot6(var2, "bb60[1]");
Plot7(var3, "bb120[1]");
Plot8(var4, "bb240[1]");
Plot9(Value1, "1");
Plot10(Value2, "2");
Plot11(Value3, "3");
즐거운 하루되세요
> 맥스 님이 쓴 글입니다.
> 제목 : 지표문의
> 문의드립니다.
아래의 수식은 일봉의 수식입니다. 구하고자 하는 값은 분봉에서 일봉의 각 plot 값 및
Value1 의 전일 마지막봉값 부탁합니다.
input : p1(2),LENGTH1(20),LENGTH2(60),LENGTH3(120),LENGTH4(240),
Period1(20),Period2(60),Period3(120),Period4(240));
var : TCHAN1(0),TCHAN2(0),TCHAN3(0),TCHAN4(0));
TCHAN1 = HIGHEST(High, LENGTH1)[1];
TCHAN2 = HIGHEST(High, LENGTH2)[1];
TCHAN3 = HIGHEST(High, LENGTH3)[1];
TCHAN4 = HIGHEST(High, LENGTH4)[1];
var1 = wma((H+L+C)/3, period1)[1]+(p1*stdw((H+L+C)/3, period1)[1]); ## c 가 아닌 (H+L+C)/3
var2 = wma((H+L+C)/3, period2)[1]+(p1*stdw((H+L+C)/3, period2)[1]);
var3 = wma((H+L+C)/3, period3)[1]+(p1*stdw((H+L+C)/3, period3)[1]);
var4 = wma((H+L+C)/3, period4)[1]+(p1*stdw((H+L+C)/3, period4)[1]);
var5 = (DayHigh+DayLow)/2; ## 당일중간값
Value1 = (TCHAN1+var1+var5)/3;
Value2 = Value1의 전일 마지막 봉
Value3 = TCHAN1 전일 마지막 봉
Plot1(TCHAN1, "pc20[1]");
Plot2(TCHAN2, "pc60[1]");
Plot3(TCHAN3, "pc120[1]");
Plot4(TCHAN4, "pc240[1]");
Plot5(var1, "bb20[1]");
Plot6(var2, "bb60[1]");
Plot7(var3, "bb120[1]");
Plot8(var4, "bb240[1]");
Plot9(Value1, "1");
Plot10(Value2, "2");
Plot11(Value3, "3");