커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 부탁드립니다.

이격도 10 기간(가중, 고가)이 지표값 100.10 을 5봉 이내 상승돌파하면서, 이격도 5 기간(지수, 저가)이 현재봉과 이전봉이 101.50 보다 작으면서, 7봉 동안 101.50 아래를 유지하면서, 이동평균채널 3기간, 승수 2%가, 12봉 이내 MAC 하한선보다 종가상 아래있으면서, 4봉 동안 MAC 하한선보다 아래있고, 현재봉 고가가 5 이평선 (삼각가중, 중간값)을 11봉 이내 상승돌파하고, Volume Ratio 20 기간 시그널 30 이 50봉전 기준 기준값 40을 1봉이내 상승돌파하고, 일목균형표 (9,26,52) 전환선이 3봉 이내 종가를 상향돌파할 때, 위 조건 6개가 일치할 때 매수하는 전략을 작성하고 싶습니다.
프로필 이미지
회원
2013-06-07
354
글번호 64060
시스템
답변완료

다시 질문 드립니다.

30716 질문했었는데 아래와 같이 기술해 주셨습니다. 첫 양봉이 완성되고 다음봉에서 첫 양봉 종가 바로 한틱 위에서 매수 진입하고 싶은데 아래 식으로 하니 둘째봉 종가에 매수되더군요. 둘째봉 완성봉이 아니라 둘째봉 진행중 조건이 맞으면 체결되게 하고 싶습니다. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ var1 = ma(c,5); var2 = ma(c,10); var3 = ma(c,20); if C[1] >= O[1]+0.7 and H[1] >= L[1]+1 And L[1] < var1[1] and C[1] > var1[1] and var1 > var2 and var2 > var3 And L < C[1] And L > (C[1]+O[1])/2 And C >= C[1]+PriceScale Then buy(); 즐거운 하루되세요 > 뽕빵이 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다. > 바로 이전봉과 현재봉의 시고저종가를 비교하여 진입하고 싶습니다. 이전봉이 장대 양봉이고 현재봉이 이 양봉 상단에서 아래꼬리 달고 다시 상승할때 매수 진입하는 수식입니다. 매수조건 1. 이전봉 고저폭이 1포인트 이상 양봉 일것 양봉 몸통은 0.7포인트 이상일것 2. 이전봉 저가가 10이평 아래까지 내려왔다가 상승할것 3. 현재봉 이평 상태가 5,10,20 정배열일것 4. 현재봉 아래꼬리가 이전봉 양봉 종가 아래까지 내려올것 5. 단 현재봉 저가는 이전봉 몸통(시종)의 50% 상단일것 6. 이때 현재가가 이전봉 종가가격을 한틱 위로 넘어가면 매수할것 부탁드립니다.
프로필 이미지
뽕빵이
2013-06-07
250
글번호 64054
시스템
답변완료

수식 문의드립니다.

수고 많으십니다. 1. <A가 B를 상향돌파하였던 봉의 종가에서 현재 봉의 종가를 빼면 1.25 보다 클 경우> 를 수식으로 만들었을 경우 아래의 수식이 맞는지요? 똑같은 2개의 c(종가)가 있어서 그런지 제가 뜻하는 결과가 표시되지 않는 거 같습니다. 하나의 종가는 돌파한 당시의 봉의 종가이고 또 하나는 현재 봉의 종가이므로 이것들이 같은 c 로 표기하여서는 안될 것 같은 생각이 듭니다. ValueWhen(1,crossup(A,B),c)-c>1.25 2. <어제(하루 전 날) A가 B를 상향돌파하였던 봉의 종가에서 현재 봉의 종가를 빼면 1.25 보다 클 경우> 3. <그제(이틀 전 날) A가 B를 상향돌파하였던 봉의 종가에서 현재 봉의 종가를 빼면 1.25 보다 클 경우> 위의 2, 3번을 수식으로 만들어주시면 고맙겠습니다. 제 의문을 풀어주시면 대단히 감사하겠습니다.
프로필 이미지
예서
2013-06-07
232
글번호 64052
시스템
답변완료

30739번 압축파일이 첨부되지 않은거 같습니다..

