커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의 드립니다.

랜덤으로 숫자 0 or 1 을 구할려고 하는데요. Var1 = Int(Random(2)); 위에처럼 하는게 맞는 것인지, Var1 = Int(Random(10))%2; 위에처럼 하는게 맞는 방식인지 헷갈립니다. 둘의 차이점이 있나요?
프로필 이미지
무결점
2020-11-17
638
글번호 143986
시스템
답변완료

개장직후 첫번쨰 봉에서는 진입신호를 피하고 싶습니다.

미니 나스닥 입니다. 래리 윌리엄스의 변동성 돌파전략을 적용하려고 하는데요. 전일 변동폭과 특정 배수를 곱해서 ltr을 구하고, 이를 금일 시가에 더하여 매수진입 밴드를 형성합니다. 그리고 매수진입 밴드를 상향돌파하면 매수포지션에 진입하는 전략을 만드려고 하는데요 input : k(0.45),mini(20),maxi(135),p(45); var : range(0), ltr(0), cut(0), setup(0); range = dayhigh(1) - daylow(1); ltr = min(maxi,max(mini,k * range)); var : b(0), nb(0), ii(0); var : entry(0); b = dayopen + ltr; if bdate != bdate[1] then Begin ii = 0; end; if bdate == bdate[1] then Begin ii = ii + 1; end; if ii >= 1 then Begin if MarketPosition == 0 then begin if h < b then buy("b",atstop,b); end; end; SetStopEndofday(); 상기와 같이 진입수식을 짯는데 가끔 첫번쨰 봉에서 매수진입을 합니다. 그리고 매수진입가가 전일 dayopen + ltr 값으로 되어있습니다. 첫번쨰 봉에서는 전일 dayopen + ltr 값을 매수진입 가격으로 인식하는 듯 한데요, 참고로 연두색선이 dayopen + ltr 이고 파란색선은 dayopen 입니다 이를 좀 해결할 방법이 없을까요? 제가 원하는 건 첨부파일에서 빨갛게 표시된 연두색 선에서 진입해야 합니다
프로필 이미지
엠씨용가
2020-11-17
805
글번호 143985
시스템
답변완료

특정값에 도달시 X수만큼 매수되는 수식 요청드림니다.

국내주식 data1: 30분봉 data2: 일봉 매수진입 1. 설정해 놓은 특정값이 도달시 x수량 매수 (예 12000원에 100주 매수 ) 매수청산 1. data2(일봉) MFI(14) > 80 일때 전량 청산
프로필 이미지
이형지
2020-11-17
641
글번호 143983
시스템
답변완료

문의 드립니다.

강제청산 기능에 목표수익과 손절매 기능을 코드로 구현하되 진입가격을 고가말고 항상 저가와 먼저 비교하게 해주세요 예를 들어서 원래는 저가 폭이 더 클경우 시가-고가-저가-종가지만 항상 시가-저가-고가-종가 순으로 되도록 해주세요 늘 감사합니다.
프로필 이미지
qwer1234
2020-11-17
694
글번호 143976
시스템
답변완료

69949 수식 수정 부탁합니다.

