Q&A 게시판 HOME > Q&A 게시판
작성자 : 주식삼족오 작성일 : 2024-11-07 18:35:32 조회수 : 233
로직 시스템 오류 및 매수/매도 신호를 넣어 수정 의뢰
그림1
그림1
그림2
그림2
파동선과 파동선의 고점과 저점을 수평의 선으로 표시한 지표입니다.

이 파동선은 하락추세에 있던 가격이 반등하면서 현재봉 고가가 최근 6개봉에서 신고가를 형성하면 하락추세의 

저점이 완성되고, 상승추세에 있던 가격이 반락하면서 현재봉 저가가 최근 6개봉에서 신저가를 형성하면 상승추세의 고점이 완성되는 구조입니다.

현재봉 포함 6개 봉에서 기존 추세 방향과 다른 신고가나 신저가를 형성하면 새로운 

기존 파동이 완성되고 새로운 파동이 시작된 것으로 보았는데, 6개 봉을 기준으로 한 이유는

10분봉 차트 기준으로 1시간 동안의 추세를 이용하고자 했기 때문입니다.

이 파동선은 상대적으로 단기 파동을 나타냅니다. 

중기나 장기 파동을 보시려면 차트주기를 10분봉 보다 더 큰 값으로 적용해서 보시면 됩니다.

파동선의 고점과 저점에 수평의 선으로 표시해 놓았는데, 이 값은 일정기간 동안의 

최고가와 최저가에 해당되는 값으로 향후 지지선과 저항선으로 작용할 수 있는 선입니다.

수평선이 동일한 가격 수준에서 많이 그려져 있으면 지지선이나 저항선으로 작용할 가능성이

더 높다고 볼 수 있습니다. 

1.로직을 예스트레이더 코인에 넣으면 이런 오류가 뜹니다.

또한 지지하단 과 저항 상단에서 매수/매도 신호를 넣을수 있으면 좋겠습니다.

===================================================================================================
input:length(6); 

Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), 

   TL1(0),Text1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL12(0),TL13(0),TL14(0),TL15(0),T(0); 

Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime 



#==========================================# 

HH = IFF(0==1,C,H); 

LL = IFF(0==1,C,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]); 

     If 1 == 1 Then 

     { 

        Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); 

        Text_SetStyle(Text1, 0, 1); 

        Text_SetColor(Text1,BLACK); 

     } 

     TL_SetSize(TL1,1); 

     TL_SetColor(TL1,gray); 

  } 

  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 1 == 1 Then 

     { 

        Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); 

        Text_SetString(Text1,NumToStr(고[1,1],2)); 

     } 

  } 

  최종꼭지점 = "고점"; 





#==========================================# 

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]); 

     If 1 == 1 Then 

     { 

        Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); 

         

        Text_SetStyle(Text1, 0, 0); 

        Text_SetColor(Text1,BLACK); 

     } 

     TL_SetSize(TL1,1); 

     TL_SetColor(TL1,gray); 

  } 

  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]); 

     If 1 == 1 Then 

     { 

        Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); 

        Text_SetString(Text1,NumToStr(저[1,1],2)); 

     } 

  } 

  최종꼭지점 = "저점"; 

}  



if T == -1 and T[1] != -1 Then{ 

TL2 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]); 

TL_Delete(TL3); 

TL3 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]); 

TL_SetExtRight(TL3,true); 

TL_SetSize(TL2,3); 

TL_SetColor(TL2,RED); 

TL_SetSize(TL3,3); 

TL_SetColor(TL3,RED); 



TL12 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]); 

TL_Delete(TL13); 

TL13 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]); 

TL_SetExtRight(TL13,true); 

TL_SetSize(TL12,1); 

TL_SetColor(TL12,RED); 

TL_SetSize(TL13,1); 

TL_SetColor(TL13,RED); 





if T == 1 and T[1] != 1 Then{ 

TL4= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]); 

TL_Delete(TL5); 

TL5= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]); 

TL_SetExtRight(TL5,true); 

TL_SetSize(TL4,3); 

TL_SetColor(TL4,blue); 

TL_SetSize(TL5,3); 

TL_SetColor(TL5,blue); 



TL14= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]); 

TL_Delete(TL15); 

TL15= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]); 

TL_SetExtRight(TL15,true); 

TL_SetSize(TL14,1); 

TL_SetColor(TL14,blue); 

TL_SetSize(TL15,1); 

TL_SetColor(TL15,blue); 

목록 답변