커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

지표식 부탁드립니다.

- 해선 차트에서 오늘이 월요일이라면 전주 월요일부터 금요일까지의 최고가, 오늘이 화요일이라면 전주 화요일부터 금주 월요일까지의 최고가, 오늘이 수요일이라면 전주 수요일부터 금주 화요일까지의 최고가... 이런식으로 일주일 최고가를 구하는 식을 부탁드립니다.
프로필 이미지
예시
2017-03-15
197
글번호 107816
지표
답변완료

부탁합니다

아래의 지표식을 시스템식으로 변경하여 주시면 감사하겠습니다. Input:length(10),종가사용여부(0),파동선두께(2),수치표시(1); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==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 { 최종고가 = 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 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 2, 1); } TL_SetSize(TL1,파동선두께); 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 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = 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 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 2, 0); } TL_SetSize(TL1,파동선두께); 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]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; }
프로필 이미지
너무조아
2017-03-15
187
글번호 107815
시스템
답변완료

수식부탁드립니다

11일 이평선이 최근 30봉이내에 22일선을 3번이상 돌파한경우 (하방 상방 상관없이)를 condition 으로 넣고 싶습니다. 감사합니다
프로필 이미지
이대규
2017-03-15
170
글번호 107814
사용자 함수
답변완료

오류메세지 수정 부탁드립니다.

감사합니다. //========================================== // Indicator Name : FibonacciRetracement // Written by : yahoosir // Blog : http://yahoosir.blog.me //========================================== Input:length(10),ClsPxUseBit(0),inRange(10),waveLineSize(2),displPRC(1); Var:j(0),jj(0),jjj(0),HH(0),LL(0),lastHi(0),lastLo(0),lastVertex(""),procBit(""), TL1(0),TL2(0); Array:PK[50,4](0),VL[50,4](0), // 1:Price, 2:BarNumber, 3:Date, 4:Time basePK[5](0),baseVL[5](0); // 0:N/A, 1:Price, 2:BarNumber, 3:Date, 4:Time //========================================== HH = IFF(ClsPxUseBit == 1,C,H); LL = IFF(ClsPxUseBit == 1,C,L); If CurrentBar == 1 Then Begin PK[1,1] = HH; VL[1,1] = LL; End ; Condition1 = Highest(HH,length) = HH and lastHi <> HH; Condition2 = Lowest (LL,length) = LL and lastLo <> LL; procBit = ""; If Condition1 and Condition2 Then Begin If lastVertex == "Valley" Then procBit = "Peak" ; Else procBit = "Valley"; End Else If Condition1 Then procBit = "Peak" ; Else If Condition2 Then procBit = "Valley"; //========================================== If procBit == "Peak" Then Begin lastHi = HH; If lastVertex == "Valley" Then Begin For j = 50 DownTo 2 Begin For jj = 1 To 4 Begin PK[j,jj] = PK[j-1,jj]; End ; End ; PK[1,1] = HH; PK[1,2] = BarNumber; PK[1,3] = Date; PK[1,4] = Time; TL1 = TL_New(VL[1,3],VL[1,4],VL[1,1],PK[1,3],PK[1,4],PK[1,1]); TL_SetSize(TL1,waveLineSize); TL_SetColor(TL1,RED); basePK[1] = 0; For j = 1 To inRange Begin If basePK[1] < PK[j,1] Then Begin For jjj = 1 To 4 Begin basePK[jjj] = PK[j,jjj]; End ; End ; End ; End Else If PK[1,1] < HH Then Begin PK[1,1] = HH; PK[1,2] = BarNumber; PK[1,3] = Date; PK[1,4] = Time; TL_SetEnd(TL1,PK[1,3],PK[1,4],PK[1,1]); End ; lastVertex = "Peak"; End ; //========================================== If procBit == "Valley" Then Begin lastLo = LL; If lastVertex == "Peak" then Begin For j = 50 DownTo 2 Begin For jj = 1 To 4 Begin VL[j,jj] = VL[j-1,jj]; End ; End ; VL[1,1] = LL; VL[1,2] = BarNumber; VL[1,3] = Date; VL[1,4] = Time; TL1 = TL_New(PK[1,3],PK[1,4],PK[1,1],VL[1,3],VL[1,4],VL[1,1]); TL_SetSize(TL1,waveLineSize); TL_SetColor(TL1,BLUE); baseVL[1] = 0; For j = 1 To inRange Begin If baseVL[1] > VL[j,1] or baseVL[1] = 0 Then Begin For jjj = 1 To 4 Begin baseVL[jjj] = VL[j,jjj]; End ; End ; End ; End Else If VL[1,1] > LL then Begin VL[1,1] = LL; VL[1,2] = BarNumber; VL[1,3] = Date; VL[1,4] = Time; TL_SetEnd(TL1,VL[1,3],VL[1,4],VL[1,1]); End ; lastVertex = "Valley"; End ; //========================================== Array: fr[7,4](0); // 1:Rate, 2:Price, 3:Trendline ID, 4:Text ID If CurrentBar == 1 Then Begin fr[1,1] = 0; fr[2,1] = 0.236; fr[3,1] = 0.382; fr[4,1] = 0.50; fr[5,1] = 0.618; fr[6,1] = 0.764; fr[7,1] = 1; End ; If basePK[1] > 0 and baseVL[1] > 0 Then Begin If baseVL[2][1] <> baseVL[2] or basePK[2][1] <> basePK[2] Then Begin If TL2 > 0 Then TL_Delete(TL2); TL2 = TL_New(baseVL[3],baseVL[4],baseVL[1],basePK[3],basePK[4],basePK[1]); TL_SetSize(TL2,4); TL_SetColor(TL2,Magenta); If baseVL[2] < basePK[2] Then Begin for j = 1 to 7 Begin If fr[j,3] > 0 Then TL_Delete(fr[j,3]); fr[j,2] = basePK[1] - ((basePK[1] - baseVL[1]) * fr[j,1]); fr[j,3] = TL_New(baseVL[3],baseVL[4],fr[j,2],Date,Time,fr[j,2]); If displPRC == 1 Then Begin If fr[j,4] > 0 Then Text_Delete(fr[j,4]); fr[j,4] = Text_New(baseVL[3],baseVL[4],fr[j,2],"(" + NumToStr(fr[j,1]*100,1) + "%) " + NumToStr(fr[j,2],2)); Text_SetStyle(fr[j,4], 1, 2); Text_SetColor(fr[j,4],black); End ; End ; End Else If basePK[2] < baseVL[2] Then Begin for j = 1 to 7 Begin If fr[j,3] > 0 Then TL_Delete(fr[j,3]); fr[j,2] = baseVL[1] + ((basePK[1] - baseVL[1]) * fr[j,1]); fr[j,3] = TL_New(basePK[3],basePK[4],fr[j,2],Date,Time,fr[j,2]); If displPRC == 1 Then Begin If fr[j,4] > 0 Then Text_Delete(fr[j,4]); fr[j,4] = Text_New(basePK[3],basePK[4],fr[j,2],"(" + NumToStr(fr[j,1]*100,1) + "%) " + NumToStr(fr[j,2],2)); Text_SetStyle(fr[j,4], 1, 2); Text_SetColor(fr[j,4],black); End ; End ; End ; End Else Begin for j = 1 to 7 Begin TL_SetEnd(fr[j,3],Date,Time,fr[j,2]); End ; End ; End ;
프로필 이미지
매버릭
2017-03-15
294
글번호 107813
지표
답변완료

