커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

부탁드립니다.

- 분봉차트에서 data2에 콜옵션을 넣고 미결증감을 표시하는 식을 부탁드립니다. plot1(data2(dayoi-dayoi(1))) 로 하니 data1에 콜옵션을 넣고 plot1(dayoi-dayoi(1)) 로 한 것과 수치가 다르게 표시됩니다.
프로필 이미지
예시
2021-04-11
1082
글번호 147883
지표
답변완료

자동매매

안녕하십니까? 시스템 자동매매에 있어서 자동매매 실행 후 HTS를 닫아도 자동매매는 계속유효 한가요? 아니면 HTS가 열려 있는 동안만 유호한지 궁금합니다. 감사합니다.
프로필 이미지
대한이
2021-04-11
908
글번호 147882
시스템

젤플린 님에 의해서 삭제되었습니다.

프로필 이미지
젤플린
2021-04-11
44
글번호 147880
지표
답변완료

문의

키움서식을 예스서식으로 변환 부탁드립니다. 1. 분봉에서 기간 : 2, multiple : 0.8 , m : 50 g= (((c+o+l+h)/4)*v/10000000); a = HighestSince(1, date != date(기간), v) ; b = valuewhen(1, c(0) > o(0) * multiple and a == v and g > m, c); plot c ; 추가로 위조건을 만족하는 전봉의 c 값을 알수있도록 변수로 저장하는 수식도 포함하여 주시기 바랍니다 2. 일봉에서 기간 : 5, multiple : 0.8 , m : 100000 x = (highest(v,기간)==v) ; a = valuewhen(1, c(0) > o(0) * multiple and 거래대금 > m and x, c(0)) ; plot c ;
프로필 이미지
파일럿
2021-04-11
1064
글번호 147878
지표
답변완료

미국채10년물 데이타 연산오류 ...

미국채가격이 < 131'25.0 > 이런 식으로 나오는데.. < 달러'센트.0 > 이 맞는거죠?? 그런데 이걸 데이타값으로 연산해서 지표로 표현하는데 문제가 있네요..?? 이걸 연산하면 < 달러.0 > 이런식으로 센트값이 적용이 않되는것 같습니다.ㅠㅠ 한번 살펴봐 주시길 부탁드립니다...
프로필 이미지
데로예스
2021-04-10
1181
글번호 147877
지표
답변완료

수식문의드립니다.

