커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
7772
글번호 230811
지표
답변완료

문의드립니다.

변곡점&#160;상하&#160;+/-&#160;5%&#160;위치에&#160;점표시를&#160;하고&#160;싶습니다. Input:length(30); &#160;&#160;&#160;Var:최종고가(0),최종저가(0),최종변곡점(""),처리구분(""),sBar(0),TL1(0), &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세기울기(0),고추세봉개수(0),고추세시작(0),고추세시작IDX(0),고추세최종(0), &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세기울기(0),저추세봉개수(0),저추세시작(0),저추세시작IDX(0),저추세최종(0); &#160;&#160;&#160;&#160;Var:고1(0),고2(0),고3(0),고4(0),고5(0),고6(0),고7(0),고8(0),고9(0),고10(0), &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저1(0),저2(0),저3(0),저4(0),저5(0),저6(0),저7(0),저8(0),저9(0),저10(0), &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고1IDX(0),고2IDX(0),고3IDX(0),고4IDX(0),고5IDX(0), &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고6IDX(0),고7IDX(0),고8IDX(0),고9IDX(0),고10IDX(0), &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저1IDX(0),저2IDX(0),저3IDX(0),저4IDX(0),저5IDX(0), &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저6IDX(0),저7IDX(0),저8IDX(0),저9IDX(0),저10IDX(0); &#160;&#160;&#160;var&#160;:&#160;t(0),ii(0),tx1(0); #==========================================# &#160;&#160;&#160;&#160;Condition1&#160;=&#160;Highest(C,length)&#160;==&#160;C&#160;and&#160;최종고가&#160;<>&#160;C; &#160;&#160;&#160;&#160;Condition2&#160;=&#160;Lowest&#160;(C,length)&#160;==&#160;C&#160;and&#160;최종저가&#160;<>&#160;C; 처리구분&#160;=&#160;""; If&#160;Condition1&#160;and&#160;Condition2&#160;Then&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//&#160;기간고점과&#160;기간저점&#160;동시&#160;발생 {&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;If&#160;최종변곡점&#160;==&#160;"저점"&#160;Then&#160;처리구분&#160;=&#160;"고점처리";&#160;&#160;//&#160;저&#160;-&#160;고&#160;순으로&#160;처리 &#160;&#160;&#160;Else&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;처리구분&#160;=&#160;"저점처리";&#160;&#160;//&#160;고&#160;-&#160;저&#160;순으로&#160;처리 }&#160;&#160;&#160; Else&#160;If&#160;Condition1&#160;Then&#160;처리구분&#160;=&#160;"고점처리"; Else&#160;If&#160;Condition2&#160;Then&#160;처리구분&#160;=&#160;"저점처리"; &#160;&#160;&#160;&#160;#==========================================# If&#160;처리구분&#160;==&#160;"고점처리"&#160;Then&#160; &#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;최종고가&#160;=&#160;C;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//&#160;신규고점을&#160;체크하기&#160;위해&#160;저장 &#160;&#160;&#160;If&#160;최종변곡점&#160;==&#160;"저점"&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고9&#160;=&#160;고8;&#160;&#160;&#160;&#160;고9IDX&#160;=&#160;고8IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고8&#160;=&#160;고7;&#160;&#160;&#160;&#160;고8IDX&#160;=&#160;고7IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고7&#160;=&#160;고6;&#160;&#160;&#160;&#160;고7IDX&#160;=&#160;고6IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고6&#160;=&#160;고5;&#160;&#160;&#160;&#160;고6IDX&#160;=&#160;고5IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고5&#160;=&#160;고4;&#160;&#160;&#160;&#160;고5IDX&#160;=&#160;고4IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고4&#160;=&#160;고3;&#160;&#160;&#160;&#160;고4IDX&#160;=&#160;고3IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고3&#160;=&#160;고2;&#160;&#160;&#160;&#160;고3IDX&#160;=&#160;고2IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고2&#160;=&#160;고1;&#160;&#160;&#160;&#160;고2IDX&#160;=&#160;고1IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고1&#160;=&#160;C;&#160;&#160;&#160;&#160;&#160;&#160;고1IDX&#160;=&#160;Index; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sBar&#160;=&#160;Index&#160;-&#160;저1IDX;&#160;&#160;//&#160;추세선&#160;시작점의&#160;위치,&#160;n봉전으로&#160;표시 &#160;&#160;&#160;&#160;&#160;&#160;TL1&#160;&#160;=&#160;TL_New(sDate[sBar],sTime[sBar],저1,sDate[0],sTime[0],고1);&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TL_SetSize(TL1,1); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TL_SetColor(TL1,ReD); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;tx1&#160;=&#160;text_new(sDate[0],sTime[0],고1+0.5,"●"); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Text_SetStyle(tx1,2,1); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Text_SetColor(tx1,Red); &#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;고1&#160;<&#160;C&#160;Then&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//&#160;1번&#160;고점보다&#160;높은&#160;고가&#160;출현 &#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고1&#160;=&#160;C;&#160;&#160;고1IDX&#160;=&#160;Index; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TL_SetEnd(TL1,sDate[0],sTime[0],고1); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//&#160;시작점은&#160;변동없고&#160;끝점의&#160;위치가&#160;현재&#160;봉으로&#160;연장된&#160;것임&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Text_SetLocation(tx1,sDate[0],sTime[0],고1+0.5); &#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;/*&#160;고점추세선&#160;*/&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;If&#160;고2IDX[1]&#160;<>&#160;고2IDX&#160;Then&#160;&#160;//&#160;고2의&#160;Index값이&#160;변동&#160;없음&#160;즉,&#160;새로운&#160;고점이&#160;생기지&#160;않았음 &#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세최종&#160;=&#160;0;&#160;고추세기울기&#160;=&#160;0;&#160;고추세시작&#160;=&#160;0;&#160;고추세봉개수&#160;=&#160;0; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;If&#160;고2&#160;<&#160;고3&#160;Then&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세기울기&#160;&#160;=&#160;(고2&#160;-&#160;고3)/(고2IDX&#160;-&#160;고3IDX); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세시작&#160;&#160;&#160;&#160;=&#160;고3; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세시작IDX&#160;=&#160;고3IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;고2&#160;<&#160;고4&#160;Then&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세기울기&#160;&#160;=&#160;(고2&#160;-&#160;고4)/(고2IDX&#160;-&#160;고4IDX); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세시작&#160;&#160;&#160;&#160;=&#160;고4; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세시작IDX&#160;=&#160;고4IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;고2&#160;<&#160;고5&#160;Then&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세기울기&#160;&#160;=&#160;(고2&#160;-&#160;고5)/(고2IDX&#160;-&#160;고5IDX); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세시작&#160;&#160;&#160;&#160;=&#160;고5; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세시작IDX&#160;=&#160;고5IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;고2&#160;<&#160;고6&#160;Then&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세기울기&#160;&#160;=&#160;(고2&#160;-&#160;고6)/(고2IDX&#160;-&#160;고6IDX); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세시작&#160;&#160;&#160;&#160;=&#160;고6; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세시작IDX&#160;=&#160;고6IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;고2&#160;<&#160;고7&#160;Then&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세기울기&#160;&#160;=&#160;(고2&#160;-&#160;고7)/(고2IDX&#160;-&#160;고7IDX); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세시작&#160;&#160;&#160;&#160;=&#160;고7; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세시작IDX&#160;=&#160;고7IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;고2&#160;<&#160;고8&#160;Then&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세기울기&#160;&#160;=&#160;(고2&#160;-&#160;고8)/(고2IDX&#160;-&#160;고8IDX); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세시작&#160;&#160;&#160;&#160;=&#160;고8; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세시작IDX&#160;=&#160;고8IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;고2&#160;<&#160;고9&#160;Then&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세기울기&#160;&#160;=&#160;(고2&#160;-&#160;고9)/(고2IDX&#160;-&#160;고9IDX); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세시작&#160;&#160;&#160;&#160;=&#160;고9; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세시작IDX&#160;=&#160;고9IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세봉개수&#160;=&#160;Index&#160;-&#160;고추세시작IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세최종&#160;&#160;&#160;=&#160;고추세기울기&#160;*&#160;고추세봉개수&#160;+&#160;고추세시작; &#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;고추세최종[1]&#160;>&#160;0&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세최종&#160;=&#160;고추세기울기&#160;*&#160;(Index&#160;-&#160;고추세시작IDX)&#160;+&#160;고추세시작; &#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;If&#160;저추세최종[1]&#160;>&#160;0&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세최종&#160;=&#160;저추세기울기&#160;*&#160;(Index&#160;-&#160;저추세시작IDX)&#160;+&#160;저추세시작; &#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;최종변곡점&#160;=&#160;"고점"; &#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;#==========================================# If&#160;처리구분&#160;==&#160;"저점처리"&#160;Then&#160; &#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;최종저가&#160;=&#160;C; &#160;&#160;&#160;&#160;&#160;&#160;&#160;If&#160;최종변곡점&#160;==&#160;"고점"&#160;then&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저9&#160;=&#160;저8;&#160;&#160;&#160;&#160;저9IDX&#160;=&#160;저8IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저8&#160;=&#160;저7;&#160;&#160;&#160;&#160;저8IDX&#160;=&#160;저7IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저7&#160;=&#160;저6;&#160;&#160;&#160;&#160;저7IDX&#160;=&#160;저6IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저6&#160;=&#160;저5;&#160;&#160;&#160;&#160;저6IDX&#160;=&#160;저5IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저5&#160;=&#160;저4;&#160;&#160;&#160;&#160;저5IDX&#160;=&#160;저4IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저4&#160;=&#160;저3;&#160;&#160;&#160;&#160;저4IDX&#160;=&#160;저3IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저3&#160;=&#160;저2;&#160;&#160;&#160;&#160;저3IDX&#160;=&#160;저2IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저2&#160;=&#160;저1;&#160;&#160;&#160;&#160;저2IDX&#160;=&#160;저1IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저1&#160;=&#160;C;&#160;&#160;&#160;&#160;&#160;&#160;저1IDX&#160;=&#160;Index; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sBar&#160;=&#160;Index&#160;-&#160;고1IDX; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TL1&#160;&#160;=&#160;TL_New(sDate[sBar],sTime[sBar],고1,sDate[0],sTime[0],저1);&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TL_SetSize(TL1,1); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TL_SetColor(TL1,BluE); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;tx1&#160;=&#160;text_new(sDate[0],sTime[0],저1-0.5,"●"); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Text_SetStyle(tx1,2,0); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Text_SetColor(tx1,Blue); &#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;저1&#160;>&#160;C&#160;then&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저1&#160;=&#160;C;&#160;&#160;&#160;&#160;&#160;&#160;저1IDX&#160;=&#160;Index; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TL_SetEnd(TL1,sDate[0],sTime[0],저1); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Text_SetLocation(TL1,sDate[0],sTime[0],저1-0.5); &#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;/*&#160;저점추세선&#160;*/&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;If&#160;저2IDX[1]&#160;<>&#160;저2IDX&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세최종&#160;=&#160;0;&#160;저추세기울기&#160;=&#160;0;&#160;저추세시작&#160;=&#160;0;&#160;저추세봉개수&#160;=&#160;0; &#160;&#160;&#160;&#160;&#160;If&#160;저2&#160;>&#160;저3&#160;and&#160;저3&#160;>&#160;0&#160;Then&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세기울기&#160;&#160;=&#160;(저2&#160;-&#160;저3)/(저2IDX&#160;-&#160;저3IDX);&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세시작&#160;&#160;&#160;&#160;=&#160;저3;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세시작IDX&#160;=&#160;저3IDX;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;저2&#160;>&#160;저4&#160;and&#160;저4&#160;>&#160;0&#160;Then&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세기울기&#160;&#160;=&#160;(저2&#160;-&#160;저4)/(저2IDX&#160;-&#160;저4IDX);&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세시작&#160;&#160;&#160;&#160;=&#160;저4;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세시작IDX&#160;=&#160;저4IDX;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;저2&#160;>&#160;저5&#160;and&#160;저5&#160;>&#160;0&#160;Then&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세기울기&#160;&#160;=&#160;(저2&#160;-&#160;저5)/(저2IDX&#160;-&#160;저5IDX);&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세시작&#160;&#160;&#160;&#160;=&#160;저5;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세시작IDX&#160;=&#160;저5IDX;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;저2&#160;>&#160;저6&#160;and&#160;저6&#160;>&#160;0&#160;Then&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세기울기&#160;&#160;=&#160;(저2&#160;-&#160;저6)/(저2IDX&#160;-&#160;저6IDX);&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세시작&#160;&#160;&#160;&#160;=&#160;저6;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세시작IDX&#160;=&#160;저6IDX;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;저2&#160;>&#160;저7&#160;and&#160;저7&#160;>&#160;0&#160;Then&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세기울기&#160;&#160;=&#160;(저2&#160;-&#160;저7)/(저2IDX&#160;-&#160;저7IDX);&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세시작&#160;&#160;&#160;&#160;=&#160;저7;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세시작IDX&#160;=&#160;저7IDX;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;저2&#160;>&#160;저8&#160;and&#160;저8&#160;>&#160;0&#160;Then&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세기울기&#160;&#160;=&#160;(저2&#160;-&#160;저8)/(저2IDX&#160;-&#160;저8IDX);&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세시작&#160;&#160;&#160;&#160;=&#160;저8;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세시작IDX&#160;=&#160;저8IDX;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;저2&#160;>&#160;저9&#160;and&#160;저9&#160;>&#160;0&#160;Then&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세기울기&#160;&#160;=&#160;(저2&#160;-&#160;저9)/(저2IDX&#160;-&#160;저9IDX);&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세시작&#160;&#160;&#160;&#160;=&#160;저9;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세시작IDX&#160;=&#160;저9IDX;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세봉개수&#160;=&#160;Index&#160;-&#160;저추세시작IDX;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세최종&#160;&#160;&#160;=&#160;저추세기울기&#160;*&#160;저추세봉개수&#160;+&#160;저추세시작; &#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;저추세최종[1]&#160;>&#160;0&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;저추세최종&#160;=&#160;저추세기울기&#160;*&#160;(Index&#160;-&#160;저추세시작IDX)&#160;+&#160;저추세시작;&#160; &#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;If&#160;고추세최종[1]&#160;>&#160;0&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;고추세최종&#160;=&#160;고추세기울기&#160;*&#160;(Index&#160;-&#160;고추세시작IDX)&#160;+&#160;고추세시작; &#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;최종변곡점&#160;=&#160;"저점"; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;}
프로필 이미지
구호리
2023-03-30
1139
글번호 167723
지표
답변완료

