커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의 드립니다.

안녕하세요. 다름이 아니라 아래의 식을 만들어 강조표시를 하게 , 2분봉 차트를 열고 강조표시를 하게 하면 연결선물에서는 강조표시가 나타나는데, 주식에서는 나타나지를 않는데, 왜 그런가요? 2분봉에서 9시30분에 강조표시를 하는 식입니다. =================================================================== var1 = c; If (stime >= 142800 and stime < 143000) and Var1 < 350 Then begin PlotPaintBar(close, close, "특시1"); end else NoPlot(1);
프로필 이미지
만복이
2018-08-03
195
글번호 121104
강조
답변완료

시스템식 부탁드립니다

당일거래대금이 100억이상 전일종가대비 당일고가가 20프로이상 타점1 : (당일고가+당일저가)/2 타점2 : 타점1x0.97 고점을 형성한이후 시간부터 14시까지는 저가가 타점1가격까지 떨어져서는 안됨 14시부터ㅡ15시까지도 저가가 타점1보다 높다면 15시이후에 타점1에서 매수 14시부터ㅡ15시까지 저가가 타점1가격보단 낮고 타점2 가격보다는 높을때 15시이후에 타점2에서 매수 14시ㅡ15시 사이에 저가가 타점2가격보다 아래에 떨어졌다면 매수하지않음 매도조건은 없음 부탁드려요
프로필 이미지
동작맨
2018-08-03
202
글번호 121102
시스템
답변완료

표시가 사라집니다

안녕하세요 예스스탁님 해외선물 오일240분 분봉에서 오늘만 지정선을 표시할려고 합니다 if CurrentDate == sdate Then plot1(68.75); plot1(68.75);만 있으면 그래프에 날짜 상관없이 쭉~ 선이 나타나는데요 오늘그래프에만 표시할려고 if CurrentDate == sdate Then을 쓰면 아예 68.75가 사라집니다 순서가 뒤바뀐줄알고 이렇게 sdate== CurrentDate 써봐도 뿅~하고 사라집니다 뭐가 문제인지 모르겠습니다
프로필 이미지
행복이
2018-08-03
193
글번호 121101
지표
답변완료

수식 함수

안녕하세요. 키움 영웅문W에서 사용하는 아래 함수들은 예스에서는 어떻게 변환해서 써야 하나요? 아래 함수들을 이용해 예시를 든 키움수식들을 예스 수식으로 변환 부탁드립니다. 함수들 * TEMA() * ValueWhen() * HighestSince() * MAX(), MIN() 수식들 T = ValueWhen(1, X != X(1), TEMA(C, P3)) X = ValueWhen( 1, CrossDown(C, Y), HighestSince(1, CrossUp(C, Y), Y) ); Y = ValueWhen( 1, CrossUp(C, X), LowestSince(1, CrossDown(C, X), X) ); MAX(A, B) MIN(A, B)
프로필 이미지
gap
2018-08-03
387
글번호 121100
지표
답변완료

문의 드립니다

더위에 수고가 많습니다 TEMA이평을 사용하고자 합니다 수식부탁드립니다 1. 5,20,40 이평을 동시에 표시하려합니다 2. 상승시 red선, 하락시 blue선으로 표시 부탁합니다 감사합니다
프로필 이미지
만강
2018-08-02
212
글번호 121099
지표
답변완료

수식변경요청

안녕하세요 아래수식은 고저점파동수식입니다 이수식을 Length2와 Length4 파동선 2개가 함께 나타나도록 수식변경부탁드립니다 감사합니다 Input:length(2),종가사용여부(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); Text_SetSize(Text1, 15); Text_SetColor(Text1,BLACK); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,BLACK); } 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, 2); Text_SetSize(Text1, 15); Text_SetColor(Text1,BLACK); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,BLACK); } 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)); } } 최종꼭지점 = "저점"; }
프로필 이미지
bestkim
2018-08-02
206
글번호 121098
지표
답변완료

문의 드립니다.