지표 만들고 검색할때

사용자 지표를 만들고 저장해놓으면 검색식 만들때 그 지표를 불러와서 사용가능한가요? 예를 들어 Q(0) 라는 지표를 만들어서 지표식에서 작동하는 것을 확인했고 검색식을 만들때 Q(0)라는 지표를 불러서 사용하면 되는 지 궁금합니다.
프로필 이미지
왓썹
2017-03-15
186
글번호 107811
지표
답변완료

수정 부탁드려요

52376 댓글에 보완 사항을 적었습니다 확인해보시고 수정 부탁드립니다
프로필 이미지
정상에서야
2017-03-15
198
글번호 107805
지표
답변완료

문의드립니다.

좋은 하루 입니다. 1.환경: 당일 고가저가의 중심인 중심선상 2.표시 20일선이 30일선 아래 있으면 중심선 색상이 파랑색 20일선이 30일선 위에 있으면 중심선 색상이 빨강색 으로 표시되도록 하려는데 잘 안되네요. 수고하세요 ^^
프로필 이미지
웹피
2017-03-15
182
글번호 107804
지표
답변완료

Line에 text 표시

안녕하세요 Line에 text를 표시하는 방법 부탁드립니다. ----------------------------- 선물 분봉 사용하여 (시간주기 상관없이) 당일시가기준으로 1pt 상승시 또는 하락시 마다 Line이 그려졌다고 했을 때 1) 빨간색 상승Line 위에 해당지수,경과봉수를 text로 표시 2) 파란색 하락Line 아래에 해당지수,경과봉수를 text로 표시 (text는 되도록 Line 중앙에 위치) 그림으로 표시하면 다음과 같습니다. 괄호안은 해당line의 봉경과 갯수입니다. 278.50 (10) 빨간색 상승선 ---------------- 빨간색 277.50 (24) 빨간색 상승선 --------------- 빨간색 하락선 ----------- 파란색 277.50 (7) 파란색 하락선 ---------------- 파란색 276.50 (14) 파란색 꼭 위의 예가 아닌 스윙하이 스윙로우 Line 등 수평추세선이 나오는 어떤 예도 상관없습니다. 이상입니다. 감사합니다 !!
프로필 이미지
새로운세상
2017-03-15
209
글번호 107799
지표
답변완료

수식부탁드립니다

안녕하세요^^ 혼자 수식을 만드는데 어려워서 도움을 청합니다. 단순 5 이동평균선을 사용하여 골드일때 매수식 데드일때 매도식을 만들고 싶습니다. 감사합니다.
프로필 이미지
시월
2017-03-15
175
글번호 107797
시스템