안녕하세요~ 수식 감사합니다. 그런데, 시스템 적용해보니 첨부 그림과 같이 매수진입 후 위 간격식에 닿을 때 청산이 되어야 하는데, 청산이 안됩니다. 매도로 진입한 경우에도 아래 간격식에 닿으면 청산이 되어야합니다. 차트는 나스닥 1분봉 차트입니다. 수식 수정 부탁드립니다. 감사합니다. ================================================================ 안녕하세요 예스스탁입니다. input : tick(20); var : sngMx(12000.00), sngDx(125.00); var : v1(0),v2(0),v3(0),v4(0),v5(0); var : v6(0),v7(0),v8(0),v9(0),v10(0); var : v11(0),v12(0),v13(0),v14(0),v15(0); var : v16(0),v17(0),v18(0),v19(0),v20(0); v1 = sngMx; v2 = sngMx - 1 * sngDx; v3 = sngMx - 2 * sngDx; v4 = sngMx - 3 * sngDx; v5 = sngMx - 4 * sngDx; v6 = sngMx - 5 * sngDx; v7 = sngMx - 6 * sngDx; v8 = sngMx - 7 * sngDx; v9 = sngMx - 8 * sngDx; v10 = sngMx - 9 * sngDx; v11 = sngMx - 10 * sngDx; v12 = sngMx - 11 * sngDx; v13 = sngMx - 12 * sngDx; v14 = sngMx - 13 * sngDx; v15 = sngMx - 14 * sngDx; v16 = sngMx - 15 * sngDx; v17 = sngMx - 16 * sngDx; v18 = sngMx - 17 * sngDx; v19 = sngMx - 18 * sngDx; v20 = sngMx - 19 * sngDx; var1 = 0; if h < v1+PriceScale*tick Then var1 = v1; if h < v2+PriceScale*tick Then var1 = v2; if h < v3+PriceScale*tick Then var1 = v3; if h < v4+PriceScale*tick Then var1 = v4; if h < v5+PriceScale*tick Then var1 = v5; if h < v6+PriceScale*tick Then var1 = v6; if h < v7+PriceScale*tick Then var1 = v7; if h < v8+PriceScale*tick Then var1 = v8; if h < v9+PriceScale*tick Then var1 = v9; if h < v10+PriceScale*tick Then var1 = v10; if h < v11+PriceScale*tick Then var1 = v11; if h < v12+PriceScale*tick Then var1 = v12; if h < v13+PriceScale*tick Then var1 = v13; if h < v14+PriceScale*tick Then var1 = v14; if h < v15+PriceScale*tick Then var1 = v15; if h < v16+PriceScale*tick Then var1 = v16; if h < v17+PriceScale*tick Then var1 = v17; if h < v18+PriceScale*tick Then var1 = v18; if h < v19+PriceScale*tick Then var1 = v19; if h < v20+PriceScale*tick Then var1 = v20; var2 = 0; if L > v20-PriceScale*Tick Then var2 = v20; if L > v19-PriceScale*Tick Then var2 = v19; if L > v18-PriceScale*Tick Then var2 = v18; if L > v17-PriceScale*Tick Then var2 = v17; if L > v16-PriceScale*Tick Then var2 = v16; if L > v15-PriceScale*Tick Then var2 = v15; if L > v14-PriceScale*Tick Then var2 = v14; if L > v13-PriceScale*Tick Then var2 = v13; if L > v12-PriceScale*Tick Then var2 = v12; if L > v11-PriceScale*Tick Then var2 = v11; if L > v10-PriceScale*Tick Then var2 = v10; if L > v9-PriceScale*Tick Then var2 = v9; if L > v8-PriceScale*Tick Then var2 = v8; if L > v7-PriceScale*Tick Then var2 = v7; if L > v6-PriceScale*Tick Then var2 = v6; if L > v5-PriceScale*Tick Then var2 = v5; if L > v4-PriceScale*Tick Then var2 = v4; if L > v3-PriceScale*Tick Then var2 = v3; if L > v2-PriceScale*Tick Then var2 = v2; if L > v1-PriceScale*Tick Then var2 = v1; if MarketPosition <= 0 and var1 > 0 Then { Buy("b",AtStop,var1+PriceScale*tick); } if MarketPosition >= 0 and Var2 > 0 Then { Sell("s",AtStop,Var2-PriceScale*tick); } if MarketPosition == 1 Then { ExitLong("bp",AtLimit,var1[BarsSinceEntry+1]+sngDx); ExitLong("bl",AtStop,var1[BarsSinceEntry+1]); } if MarketPosition == -1 Then { ExitShort("sp",AtLimit,var2[BarsSinceEntry+1]-sngDx); ExitShort("sl",AtStop,var2[BarsSinceEntry+1]); } 즐거운 하루되세요 ======================================================================== > 모센 님이 쓴 글입니다. > 제목 : 시스템 수식 문의드립니다. > 안녕하세요, 수고 많으십니다. 항상 감사드리며 수식 문의드립니다. 아래 간격선 수식에서 매수, 매도조건을 설정하고 싶습니다. 매수진입 : 간격선 + 20틱에 닿을때 실시간 매수진입 매수청산 : 간격선에 닿을 때 실시간 매수청산 매도진입 : 간격선 - 20틱에 닿을때 실시간 매도진입 매도청산 : 간격선에 닿을 때 실시간 매도청산 input : cnt(20) // 20틱을 외부변수로 조정할 수 있도록 부탁합니다. var : sngMx(12000.00), sngDx(125.00); // 500틱 간격선 중 고점 / sngDx: 500틱 간격(125pt) v1 = sngMx; v2 = sngMx - sngDx; v3 = sngMx - 2 * sngDx; v4 = sngMx - 3 * sngDx; v5 = sngMx - 4 * sngDx; v6 = sngMx - 5 * sngDx; v7 = sngMx - 6 * sngDx; v8 = sngMx - 7 * sngDx; v9 = sngMx - 8 * sngDx; v10 = sngMx - 9 * sngDx; v11 = sngMx - 10 * sngDx; v12 = sngMx - 11 * sngDx; v13 = sngMx - 12 * sngDx; v14 = sngMx - 13 * sngDx; v15 = sngMx - 14 * sngDx; v16 = sngMx - 15 * sngDx; v17 = sngMx - 16 * sngDx; v18 = sngMx - 17 * sngDx; v19 = sngMx - 18 * sngDx; v20 = sngMx - 19 * sngDx;
프로필 이미지
모센
2020-11-17
684
글번호 143974
시스템
답변완료

