예스스탁
예스스탁 답변
2021-05-21 13:42:19
안녕하세요
예스스탁입니다.
이전에 답변드린 지그재그 수식에 해당 내용 추가해 드립니다.
식작성에 참고하시기 바랍니다.
Input : length(10);
Var : j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0);
var : T(0),ww(0),s(0),UPcond(False),Dncond(False);
Array:고[10,4](0),저[10,4](0);
HH = H;
LL = L;
If Index == 0 Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;
Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,RED);
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
}
최종꼭지점 = "고점";
}
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetSize(TL1,1);
TL_SetColor(TL1,BLUE);
}
Else If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
}
최종꼭지점 = "저점";
}
var : cnt(0),ii(0);
var : 거래량비(0),거래량평균비(0),기울기비(0);
Array : SumV[20](0),avgV[20](0),R[20](0);
if T != T[1] Then
{
if T == 1 Then
{
SumV[0] = 0;
ii = 0;
For cnt = Index-저[1,2] to Index-고[2,2]
{
SumV[0] = SumV[0] + v[cnt];
ii = ii + 1;
}
avgV[0] = sumV[0]/ii;
R[0] = abs(C[Index-저[1,2]]-C[Index-고[2,2]])/ii;
}
if T == -1 Then
{
SumV[0] = 0;
ii = 0;
For cnt = Index-고[1,2] to Index-저[2,2]
{
SumV[0] = SumV[0] + v[cnt];
ii = ii + 1;
}
avgv[0] = sumV[0]/ii;
R[0] = abs(C[Index-고[1,2]]-C[Index-저[2,2]])/ii;
}
For cnt = 1 to 19
{
SumV[cnt] = SumV[cnt-1][1];
avgV[cnt] = avgV[cnt-1][1];
R[cnt] = R[cnt-1][1];
}
var1 = SumV[2];
var2 = avgV[2];
Var3 = SumV[0];
Var4 = avgV[0];
Var5 = R[2];
Var6 = R[0];
거래량비 = var1/var3;
거래량평균비 = var2/var4;
기울기비 = var5/var6;
}
Plot1(거래량비);
Plot2(거래량평균비);
Plot3(기울기비);
즐거운 하루되세요
> 에구머니 님이 쓴 글입니다.
> 제목 : 수식 문의
> 안녕하세요?
주말로 넘어가는 길에
수식 부탁드립니다.
감사합니다.