30739번에 손절매 수식추가하여 압축파일로 올려 주신다고 하였는데 첨부파일이 없습니다.. 올려주시면 감사하겠습니다. 완성봉 신호는 좀더 테스트 해보겠습니다. 감사합니다
프로필 이미지
회원
2013-06-07
213
글번호 64051
시스템
답변완료

문의 드립니다.

항상 감사드립니다.^^ 틱차트의 데이시스템에서 그 날의 봉(dayindex+1을 1로 시작 할때)의 3봉이하에서 진입을 하였다면 그 날의 첫봉(dayindex+1==1)의 저가와 고가를 매수매도진입의 손절선으로 하고싶습니다. 간단히 설명하면 진입봉이 그날의 3봉이하, 첫째봉의 고가,저가 이 두가지를 표현하고자 합니다. 부탁드립니다.
프로필 이미지
회원
2013-06-07
209
글번호 64050
시스템
답변완료

교차챠트문의

옵션교차챠트에서 DATA2의 기준선을 그리고 싶습니다 DATA2의 옵션월물 첫날의 전가선(옵션월물기준선)
프로필 이미지
스로우
2013-06-07
261
글번호 64049
지표
답변완료

거래량이용 시스템식

항상 감사드립니다 거래량을 이용한 시스템식을 작성하고 싶습니다 1.시스템식 조건 a.현재봉의 거래량이 2000개 이상이고 양봉마감이면 종가에 매수신호 a-1 신호발생봉의 양봉저가 하향돌파시 매수청산 a-2 신호발생봉의 시가 하향돌파시 매수청산 b.현재봉의 거래량이 2000개 이상이고 음봉마감이면 종가에 매도신호 b-1 신호발생봉의 음봉고가 상향돌파시 매도청산 b-2 신호발생봉의 시가 상향돌파시 매도청산 감사합니다
프로필 이미지
조민철
2013-06-06
247
글번호 64048
시스템

파쿠3 님에 의해서 삭제되었습니다.

프로필 이미지
파쿠3
2013-06-07
21
글번호 64047
시스템
답변완료

문의드립니다