문의드립니다.

안녕하세요. 아래와 같이 베이시스를 만들어 사용하고 있습니다. 기본차트 연결선물지수, 참조데이터 KP200지수로 하여 plot1(C-data2(c)); 를 출력해 사용하고 있습니다. 그런데 분봉상 이 수치는 해당봉이 완성될 때 까지 계속해서 바뀌죠. 가령, 5분봉 차트에서 C-data2(c) 값은 각C값에 따라 5분동안 실시간으로 바뀌는데 5분동안 C-data2(c) 값의 고점과 저점을 고정하여 나타내고 싶습니다. 수식이 어떻게 될까요..??
프로필 이미지
뉴하트
2020-11-17
721
글번호 143969
지표
답변완료

문의 드립니다.

안녕하세요 항상 빠른 답변 갑사드립니다. 아래 답변중에 수정 보완을 요청 드립니다. 2-b 5일 평균 거래량을 100% 돌파한 양봉들의 중심선을 수평선으로 차트 오른쪽까지 주욱 표시 할수 있는 식을 요청 드립니다. input : P(5),Per(100); var : TL(0); var1 = ma(V,P); if CrossUp(V,var1*(1+per/100)) Then { var2 = (H+L)/2; TL = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2); TL_SetExtRight(TL,true); } 위 사항을 적용하니 전일 라인이 오른쪽을 방향으로 침범하여 당일차트 보기가 불편합니다. 분봉상 당일만 라인이 표기 희망합니다. 혹시 인풋값으로 기간값을 넣을수 있다면 일봉에서도 신호가 발행하고 10일정도까지만 오른쪽 수평선이 표시된다면 좋을듯 합니다. 그럼 좋은 하루 되세요^^ 감사합니다
프로필 이미지
느와르
2020-11-17
793
글번호 143968
지표
답변완료

수식부탁드립니다

오늘도 수고해 주셔서 감사드립니다. 아래와 같은 과정으로 수식부탁을 드립니다. (1)매수식(분봉에 적용) 1.거래시간 한국시간 기준 19시부터 익일 02시 00분까지 2.거래회수 : 주어진시간 기준 총 12회까지 3.매매기준 1)첫번째 양봉에 매수(손절15틱 익절 30틱)진입 2)먼저 진입된 매수포지션이 손절일 경우 다음 진입은 손절가 기준으로 +-15틱(외부변수) 이상에서 양봉에 매수진입( 손절 15틱 익절 30틱) 3)먼저 진입된 매수포지션이 익절 청산일 경우 다음봉 양봉에 매수진입(손절 15틱 익절 30틱) 4)이런 방법으로 먼저 진입되어진 것이 손절되거나 익절되어 청산되면(무포지션 상태) 주어진 조건(손절청산 또는 익절청산) 기준에 따라 양봉에만 계속 매수진입과 청산을 연속적으로 반복합니다. 5)매수진입 하루 총한도 12회까지 가능 외부변수 원함 1.거래시간 2.진입횟수 3.손절 4.익절 5.손절가기준 수고해 주셔서 다시 한 번 감사드립니다.
프로필 이미지
황금룰
2020-11-17
711
글번호 143963
시스템
답변완료

분봉에서..

안녕하세요? 항상 어려운 질문드려도 답변 주셔서 감사합니다. 분봉에서 일봉, 주봉의 Linear Regression Line 계산해보고 싶은데, 방법 가이드 부탁드립니다!! 감사합니다.
프로필 이미지
롬롬7
2020-11-17
679
글번호 143960
시스템