Q&A 게시판 HOME > Q&A 게시판
작성자 : 예스스탁 작성일 : 2020-06-19 17:20:27 조회수 : 260
예스스탁 게시판에서 답변드렸습니다.

감사합니다.




>> 채채 님이 쓴 글입니다.

>> 제목 : 매일 종가를 전일 가격들과 비교하는 for if 문매일 종가의 움직임 영역을 아래처럼 6가지로 나누고, 
1/2번, 2/3번, 4/5번, 5/6번 영역 사이의 경계를 Pivot Point라고 해서 뒤에 PP를 붙였습니다.


State No 1.상승추세(Uptrend)
---------------------------- UptrendPP (종가가 이 위로 가면 그 종가는 상승추세에 기입)
State No 2.진짜반등(RealRally)
---------------------------- RealRallyPP (종가가 이 위로 가면 그 종가는 진짜반등에 기입)
State No 3.가짜반등(FakeRally)
---------------------------- (종가가 3번/4번 영역에 있으면 그 종가는 가짜반등/가짜조정에 기입)
State No 4.가짜조정(FakeReact)
---------------------------- RealReactPP (종가가 이 아래로 가면 그 종가를 진짜조정에 기입)
State No 5.진짜조정(RealReact)
---------------------------- DntrendPP (종가가 이 아래로 가면 그 종가를 하락추세에 기입)
State No 6.하락추세(Dntrend)


제가 만들고자 하는 수식은 설정된 기간동안 매일 종가를 추적하여, 
아래의 내용을 비교해서 오늘의 종가가 6개 영역중 어디에 해당되는지 판단하는 것입니다.

- 어제의 종가가 어느 영역에 머물렀는가
- 오늘의 종가 vs 어제의 종가 크기 비교
- 오늘의 종가 vs 어제의 Pivot Point들과 비교
-  

어제의 종가가 1번 영역(상승추세) 일때만 좀 봐주신다면 나머지 2/3/4/5/6번 영역일떄의 if문은 제가 작성해보도록 하겠습니다.
제가 우선 다른 프로그램에서 쓰는 수식 변형해서 만들어봤는데 F4 눌러서 검증은 마쳤습니다만, 
오늘의 종가가 어느 영역에 있는지 결과값은 나오지 않는 상황입니다.
----------------------------------------------------------------------------------

var : i(0),stateno(0), 
      uptrend(0),realrally(0),fakerally(0),fakereact(0),realreact(0),dntrend(0),
      UpTrendPP(0),NatRallyPP(0),NatReactPP(0),DnTrendPP(0);

 For i = index-1 downto 0 // 어제 종가가 어느 영역에 머물렀는지 기준으로 반복해야하므로 for문 사용
 {

 if i==index-1 then // 시작날짜의 경우 전날에 대한 데이터가 없으므로 1번영역 라고 가정하고 모든 변수에 우선 첫날 종가입력
 { 
 StateNo[i]==1;

 UpTrend[i]== C[i];
 RealRally[i]== C[i];
 FakeRally[i]== C[i];
 FakeReact[i]== C[i];
 RealReact[i]== c[i];
 DnTrend[i]==C[i];

 UpTrendPP[i]==C[i];
 RealRallyPP[i]==C[i];
 RealReactPP[i]==C[i];
 DnTrendPP[i]==C[i];
     }  
else // 시작날짜가 아닌경우 전날의 종가가 어느 영역이었는지 기준으로 if문 반복
{
if(StateNo[i+1]==1) then // 전날의 종가가 1번 영역이었다면 이걸 실행. 2/3/4/5/6번 영역이었을때의 조건문은 각각 있음. 여기선 예시로 1번 영역일때만 사용.
 {
 if(C[i]>=C[i+1]) then // 오늘의 종가가 어제 종가보다 크거나 같은가?
 {
 if(C[i]>UpTrend[i+1]) then // 그렇다면 오늘의 종가가 어제의 상승추세에 입력된 가격보다 큰가?
 {
 StateNo[i]==1; // 그렇다면 오늘의 종가는 1번 영역에 있다고 판단
 UpTrend[i]==C[i]; // 오늘의 종가를 상승추세 영역에 기입
 }

그 다음날은 또 어제의 종가가 어느 영역에 있는지 판단하는것부터 시작 반복

목록 답변