Input:기간단위(1), //1(일단위),2(주단위),3(월단위),4(년단위),그외(전기간) 추세강화판단(5); //최종 저점이후 얼마 지나야 추세강화를 판단할 지 입력 //여기서는 5봉 이후에 판단하라는 의미 //이 값이 커지면 추세강화처리 빈도가 작아진다 Var:j(0),k(0),n(0),Yes(1),No(0), 최종저Bar(0), //입력변수 추세강화판단과 비교하기 위해 내부 카운트 변수 추세선추가(0), //추세이탈 발생시 추세선을 추가할지 말지 구분자 기울기(0), 추세강화(0); //추세강화를 한번만 처리하기 위해 발생 여부 구분 Array:기준저[100](0), //기본형과 달리 추세강화 처리시 기준저 값이 바뀌므로 기준저Bar[100](0), //배열로 선언 저[100](0),저Bar[100](0), 추세선[100](0), 체크Bit[100](0); //기준저와 저점의 값은 그대로 유지하면서 추세선값만 //지울 때 사용. //추세강화 처리시 이전 추세선의 연장을 막음 #==========================================# # 기준점들의 index 값 증가 #==========================================# 최종저Bar = 최종저Bar + 1; For j = 1 To 99 { 기준저Bar[j] = 기준저Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; } #==========================================# # 기간단위별 초기화 #==========================================# If (기간단위 == 1 && Date[1] < Date) || (기간단위 == 2 && Date[1] < Date && _DayOfWeek[1] >= _DayOfWeek) || //사용자함수 (기간단위 == 3 && Int(Date/100)[1] < Int(Date/100)) || (기간단위 == 4 && Int(Date/10000)[1] < Int(Date/10000)) Then { For j = 1 To 99 { 추세선[j] = 0; 기준저[j] = 0; 체크Bit[j] = No; } n = 0; 최종저Bar = 0; 추세강화 = No; } #==========================================# # 추세의 출발점 찾기 #==========================================# If 기준저[n] == 0 && ((기간단위 == 1 && L[1] == DayLow) || (기간단위 == 2 && L[1] == _WeekLow(0)) || //사용자함수 (기간단위 > 2 && L[1] == _MonthLow(0))) && //사용자함수 L[1] < L Then { n = n + 1; 기준저[n] = L[1]; 기준저Bar[n] = 1; 저[n] = L; 저Bar[n] = 0; 체크Bit[n] = Yes; //현재 추세선이 유효하다고 세팅 추세선추가 = No; //추세를 찾는 초기이기 때문에 추세선이 자리잡을 때까지 //추세이탈이 발생해도 추세선을 새로 추가하지 못하도록 한다 } #==========================================# # 추세선 계산 #==========================================# For j = 1 To n //증가된 n만큼 추세선을 재계산 { 추세선[j] = ((저[j]-기준저[j])/(기준저Bar[j]-저Bar[j]) * 기준저Bar[j] + 기준저[j]) * 체크Bit[j]; } #==========================================# # 추세선 유효성 판단 #==========================================# If 기준저[n] > 0 && 기준저[n] < L Then //출발점보다 저가가 높은 상태를 유지 { #------------------------------------------# # 저가가 추세선 하향 이탈시 신규 추세선 추가 #------------------------------------------# If 추세선[n] > L Then //추세이탈 발생 { If 추세선추가 == Yes Then //추세선 추가 가능 { If 추세강화 == Yes Then //현재 추세선이 추세강화에 의해 출발점이 변경된 경우라면 { For j = n - 1 DownTo 1 //추세강화에 의한 추세선은 현재 추세선보다 위에 존재하고 { //밑에 존재하는 추세선은 원래의 추세선밖에 없다. If 추세선[n] >= 추세선[j] && //추세강화에 의한 추세선 밑에 추세선[j] > 0 && //원래 출발점으로부터의 추세선이 있고 추세선[j] > L Then //그 원추세선을 이탈하였다면 { For k = n DownTo j + 1 //추세강화에 의해 산출된 추세선들은 { 추세선[k] = 0; //더 이상의 의미가 없으므로 기준저[k] = 0; //삭제한다. 체크Bit[k] = No; } n = j; //지우고 나서 가장 최근 추세선의 번호 추세강화 = No; //더 이상 추세강화 없음 j = 1; //For문에서 중간에 빠져나가기 위해 j에 1을 대입 } } } n = n + 1; //추세선 추가 기준저[n] = 기준저[n-1]; //출발점을 직전 추세선과 동일하게 유지 기준저Bar[n] = 기준저Bar[n-1]; 추세선추가 = No; //가격이 게속 하락할 경우 신규 추세선을 } //추가 못하도록 불가로 세팅 저[n] = L; 저Bar[n] = 0; 최종저Bar = 0; 체크Bit[n] = Yes; //새로 추가되는 추세선이 유효하다는 의미 추세선[n] = ((저[n]-기준저[n])/(기준저Bar[n]-저Bar[n]) * 기준저Bar[n] + 기준저[n]) * 체크Bit[n]; } Else If 추세선[n] > 0 Then { #------------------------------------------# # 추세강화시 새로운 출발점의 추세선을 추가 #------------------------------------------# If 추세강화 == No && //추세강화가 아직 발생 안했고 최종저Bar > 추세강화판단 Then //일정 기간동안 추세이탈이 일어나지 않고 있다면 { //추세강화로 보고 새로운 출발점 찾는다 n = n + 1; //추세선 추가 기준저[n] = 저[n-1]; //이전 추세선의 B점을 신규 출발점으로 한다 기준저Bar[n] = 저Bar[n-1]; #------------------------------------------# # 출발점부터 현재봉까지 추세선 소급 계산 #------------------------------------------# 저[n] = L[기준저Bar[n]-1]; //출발점의 바로 다음 봉의 저가 기울기 = (저[n]-기준저[n]); 저Bar[n] = 기준저Bar[n]-1; For j = 2 To 기준저Bar[n] //출발점부터 현재 봉까지 아무 것도 계산된 게 { //없으니 소급해서 추세선을 계산 추세선[n] = 기울기 * j + 기준저[n]; If 추세선[n] > L[기준저Bar[n]-j] Then { 저[n] = L[기준저Bar[n]-j]; 기울기 = (저[n]-기준저[n])/j; 저Bar[n] = 기준저Bar[n]-j; 최종저Bar = 저Bar[n]; 추세선[n] = 기울기 * j + 기준저[n]; } } 체크Bit[n] = Yes; For k = n - 2 DownTo 1 //추가된 추세선이 기존 추세선과 크로스되는 것을 방지하기 위해 { //기존의 원추세선중 마지막 추세선 이전 것들은 체크Bit[k] = No; //사용 못하도록 막아 놓는다. 추세선[k] = 0; } 추세강화 = Yes; //추세강화가 발생했음으로 세팅, 두번 이상 발생을 차단 추세선추가 = No; } Else If 저[n] < L && 저Bar[n] > 1 Then 추세선추가 = Yes; } } #------------------------------------------# # 출발점의 유효성 판단 #------------------------------------------# Else If 기준저[n] > 0 && 기준저[n] >= L Then //출발점보다 저가가 낮아지면 { For j = n DownTo 1 { If 기준저[j] > 0 && 기준저[j] >= L Then //출발점이 무너진 추세선만 초기화 { 추세선[j] = 0; 기준저[j] = 0; 체크Bit[j] = No; n = j - 1; } } 최종저Bar = 0; 추세강화 = No; } #==========================================# # 지표식 출력 #==========================================# If 추세선[1] > 0 Then Plot1(추세선[1]); If 추세선[2] > 0 Then Plot2(추세선[2]); If 추세선[3] > 0 Then Plot3(추세선[3]); If 추세선[4] > 0 Then Plot4(추세선[4]); If 추세선[5] > 0 Then Plot5(추세선[5]); If 추세선[6] > 0 Then Plot6(추세선[6]); If 추세선[7] > 0 Then Plot7(추세선[7]); If 추세선[8] > 0 Then Plot8(추세선[8]); If 추세선[9] > 0 Then Plot9(추세선[9]); If 추세선[10] > 0 Then Plot10(추세선[10]); If 추세선[11] > 0 Then Plot11(추세선[11]); If 추세선[12] > 0 Then Plot12(추세선[12]); If 추세선[13] > 0 Then Plot13(추세선[13]); If 추세선[14] > 0 Then Plot14(추세선[14]); If 추세선[15] > 0 Then Plot15(추세선[15]); If 추세선[16] > 0 Then Plot16(추세선[16]); If 추세선[17] > 0 Then Plot17(추세선[17]); If 추세선[18] > 0 Then Plot18(추세선[18]); If 추세선[19] > 0 Then Plot19(추세선[19]); If 추세선[20] > 0 Then Plot20(추세선[20]); If 추세선[21] > 0 Then Plot21(추세선[21]); If 추세선[22] > 0 Then Plot22(추세선[22]); If 추세선[23] > 0 Then Plot23(추세선[23]); If 추세선[24] > 0 Then Plot24(추세선[24]); If 추세선[25] > 0 Then Plot25(추세선[25]); If 추세선[26] > 0 Then Plot26(추세선[26]); If 추세선[27] > 0 Then Plot27(추세선[27]); If 추세선[28] > 0 Then Plot28(추세선[28]); If 추세선[29] > 0 Then Plot29(추세선[29]); If 추세선[30] > 0 Then Plot30(추세선[30]); If 추세선[31] > 0 Then Plot31(추세선[31]); If 추세선[32] > 0 Then Plot32(추세선[32]); If 추세선[33] > 0 Then Plot33(추세선[33]); If 추세선[34] > 0 Then Plot34(추세선[34]); If 추세선[35] > 0 Then Plot35(추세선[35]); If 추세선[36] > 0 Then Plot36(추세선[36]); If 추세선[37] > 0 Then Plot37(추세선[37]); If 추세선[38] > 0 Then Plot38(추세선[38]); If 추세선[39] > 0 Then Plot39(추세선[39]); 이수식을넣으면 선언되지않은이름dayofweek,weeklow,monthlow가사용되었다고나오는데무엇을어떻게해야하는지좀알려주세요...감사합니다
프로필 이미지
하얀그림자
2013-06-06
267
글번호 64046
시스템