문의드립니다

상장일을 나타낼 수 있는 수식이 존재하나요?
프로필 이미지
kns
2023-03-30
966
글번호 167722
지표
답변완료

안녕하세요?

안녕하세요? 아래 수식은 일간종가라인인데요 주간수식,월간수식 부탁 드립니다. 감사합니다. Input:종가시간(70000),종가시간2(70000); if stime <= 종가시간 Then var1 = DayHigh; if date != date[1] Then{ var1 = DayHigh; Condition1 = true; } if stime >= 종가시간 and stime <= 종가시간2 Then{ plot1(var1); }
프로필 이미지
상중하
2023-03-30
788
글번호 167719
지표
답변완료

수식변환문의드립니다~

<키움기준>을 예스랭귀지 검색식으로 부탁드립니다. 1 ---------------------------------------------------- AA=(O+H+L+C)/4; AA1=(C(1)+O(1))/2; A=LinearRegressionValue(C,50,0); A1=LinearRegressionValue(A,50,0); eq= A-A1; Z=A+eq; SD=Lowest(L,22)+atr(22)*3; ap = (HIGH+LOW+CLOSE)/3; esa = eavg(ap, 10); d = eavg(abs(ap - esa), 10); ci = (ap - esa) / (0.015 * d); wt1 = eavg(ci, 21); wt2 = avg(wt1,4); WT=(wt1-wt2)*2; AA>AA1 && (CROSSUP(AA,SD) OR CROSSUP(AA,Z)) && WT>=0; ===================================================== 2.키움에 아래 라인을 돌파하는 캔들을 검색식으로 부탁드립니다. ---------------------------------------- S=(O-avg(L,20))/stdev(L,20); valuewhen(1,crossup(s,0),c) ----------------------------------------
프로필 이미지
주식승부
2023-03-30
1057
글번호 167711
검색