틱차트에 해선의 일봉이평의 가격라인을 표시하고자 수식을 찾아보았는데요 input : Price1(67.60),Price2(68.20); plot1(Price1); plot2(Price2); 이와 같은 수식이 있습니다. 이 가격라인 오른쪽 끝부분에 텍스트 출력을 하려면 var : tx1(0),tx2(0); Text_Delete(tx1); Text_Delete(tx2); tx1 = Text_New(sdate,stime,Price1,"20이평"); tx2 = Text_New(sdate,stime,Price2,"60이평"); 이것을 추가하면 나오는데요 문의사항은 1. 위와같은 20이평, 60이평 등의 택스트를 input 등 외부에서 수정변경하는 방법이 있으면 일려주세요 2. 이러한 내용을 추세선 수식으로 표시하는 방법도 있던데 알려주시면 고맙겠습니다. (오른쪽 연장, 선굵기, 선색깔, 텍스트 표시 등 포함해서요)
프로필 이미지
부엉이
2018-08-02
192
글번호 121097
지표
답변완료

확인부탁드립니다

시간내에 익절이던 손절이던 안나면 청산하게끔 하는 수식도 포함이 된건가요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 부탁드립니다. > 안녕하세요 예스스탁입니다. 1 Input : shortPeriod(8); input : starttime(90000),endtime(20000); Input : 당일수익틱수(80),당일손실틱수(80); Var : value1(0), value2(0), value3(0), value4(0); var : Tcond(false),N1(0),dayPl(0),당일수익(0),당일손실(0),Xcond(false); 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; if (sdate != sdate[1] and stime >= starttime) or (sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then { Tcond = true; Xcond = false; N1 = NetProfit; } if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then { Tcond = false; if MarketPosition == 1 Then ExitLong(); if MarketPosition == -1 Then ExitShort(); } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] and (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then Xcond = true; value1 = highest(H[25],26)+lowest(L[25],26); value2 = highest(H[25],26)+lowest(L[25],26); value3 = highest(H[25],82)+lowest(L[25],82); value4 = ma(C, shortPeriod); if Tcond == true and Xcond == false then { If CrossUp(Value4, max(value3)/2) Then buy(); If CrossDown(Value4, min(value3)/2) Then sell(); } if MarketPosition == 1 then{ ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then{ ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts)); } 2 저희가 제공하는 프로그램의 랭귀지는 모두 같습니다. 수식은 차트의 데이터를 읽어 계산을 하고 신호를 발생하는데 동일수식을 동일기간과 동일설정시 신호가 다르다면 해당 증권사/선물사의 데이터가 상이한 것입니다. 즐거운 하루되세요 > 이인 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다. > 현재 하기와 같은 수식을 쓰고 있습니다 Input : shortPeriod(8); Var : value1(0), value2(0), value3(0), value4(0); value1 = highest(H[25],26)+lowest(L[25],26); value2 = highest(H[25],26)+lowest(L[25],26); value3 = highest(H[25],82)+lowest(L[25],82); value4 = ma(C, shortPeriod); if stime >= 090000 or stime < 020000 then { If CrossUp(Value4, max(value3)/2) Then buy(); If CrossDown(Value4, min(value3)/2) Then sell(); } 요청사항 1. 익절 50틱 달성시 거래 중단&손절 50틱 달성시 거래중단 2. 거래 시간을 오전 2시까지 했는데 그때까지 진입한 계약이 익절이던 손절이던 안될경우 2시에 시장가 청산 후 거래 중지 그리고 같은 수식이라도 증권사별 (한투랑 농협)로 동일하지 않던데 원래 그런건가요? 부탁드리겠습니다
프로필 이미지
이인
2018-08-02
219
글번호 121096
시스템
답변완료

문의드립니다

Var : cnt_total(0); Var : Entrycnt(0); Entrycnt = 0; for cnt_total = 0 to 100 { if sdate == EntryDate(cnt_total) Then Entrycnt = Entrycnt+1;} input : stime11(90000); input : stime12(95900); if MarketPosition == 0 and entrycnt <1 and Time >= stime11 and Time <= stime12 and RSI(10) > 60 Then buy("매수"); if MarketPosition == 0 and entrycnt <1 and Time >= stime11 and Time <= stime12 and RSI(10) < 40 Then sell("매도"); if MarketPosition == 1 and RSI(10) < 50 Then exitlong("매수청산"); if MarketPosition == -1 and RSI(10) > 50 Then ExitShort("매도청산"); 위식에서 매수진입시그널이 나오고 매수청산시그널이 안나왔을 조건하에 N봉후 매수진입을 늦게하고 싶습니다 만약 N=9봉 후 진입 이라면 매수진입시그널이 나오고 1봉 2봉 3봉... 이 지나고 4봉에서 매수청산 시그널이 나왔다면 매수진입이 없어야 함 매도진입도 같게 하고싶습니다 감사합니다
프로필 이미지
파인애플
2018-08-02
180
글번호 121095
시스템