커뮤니티
함수문의
2019-08-14 15:18:22
205
글번호 131164
안녕하세요?
가격&BOX 차트 지표를 예스랭귀지로 작성 부탁드립니다.
감사합니다.
<< BOX 챠트 계산방법>>
ma = n 일 이동평균
upper = (종가 - ma) 가 양인 값들로 이루어진 배열(오른 날을 nPlus)
lower = (종가 - ma) 가 음인 값들의 배열(내린 날을 nMinus)
upperMean = upper의 nPlus 평균
lowerMean = lower의 nMinus 평균
upperstd = upper의 nPlus 표준편차
lowerstd = lower의 nMinus 표준편차
box 챠트의 상위선 = ma + upperMean + (2 * upperstd)
box 챠트의 하위선 = ma + upperbox 챠트의 하위선 = ma + lowerMean - (2 * lowerstd)
답변 1
예스스탁 예스스탁 답변
2019-08-16 10:34:01
안녕하세요
예스스탁입니다.
input: maPeriod(20), stddevPeriod(300);
VAR : UPPERSUM(0), UpperNum(0),ii(0),LowerSum(0), LowerNum(0);
If index >= MAPeriod - 1 then {
Var1 = ma(close, MAPeriod);
Var2 = close - Var1;
If Var2 >= 0 then {
Var3 = Var2; //upper
Var7 = 0; //lower //0//값 입력
Var4 = Var4 + Var3; //upper의 합
Var5 = Var5 + 1; //nPlus
}
If Var2 < 0 then {
Var7 = Var2; //lower
Var3 = 0 ;//upper //0//값 입력
Var8 = Var8 + Var7; //lower의 합
Var9 = Var9 + 1; //nMinus
}
If index >= StdDevPeriod - 1 then {
If index > StdDevPeriod - 1 then {
UpperSum = Var4 - Var4[StdDevPeriod];
UpperNum = Var5 - Var5[StdDevPeriod];
Var6 = UpperSum / UpperNum; //upperMean
}
Else
Var6 = Var4 / Var5; //upperMean
Var11 = 0;
For ii = index - StdDevPeriod + 1 To index {
If Var3[ii] <> 0 then {
Var11 = Var11 + (Var6 - Var3[ii]) ^ 2;
}
}
If index == StdDevPeriod - 1 then
Var11 = sqrt(Var11 / Var5); //upperstd
Else
Var11 = sqrt(Var11 / UpperNum); //upperstd
If index > StdDevPeriod - 1 then {
LowerSum = Var8 - Var8[StdDevPeriod];
LowerNum = Var9 - Var9[StdDevPeriod];
Var10 = LowerSum / LowerNum; //lowerMean
}
Else
Var10 = Var8 / Var9; //lowerMean
Var12 = 0;
For ii = index - StdDevPeriod + 1 To index {
If Var7[ii] <> 0 then
Var12 = Var12 + (Var10 - Var7[ii]) ^ 2;
}
If index == StdDevPeriod - 1 then
Var12 = sqrt(Var12 / Var9); //upperstd
Else
Var12 = sqrt(Var12 / LowerNum); //upperstd
Plot1(Var1 + Var6 + (2 * Var11),"upperLine" );
Plot2(Var1 + Var10 - (2 * Var12),"lowerLine");
Plot3(Var1,"MA");
}
}
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수문의
> 안녕하세요?
가격&BOX 차트 지표를 예스랭귀지로 작성 부탁드립니다.
감사합니다.
<< BOX 챠트 계산방법>>
ma = n 일 이동평균
upper = (종가 - ma) 가 양인 값들로 이루어진 배열(오른 날을 nPlus)
lower = (종가 - ma) 가 음인 값들의 배열(내린 날을 nMinus)
upperMean = upper의 nPlus 평균
lowerMean = lower의 nMinus 평균
upperstd = upper의 nPlus 표준편차
lowerstd = lower의 nMinus 표준편차
box 챠트의 상위선 = ma + upperMean + (2 * upperstd)
box 챠트의 하위선 = ma + upperbox 챠트의 하위선 = ma + lowerMean - (2 * lowerstd)
다음글
이전글