다이버 님에 의해서 삭제되었습니다.

프로필 이미지
다이버
2023-03-30
86
글번호 167697
시스템
답변완료

수식 변경 부탁드립니다

옵션 기준가 = valuewhen(1,date==월시작일,daylow()); 이베스트증권의 수식입니다 예스챠트로 변환을 부탁드립니다 감사합니다
프로필 이미지
볼라레
2023-03-30
1116
글번호 167694
지표
답변완료

수식 문의 드립니다

항상 감사드립니다. 아래의 두 가지 수식에 이격도 (이평이 서로 너무 벌어지면 진입금지)를 추가해주시면 감사드리겠습니다, 저번처럼 외부변수로 해주시면 정말 감사드리겠습니다.(예 Input : p1(5), p2(20), Per(5);) (1번) Input : 매수장기이평길이(200), 매수단기이평길이(10), 매수RSI길이(2), 매수RSI기준(5), 매도이평(10), 매도RSI길이(2), 매도RSI기준(75); Var : longCondition(False), exitCondition(False); longCondition = ma(close, 매수장기이평길이) < close and ma(close, 매수단기이평길이) > Close and rsi(매수RSI길이) < 매수RSI기준; exitCondition = ma(close, 매도이평) < Close and rsi(매도RSI길이) > 매도RSI기준; if longCondition Then { Buy("매수", AtMarket); } if exitCondition Then { Sell("매도", AtMarket); } (2번) Input: AvgLen(30), PrctRLen(10), BuyLvl(20), SellLvl(80); IF CurrentBar > 1 and Average(Close,AvgLen) > Average(Close,AvgLen)[1] and PercentR(PrctRLen) < BuyLvl Then Buy(); IF CurrentBar > 1 and Average(Close,AvgLen) < Average(Close,AvgLen)[1] and PercentR(PrctRLen) > SellLvl Then Sell();
프로필 이미지
행복곰
2023-03-30
1027
글번호 167692
시스템
답변완료