안녕하세요, 수식 작성 두 가지 문의 드립니다. 아래 수식으로 적용해 봤는데 매수 신호가 원하지 않는 위치에 뜹니다. 1. 직전 진입명이 A이고 매수 포지션 일때 현재가가 진입 가격 대비 종가기준 2%이상 하락 이후 저점 대비 2%이상 상승 시 스프레딩 매수 (B) if MarketPosition == 1 and latestentryname(0) == "A" Then{ var1 = Lowest(c,BarsSinceEntry); if var1 <= EntryPrice*(1-2/100) and c > var1+(EntryPrice-var1)*(2/100) then buy("B"); 2. 직전 진입명이 B이고 A가 아니며, 현재 매수 포지션 일때 현재가가 진입 가격 대비 종가기준 2%이상 상승 시 스프레딩 매수 (C) if MarketPosition == 1 and latestentryname(0) == "B" and latestentryname(0) != "A" Then{ var1 = Lowest(c,BarsSinceEntry); if var1 >= EntryPrice*(1+2/100) then buy("C"); 3. 그리고 latestentryname과 isentryname의 차이점이 무엇인지 궁금합니다. 늘 친절하게 답해주셔서 감사합니다.
프로필 이미지
김예스
2021-04-10
1197
글번호 147876
시스템
답변완료

수식 과 퓨처스챔피언 수식입니다.

퓨처스챔피언에서 하이킨 아시 수식과 적용법과 고점과 저점을 잇는 지그재그 수식도 알려주시면 감사하겠습니다. 만약에 예스트레이더에서 해야한다면 어떻게 적용하고 퓨처스챔피언에서는 어떻게 적용하나요?
프로필 이미지
kingritu
2021-04-10
1235
글번호 147875
지표
답변완료

수식수정요청2

RSI매수매도 식입니다. 매수는 그대로 하되, 매도식을 RSI 55이상이고, 이평선이 정배열일때 (5일>25일>100일), 매도 파라볼릭sar이 생기자 마자 전체 매도 하는식으로 바꾸고 싶습니다. 매도후 다시 처음부터 매수 시작하구요. Input : 투자금액(10000000),Period(14), N(1), LPercent(30), S7Percent(70), S8Percent(80), S9Percent(90),시작일(20210410),시작시간(073000); var : value(0), e(0),x(0),count(0),Vma(0), Tcond(false); var : HH(0),Bxcond1(false),Bxcond2(false),Bxcond3(false); var : LL(0),Sxcond1(false),Sxcond2(false),Sxcond3(false); Array : VV[5](0),XX[5](0); value = RSI(Period); vv[0] = floor((투자금액*0.12)/NextBarOpen); vv[1] = floor((투자금액*0.15)/NextBarOpen); vv[2] = floor((투자금액*0.20)/NextBarOpen); vv[3] = floor((투자금액*0.23)/NextBarOpen); vv[4] = floor((투자금액*0.30)/NextBarOpen); if NextBarSdate >= 시작일 and NextBarStime >= 시작시간 Then Tcond = true; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then count = count+1; if sdate >= 시작일 and stime >= 시작시간 Then Tcond = true; if Tcond == true then { #첫번째 매수 if (TotalTrades == 0 or MarketPosition == 0) then { if MarketPosition <= 0 and CrossDown(value, LPercent) Then { buy("b1",onclose,def,vv[MaxEntries]); } } if MarketPosition == 1 Then { if CurrentContracts > CurrentContracts[1] Then { e = e +1; if e == 0 then XX[e] = CurrentContracts; Else XX[e] = CurrentContracts-CurrentContracts[1]; } #두번째 매수 If MarketPosition == 1 and e == 1 and CrossDown(value, LPercent) and NextBarSdate == sdate Then { buy("b2",atlimit,LatestEntryPrice(0)*0.98,vv[MaxEntries]); } #세번재매수 If MarketPosition == 1 and e == 2 and CrossDown(value, LPercent) and NextBarSdate == sdate Then { buy("b3",atlimit,LatestEntryPrice(0)*0.98,vv[MaxEntries]); } #네번재매수 If MarketPosition == 1 and e == 3 and CrossDown(value, LPercent) and NextBarSdate == sdate Then { buy("b4",atlimit,LatestEntryPrice(0)*0.99,vv[MaxEntries]); } #다섯번재매수 If MarketPosition == 1 and e == 4 and CrossDown(value, LPercent) and NextBarSdate == sdate Then { buy("b5",atlimit,LatestEntryPrice(0)*0.99,vv[MaxEntries]); } if condition1 == false and crossup(value,S7Percent) then { condition1 = true; exitlong("bx1",onclose,def,"",floor(maxcontracts*0.7),1); } if condition2 == true and crossup(value,S8Percent) then { condition2 = true; exitlong("bx2",onclose,def,"",floor(maxcontracts*0.2),1); } if condition3 == true and crossup(value,S9Percent) then { condition3 = true; exitlong("bx3"); } if crossdown(value,S7Percent) then exitlong("bx"); } else { e = 0; condition1 = false; condition2 = false; condition3 = false; condition4 = false; } }
프로필 이미지
바나
2021-04-10
1065
글번호 147874
시스템
답변완료

수식수정요청

총 투자금에서 투자금액 비율을 0.1, 0.1, 0.2, 0.2, 0.4 로 총 5번으로 하고 싶은데 지금식과 같이 범위별로 지정하지 않고 하나씩 나눠서 각각 지정하고 싶습니다. 또한 buy도 각각 나눠서 지정하고 첫번째 매수는 그대로 진행하고 이전가격보다 떨어진 가격에 사는 식 두번째 매수는 LatestEntryPrice(0)*0.98, 세번째 매수는 LatestEntryPrice(0)*0.98, 네번째 매수는 LatestEntryPrice(0)*0.99 다섯번째 매수는 LatestEntryPrice(0)*0.99 로 각각 지정하고 싶습니다. 원래대로 청산신호가 나오면 이전에 두번이나 세번 매수만 나왓어도 다시 첫번째 매수로 돌아가도록 했으면 좋겠구요. 마지막으로 매수 파라볼릭sar이 생기면 매도 파라볼릭sar이 생기기 전까지 딱 한번만 매수 되도록 하고 싶습니다. Bentry로 하는거 같아서 수식에 적용해 보긴 했는데 제대로 안되는거 같기도 하고.. Input : 투자금액(10000000),RSIP(14), P1(5), P2(25), P3(100), 시작일(20210407),시작시간(073000); var : value(0),e(0),x(0),count(0),Vma(0), Tcond(false); var : Rsiv(0),vv(0), BEntry(false), mav1(0); var1 = ma(C,p1); var2 = ma(C,p2); var3 = ma(C,p3); var4 = sar(0.02,0.2); mav1 = ma(C,30); Rsiv = RSI(RSIP); if NextBarSdate >= 시작일 and NextBarStime >= 시작시간 Then Tcond = true; if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then count = count+1; if sdate >= 시작일 and stime >= 시작시간 Then Tcond = true; if Tcond == true then { if crossup(c,var4) Then BEntry = true; if MarketPosition >= 0 and BEntry == true and var1 > var2 and Rsiv < 60 and C > var4 Then { if MarketPosition == 1 Then Bentry = false; if MarketPosition == 0 or (MarketPosition == 1 and MaxEntries < 3) Then vv = Floor((투자금액*0.1)/C); if MarketPosition == 1 and MaxEntries >= 3 and MaxEntries <= 4 Then vv = Floor((투자금액*0.15)/C); if MarketPosition == 1 and MaxEntries >= 5 and MaxEntries <= 6 Then vv = Floor((투자금액*0.20)/C); buy("b",atlimit,LatestEntryPrice(0)*0.98,VV); } if MarketPosition == 1 and Rsiv > 55 and var1 > var2 and var2 > var3 and C < var4 Then exitlong("s"); }
프로필 이미지
바나
2021-04-10
1032
글번호 147873
시스템