커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

시스템식으로 변경부탁드립니다.

Input:length(12); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0), Text1(0),처리구분(""); Array:고점[10,2](0),저점[10,2](0); //가격,위치 처리구분 = ""; If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then { If 저점[1,1] > L Then 처리구분 = "저점처리"; If 고점[1,1] < H Then 처리구분 = "고점처리"; } Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리"; Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { lastHiVal = H; If 고점[1,2] < 저점[1,2] Then { For j = 10 DownTo 2 { 고점[j,1] = 고점[j-1,1]; 고점[j,2] = 고점[j-1,2]; } } If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then { 고점[1,1] = H; 고점[1,2] = Index; sBar = Index - 저점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1], sDate[eBar],sTime[eBar],고점[1,1]); Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1], NumToStr(고점[1,1],2)); Text_SetStyle(Text1, 2, 1); } } If 처리구분 == "저점처리" Then { lastLoVal = L; If 저점[1,2] < 고점[1,2] then { For j = 10 DownTo 2 { 저점[j,1] = 저점[j-1,1]; 저점[j,2] = 저점[j-1,2]; } } If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then { 저점[1,1] = L; 저점[1,2] = Index; sBar = Index - 고점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1], sDate[eBar],sTime[eBar],저점[1,1]); Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1], NumToStr(저점[1,1],2)); Text_SetStyle(Text1, 2, 0); } } TL_SetSize(TL1,1); TL_SetColor(TL1,CYAN); 고점매도 저점매수 시스템식으로 변경부탁드립니다. 감사합니다.
프로필 이미지
고저중
2016-11-17
170
글번호 104072
시스템
답변완료

MA 증가시 매수하는 시스템

단순 MA가 증가하기 시작하면, 매수하려고 합니다. 어떻게 작성해야할지 감이 안잡히네요. 도움 부탁드립니다. 감사합니다.
프로필 이미지
시지푸스
2016-11-17
145
글번호 104071
시스템

고저중 님에 의해서 삭제되었습니다.

프로필 이미지
고저중
2016-11-17
0
글번호 104070
시스템
답변완료

문의드립니다

if ticks > 290 Then plot1(H); ......................................... 상기 검색식을 지표식으로 바꾸어 주세요 감사합니다.
프로필 이미지
회원
2016-11-17
156
글번호 104069
지표
답변완료

수식 작성

안녕하세요? 아래와 같이 참조한 옵션 종목 중에서 현재가가 2.50에 가장 근접한 각각의 콜/풋 종목을 찾는 수식을 작성하고자 합니다. 예:) Array: 콜현[5](0), 풋현[5](0); 콜현[1] = data2(C); 풋현[1] = data3(C); // 250.0 콜현[2] = data4(C); 풋현[2] = data5(C); // 252.5 콜현[3] = data6(C); 풋현[3] = data7(C); // 247.5 // 콜2_5 = ? // 풋2_5 = ? 감사합니다.
프로필 이미지
리턴
2016-11-17
167
글번호 104068
지표
답변완료

수식 확인 부탁드립니다

만들어주신 식을 실행한 결과 신호가 발생하지 않습니다 확인 부탁드립니다 감사합니다 안녕하세요 예스스탁입니다. if sdate == Sdate[2] and countif(C>O and C == DayClose(1),3) == 3 Then buy("b"); if sdate == Sdate[2] and countif(C<O and C == DayClose(1),3) == 3 Then sell("s"); 즐거운 하루되세요 > 타이쿤 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다 > (1) 아래 조건을 만족시키는 연속 3캔들 매수 ...양봉+가격이 전일 종가와 같은 캔들+양봉...매수 아래 조건을 만족시키는 연속 3캔들 매수 ...음봉+가격이 전일 종가와 같은 캔들+음봉...매도 감사합니다
프로필 이미지
회원
2016-11-16
170
글번호 104067
시스템
답변완료

지표 부탁드립니다.

전봉 및 당봉의 고저점 그리고 전봉의 종가를 표현하는 지표를 만들고싶습니다. 즉, 1봉전 고가,저가와 0봉전(현재진행중인캔들) 고가와 저가를 표현하며 마지막으로 1봉전 종가도 수치로 나타낼수있게 해주는 지표를 부탁드리겠습니다. 가격차트에 나타나는것이 아닌, 화면에 거래량처럼 나타나도록 부탁드립니다.
프로필 이미지
운동좋아
2016-11-16
160
글번호 104066
지표

토루크막토 님에 의해서 삭제되었습니다.

프로필 이미지
토루크막토
2016-11-16
0
글번호 104065
기타
답변완료

분봉에서 일봉의 RSI 구현

분봉차트에서 일봉의 RSI이용해서 매매하고자 하는데요... 검색해보니 답변 내용 중에 아래와 같은 식이 나오는데 실제로 시뮬레이션 차트에 적용해 보면 RSI값이 계속 0으로 표시됩니다. ----------- Inputs: Length(9); Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0); var : RSIv(0),didx(0), UpAvg1(0), DownAvg1(0); if date != date[1] Then{ didx = didx+1; UpAvg1 = UpAvg[1]; DownAvg1 = DownAvg[1]; } If didx <= 1 AND Length > 0 Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = DayClose(Counter) - DayClose(Counter+1); If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / Length; DownAvg = DownSum / Length; End Else If didx > 1 AND Length > 0 Then Begin UpAmt = DayClose(0) - DayClose(1); If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg1 * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg1 * (Length - 1) + DownAmt) / Length; End; If UpAvg + DownAvg <> 0 Then RSIv = 100 * UpAvg / (UpAvg + DownAvg); Else RSIv = 0; plot1(RSIV); PlotBaseLine1(30, "기준선 30"); PlotBaseLine2(70, "기준선 70"); ------------- 5분봉 실시간 차트에서 일봉의 RSI가 50 이상이면 첫번째 봉에서 매수하는 식 부탁드립니다. 감사합니다...^^
프로필 이미지
일목초인
2016-11-16
177
글번호 104064
시스템