지표 수식 문의 드립니다.

수고가 많으십니다!! 다름이 아니라 하기 조건의 지표 수식을 좀 부탁 드리겠습니다. 변수 1. 분봉 2분 3분 5분 etc. 2. 고가 저가 차이 ( 고가 - 저가 ) 3. 분봉 거래량 출력 거래량 / (고가 - 저가 ) 의 순수값, 누적값 또는 증감 으로 선택 가능 하게 지표로 출력. 이상입니다.
프로필 이미지
본인
2023-03-30
1388
글번호 167691
지표
답변완료

저번에 질문드렸던것입니다. 수정부탁드립니다^^

수식에 오류가 있는것 같아요^^ 청산을 하지 않습니다^^ 좋은.. 건가요^^? 손절이 없어요 손실중이면 몇일이고 청산을 하지 않습니다^^ 원웨이장 만나면 나락갈거 같아요~ 감사하지만 수정 부탁드립니다^^ 귀찮게 해드려 죄송합니다^^ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : Re : Re : 질문이 많아 죄송합니다. > 안녕하세요 예스스탁입니다. 식을 수정했습니다. 상승전환시 기존에 진입한 매도포지션이 수익이면 청산하고 매수진입 실행 손실이면 청산만 실행 하락전환시 기존에 진입한 매수포지션이 수익이면 청산하고 매도진입 실행 손실이면 청산만 실행 위 구조로 동작하게 됩니다. 스위칭시 손실이면 스위칭을 하지 않고 진입을 한번 건너뛰게 됩니다. input : Period(5); Array : HD[10](0),HT[10](0),HV[10](0); //고점 날짜, 시간, 가격 저장할 배열 Array : LD[10](0),LT[10](0),LV[10](0); //저점 날짜, 시간, 가격 저장할 배열 var : cnt(0),Hprice(0),Lprice(0); var : UpTrend(false),DownTrend(False),Trend(0); var : ZigZagTL(0),HTL(0),LTL(0),HTX(0),LTX(0); HPrice = H; LPrice = L; if Index == 0 Then { //초기 최고값 HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; //초기 최저값 LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; } Else { UpTrend = HPrice >= Highest(HPrice,Period)[1]; DownTrend = LPrice <= Lowest(LPrice,Period)[1]; //상승추세 전환 if trend <= 0 and UpTrend == true Then { //추세구분 1 trend = 1; if (MarketPosition == 0 ) or (MarketPosition == -1 and PositionProfit(0) >= 0) Then Buy("b"); if MarketPosition == -1 and PositionProfit(0) > 0 Then ExitShort("sx"); //과거 고점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { HD[cnt] = HD[cnt-1]; HT[cnt] = HT[cnt-1]; HV[cnt] = HV[cnt-1]; } //0번방에 날짜, 시간, 가격 저장 HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; //직전 저점에서 현재 고점까지 연결선 출력 ZigZagTL = TL_New(LD[0],LT[0],LV[0],HD[0],HT[0],HV[0]); //색상은 Red TL_SetColor(ZigZagTL,Gray); //추세선 굵기는 1 TL_SetSize(ZigZagTL,1); HTL = TL_New(HD[0],HT[0],HV[0],NextBarSdate,NextBarStime,HV[0]); TL_SetColor(HTL,Red); HTX = text_new(HD[0],HT[0],HV[0],NumToStr(HV[0],2)); Text_SetStyle(HTX,2,1); } Else if trend >= 0 and DownTrend Then//하락추세 전환 { //추세구분은 -1 trend = -1; if (MarketPosition == 0 ) or (MarketPosition == 1 and PositionProfit(0) >= 0) Then Sell("s"); if MarketPosition == 1 and PositionProfit(0) > 0 Then ExitLong("bx"); //과거 저점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { LD[cnt] = LD[cnt-1]; LT[cnt] = LT[cnt-1]; LV[cnt] = LV[cnt-1]; } //0번방에 날짜, 시간, 가격 저장 LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; //직전 고점에서 현재 저점까지 연결선 출력 ZigZagTL = TL_New(HD[0],HT[0],HV[0],LD[0],LT[0],LV[0]); //색상은 Blue TL_SetColor(ZigZagTL,Gray); //굴긱는 1 TL_SetSize(ZigZagTL,1); LTL = TL_New(LD[0],LT[0],LV[0],NextBarSdate,NextBarStime,LV[0]); TL_SetColor(LTL,Blue); LTX = text_new(LD[0],LT[0],LV[0],NumToStr(LV[0],2)); Text_SetStyle(LTX,2,0); } Else { //상승구간 if trend == 1 Then { //고점이 갱신되면 if HPrice > HV[0] Then { //갱신된 봉의 날짜/시간/가격으로 변경 HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; //지그재그 추세선의 끝점을 현재봉으로 이동 TL_SetEnd(ZigZagTL,HD[0],HT[0],HV[0]); //고점 수평 추세선의 끝점을 현재봉으로 이동 TL_SetBegin(HTL,HD[0],HT[0],HV[0]); Text_SetString(HTX,NumToStr(HV[0],2)); Text_SetLocation(HTX,HD[0],HT[0],HV[0]); } } //하락구간 if trend == -1 Then { //저점이 갱신되면 if LPrice < LV[0] Then { //갱신된 봉의 날짜/시간/가격으로 변경 LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; //지그재그 추세선의 끝점을 현재봉으로 이동 TL_SetEnd(ZigZagTL,LD[0],LT[0],LV[0]); //저점 수평 추세선의 끝점을 현재봉으로 이동 TL_SetBegin(LTL,LD[0],LT[0],LV[0]); Text_SetString(LTX,NumToStr(LV[0],2)); Text_SetLocation(LTX,LD[0],LT[0],LV[0]); } } TL_SetEnd(HTL,sDate,sTime,HV[0]); TL_SetEnd(LTL,sDate,sTime,LV[0]); } } 즐거운 하루되세요 > 말비 님이 쓴 글입니다. > 제목 : Re : Re : 질문이 많아 죄송합니다. > 잘 되다가 중간에 멈추는데 이유가 몰까요? 그냥 한세트 돌고 멈춰버리는것 같아보여요. 제가 말한건 # 에이코스 이전 매매 손실여부초기화 만약 상승추세시 {매수} 하방추세 전환시 {청산후 손절인지 익절인지 판단후 초기화상태 이거나 익절이였을경우 매도전환} 손절이였을경우 [비코스]로 만약 하방추세시 {매도} 상방추세 전환시 {청산후 손절인지 익절인지 판단후 초기화상태 이거나 익절이였을경우 매수전환} 손절이였을경우 [비코스]로 # 비코스 이전 매매 손실여부초기화 만약 상승추세시 {매도} 하방추세 전환시 {청산후 손절인지 익절인지 판단후 초기화상태 이거나 익절이였을경우 매수전환} 손절이였을경우 [에이코스]로 만약 하방추세시 {매도} 상방추세 전환시 {청산후 손절인지 익절인지 판단후 초기화상태 이거나 익절이였을경우 매수전환} 손절이였을경우 [에이코스]로 말이 안되는거 같기도 하고... 그냥 시스템언어 까막눈이라 생각나는데로만 적어봤습니다. 항상 감사드립니다~ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 질문이 많아 죄송합니다. > 안녕하세요 예스스탁입니다. 현재 시스템이 매수와 매도가 반복되는 스위칭 시스템입니다. 반대조건 만족시 손실이면 청산만 하고 진입은 되지 않게 작성해 드립니다. input : Period(5); Array : HD[10](0),HT[10](0),HV[10](0); //고점 날짜, 시간, 가격 저장할 배열 Array : LD[10](0),LT[10](0),LV[10](0); //저점 날짜, 시간, 가격 저장할 배열 var : cnt(0),Hprice(0),Lprice(0); var : UpTrend(false),DownTrend(False),Trend(0); var : ZigZagTL(0),HTL(0),LTL(0),HTX(0),LTX(0); HPrice = H; LPrice = L; if Index == 0 Then { //초기 최고값 HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; //초기 최저값 LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; } Else { UpTrend = HPrice >= Highest(HPrice,Period)[1]; DownTrend = LPrice <= Lowest(LPrice,Period)[1]; //상승추세 전환 if trend <= 0 and UpTrend == true Then { //추세구분 1 trend = 1; if (MarketPosition == 0 ) or (MarketPosition == -1 and PositionProfit(0) >= 0) Then Buy("b"); if MarketPosition == -1 and PositionProfit(1) > 0 Then ExitShort("sx"); //과거 고점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { HD[cnt] = HD[cnt-1]; HT[cnt] = HT[cnt-1]; HV[cnt] = HV[cnt-1]; } //0번방에 날짜, 시간, 가격 저장 HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; //직전 저점에서 현재 고점까지 연결선 출력 ZigZagTL = TL_New(LD[0],LT[0],LV[0],HD[0],HT[0],HV[0]); //색상은 Red TL_SetColor(ZigZagTL,Gray); //추세선 굵기는 1 TL_SetSize(ZigZagTL,1); HTL = TL_New(HD[0],HT[0],HV[0],NextBarSdate,NextBarStime,HV[0]); TL_SetColor(HTL,Red); HTX = text_new(HD[0],HT[0],HV[0],NumToStr(HV[0],2)); Text_SetStyle(HTX,2,1); } Else if trend >= 0 and DownTrend Then//하락추세 전환 { //추세구분은 -1 trend = -1; if (MarketPosition == 0 ) or (MarketPosition == 1 and PositionProfit(0) >= 0) Then Sell("s"); if MarketPosition == 1 and PositionProfit(1) > 0 Then ExitLong("bx"); //과거 저점의 날짜, 시간, 값을 다음 배열방으로 이동 For cnt = 9 DownTo 1 { LD[cnt] = LD[cnt-1]; LT[cnt] = LT[cnt-1]; LV[cnt] = LV[cnt-1]; } //0번방에 날짜, 시간, 가격 저장 LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; //직전 고점에서 현재 저점까지 연결선 출력 ZigZagTL = TL_New(HD[0],HT[0],HV[0],LD[0],LT[0],LV[0]); //색상은 Blue TL_SetColor(ZigZagTL,Gray); //굴긱는 1 TL_SetSize(ZigZagTL,1); LTL = TL_New(LD[0],LT[0],LV[0],NextBarSdate,NextBarStime,LV[0]); TL_SetColor(LTL,Blue); LTX = text_new(LD[0],LT[0],LV[0],NumToStr(LV[0],2)); Text_SetStyle(LTX,2,0); } Else { //상승구간 if trend == 1 Then { //고점이 갱신되면 if HPrice > HV[0] Then { //갱신된 봉의 날짜/시간/가격으로 변경 HD[0] = sDate; HT[0] = sTime; HV[0] = HPrice; //지그재그 추세선의 끝점을 현재봉으로 이동 TL_SetEnd(ZigZagTL,HD[0],HT[0],HV[0]); //고점 수평 추세선의 끝점을 현재봉으로 이동 TL_SetBegin(HTL,HD[0],HT[0],HV[0]); Text_SetString(HTX,NumToStr(HV[0],2)); Text_SetLocation(HTX,HD[0],HT[0],HV[0]); } } //하락구간 if trend == -1 Then { //저점이 갱신되면 if LPrice < LV[0] Then { //갱신된 봉의 날짜/시간/가격으로 변경 LD[0] = sDate; LT[0] = sTime; LV[0] = LPrice; //지그재그 추세선의 끝점을 현재봉으로 이동 TL_SetEnd(ZigZagTL,LD[0],LT[0],LV[0]); //저점 수평 추세선의 끝점을 현재봉으로 이동 TL_SetBegin(LTL,LD[0],LT[0],LV[0]); Text_SetString(LTX,NumToStr(LV[0],2)); Text_SetLocation(LTX,LD[0],LT[0],LV[0]); } } TL_SetEnd(HTL,sDate,sTime,HV[0]); TL_SetEnd(LTL,sDate,sTime,LV[0]); } } 즐거운 하루되세요
프로필 이미지
말비
2023-03-30
1547
글번호 167690
시스템