분봉을 이용하였을때
장이 시작되면 초기화되고
최근 5개(Input으로 최적화시키게) 봉 중에서 양봉인 경우 위꼬리(H-C)를 저장, 음봉인경우 아래꼬리(C-L)를 저장
양봉개수만큼 위꼬리들을 더하고, 음봉개수만큼 아래꼬리들을 더하고 싶습니다.
Input : CountMax(4);
Var : Count(0), HighTail(0), LowTail(0), HighTailAccum(0), LowTailAccum(0);
For Count = 0 to Countmax Begin
If C > O then
HighTail = H - C;
HighTailAccum = HighTailAccum + HighTail;
If C < O then
LowTail = C - L;
LowTailAccum = LowTailAccum + LowTail;
End;
이런식으로 생각해보았는데 date != date[1]일때 어떤 값을 초기화시켜야 하는지, HighTailAccum이 계속 누적되니 HighTail을 Array 변수로 빼서 배열시켜야 할 것 같긴한데..
어렵네요..
장 시작부터 양양음양음 / 양양양양양 이라면
5개봉까지는 134번의 윗꼬리를, 6번부터는 246번의 윗꼬리를, 7번부터는 467번의 윗꼬리를
더하는 식으로 만들고 싶습니다.
답변 1
예스스탁
예스스탁 답변
2020-06-02 14:43:30
안녕하세요
예스스탁입니다.
1
올려주신 내용은 최근 5개봉을 대상으로 값을 누적하는 내용이므로
날짜변경시에 초기화가 아닌 for문 수행전에 항상 값을 0으로 초기화하게 하시면 됩니다.
2
for문이 루프만 수행되고 값은 항상 현재봉값만 사용해서
수식도 수정했습니다.
Input : CountMax(4);
Var : Count(0), HighTail(0), LowTail(0), HighTailAccum(0), LowTailAccum(0);
HighTail = 0;
HighTailAccum = 0;
LowTail = 0;
LowTailAccum = 0;
For Count = 0 to Countmax
{
If C[Count] > O[Count] then
{
HighTail = H[Count] - C[Count];
HighTailAccum = HighTailAccum + HighTail;
}
If C[Count] < O[Count] then
{
LowTail = C[Count] - L[Count];
LowTailAccum = LowTailAccum + LowTail;
}
}
3
당일 N봉이후에만 계산하고자 하시면 아래와 같이 봉수 지정하시면 됩니다.
Input : CountMax(4);
Var : Count(0), HighTail(0), LowTail(0), HighTailAccum(0), LowTailAccum(0),idx(0);
if bdate != bdate[1] Then
idx = 0;
Else
idx = idx+1;
HighTail = 0;
HighTailAccum = 0;
LowTail = 0;
LowTailAccum = 0;
if idx >= CountMax then
{
For Count = 0 to Countmax
{
If C[Count] > O[Count] then
{
HighTail = H[Count] - C[Count];
HighTailAccum = HighTailAccum + HighTail;
}
If C[Count] < O[Count] then
{
LowTail = C[Count] - L[Count];
LowTailAccum = LowTailAccum + LowTail;
}
}
}
즐거운 하루되세요
> 파트라 님이 쓴 글입니다.
> 제목 : 수식 문의드립니다
> 분봉을 이용하였을때
장이 시작되면 초기화되고
최근 5개(Input으로 최적화시키게) 봉 중에서 양봉인 경우 위꼬리(H-C)를 저장, 음봉인경우 아래꼬리(C-L)를 저장
양봉개수만큼 위꼬리들을 더하고, 음봉개수만큼 아래꼬리들을 더하고 싶습니다.
Input : CountMax(4);
Var : Count(0), HighTail(0), LowTail(0), HighTailAccum(0), LowTailAccum(0);
For Count = 0 to Countmax Begin
If C > O then
HighTail = H - C;
HighTailAccum = HighTailAccum + HighTail;
If C < O then
LowTail = C - L;
LowTailAccum = LowTailAccum + LowTail;
End;
이런식으로 생각해보았는데 date != date[1]일때 어떤 값을 초기화시켜야 하는지, HighTailAccum이 계속 누적되니 HighTail을 Array 변수로 빼서 배열시켜야 할 것 같긴한데..
어렵네요..
장 시작부터 양양음양음 / 양양양양양 이라면
5개봉까지는 134번의 윗꼬리를, 6번부터는 246번의 윗꼬리를, 7번부터는 467번의 윗꼬리를
더하는 식으로 만들고 싶습니다.