커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다.

안녕하세요. 종목검색을 함에 있어 원인 모를 오류가 있어 문의드립니다. (질문을 위해 코드를 간결하게, 또한 변수를 임의로 설정하였습니다) 20220225에 검색을 하였고 이 때 41봉전은 20220325 입니다. ///////////////////////////////////////////////////////////// // <사용자함수> 파일명 : [highestvolume_Test<사용자 함수>] // Input : num(Numeric), condition1(logicalRef); condition1=False; Var3 = V; var4 = M; If Var3[num] > Highest(Var3[num+1], 250)*0.7 and Var3[num] > Highest(Var3[num+1], 10)*2.5 and Var4[num] > 3*10^10 //거래대금 300억 Then { condition1=true; } highestvolume_test=1; /////////////////////////////////////////////////////////////// // <종목검색> 파일명 : highestvolume_test종목검색<종목 검색>]// var1 = 41; var2 = 45; For Var99 = var1 to var2 { highestvolume_test(Var99, condition1); If condition1==true Then { Find(Var99); } } //////////////////////////////////////////////////// 수식은 위와 같이 작성하였습니다. 첨부한 사진 참고 부탁드립니다 종목검색의 수식 내 변수 var2=45;를 var2=46;으로 바꿀 경우 41에서 45까지의 종목이 유지된 채로 46봉전에 조건을 만족되는 종목만 추가될 것으로 예상했는데 그렇지 않고 일부가 없어지고 생깁니다. 강조로 작성된 수식은 정확하게 조건과 일치하는 결과를 만들었는데 똑같이 highestvolume_test(0,condition1); 을 사용했음에도 종목검색 결과의 경우 조건에 부합되지 않는 유진로봇, 에스피시스템스와 같은 종목이 나왔습니다. 원인이 무엇일까요? 그리고 미리 감사드립니다! ++위와 같이 Var3 = V; 와 같이 변수에 대입할 때 종목검색 자체가 500봉 전까지의 값만 참조할 수 있으므로 500봉 전까지의 값이 모두 배열형태로 대입되는 건가요? 아니면 다른 방식이 있는건가요?
프로필 이미지
저스트뚜잇
2022-05-25
1236
글번호 159233
종목검색
답변완료

시스템식 문의 드립니다.

담당자님.. 요청드렸던 식이 해석이 잘 안됩니다. 수식 설명 부탁드리겠습니다. if MarketPosition == 1 Then { if CurrentContracts < CurrentContracts[1] Then { var1 = LatestExitPrice(0); Var2 = TimeToMinutes(sTime); } # currentcontracts는 포지션에서 현재의수량을 리턴 이라고 메뉴얼에 써있던데 위 식이 이해가 안갑니다.ㅜ.ㅜ 2차매수한 수량 < 1차매수한 수량일 경우에 var1 변수에 최근 매도청산한가격을 저장하고 var2 변수에 stime을 저장한다 이게 무슨 뜻인지...ㅜ.ㅜ if CurrentContracts > CurrentContracts[1] Then { Var3 = CurrentContracts; Var4 = H; } # 위의 식도 이해가 안갑니다. ㅜ.ㅜ if h > Var4 Then Var4 = h; # h 와 H의 차이가 있는건가요???? if var1 > 0 and TimeToMinutes(sTime) >= Var2+10 and C < var1 then ExitLong("bx"); if Var4 < AvgEntryPrice*1.03 Then ExitLong("3%익절",AtLimit,AvgEntryPrice*1.03,"",Floor(Var3*0.20)); if Var4 < AvgEntryPrice*1.04 Then ExitLong("4%익절",AtLimit,AvgEntryPrice*1.04,"",Floor(Var3*0.20)); if Var4 < AvgEntryPrice*1.05 Then ExitLong("5%익절",AtLimit,AvgEntryPrice*1.05,"",Floor(Var3*0.20)); if Var4 < AvgEntryPrice*1.06 Then ExitLong("7%익절",AtLimit,AvgEntryPrice*1.06,"",Floor(Var3*0.20)); if Var4 < AvgEntryPrice*1.10 Then ExitLong("10%익절",AtLimit,AvgEntryPrice*1.10); } Else { var1 = 0; Var2 = 0; } 즐거운 하루되세요 > 맴맴잉 님이 쓴 글입니다. > 제목 : 매도 청산식 요청드립니다. > 얼마전에 현물관련 분할매도 관련 시스템식을 요청드린적이 있었습니다. 관련 내용은 아래와 같습니다. 근데 매수가 한번만 되었을때는 아래와 같이 잘 적용 되는데.... 2차 매수, 3차 매수가 된다면 아래와 같이 동일한 비중으로 매도도 안되고, 10분뒤 익절한 금액 보다 아래에 있을경우 매도청산하는 식도 적용이 안되는걸 발견하였습니다. 수정 확인 부탁드리겠습니다. 추가적인 질문으로 MaxContracts 수식은 포지션의 최대 누적 수량이라고 써있던데 예를 들면 3,4,5,7,10 동일 비중으로 매도를 진행하려면 maxcontracts/5 하는게 맞는지도 확인 부탁드리겠습니다. 제가 좀 헷갈리는데.. 만약에 100주 사서 3%에 20주 팔면, 80주가 남는데... 80주에 나누기 5하면 80/5 = 16주가 팔리게 되는건지 ..아니면 앞의 수량 /5 100 / 5 = 해서 20주가 되는지 잘 이해가 안갑니다. 설명도 부탁드리겠습니다. 그리고 100주 사서 20주 한번 팔리면 80주 남는데 거기서 추가매수 되어서 180주가 된다면 그 180주에 대한 동일한 비중으로 분할매도가 되게 하려면 어떻게 가능한지.궁금합니다. 아래의 식으로는 안되더라구요..ㅜ.ㅜ
프로필 이미지
맴맴잉
2022-05-24
1418
글번호 159231
시스템
답변완료

문의드립니다.

항상 감사드립니다. [ 매도 관련 시스템식 문의건 ] ① 일봉에서 일목균형표 전환선이 볼린져밴드 상단선 크로스 다운하면 매도 ② 일봉에서 주가가 볼린져밴드 상단선 크로스 다운하면 매도 ③ 일봉에서 7일 이평선이 15일 이평선 크로스 다운하면 매도 상기 ( ① or ② or ③ ) 조건 중 하나만 만족하더라도 매도 실행되는 조건으로 종목검색식 문의드립니다.
프로필 이미지
관스
2022-05-24
1363
글번호 159230
시스템
답변완료

연습용 시스템식 교정 부탁드립니다.

장시작 첫봉이 양봉이면 매수진입 그리고 계속 시초가를 하향 돌파시 매수청산 그리고 매도 진입 장시작 첫봉이 음봉이면 매도진입 그리고 계속 시초가를 상향 돌파시 매도청산 그리고 매수 진입 If DayIndex==0 Then {If c>O Then Buy();} if CrossDown(c,O) Then exitlong Then Sell(); If DayIndex==0 Then {If c<O Then Sell();} if crossup(c,O) Then ExitShort Then Buy();
프로필 이미지
본프리
2022-05-24
1420
글번호 159229
시스템
답변완료

현재가 일직선 그리기 문의

10개 종목의 현재가(최종가)를 일직선으로 그리려고 합니다. 아래와 같이 하면 한봉 전의 종가가 그려지는데, 실시간 현재가를 그리려면 어떻게 하는지지 부탁드립니다. var : cnt(0); Array : TL[10](0); For cnt = 1 to 10 { TL_Delete(TL[cnt]); TL[cnt] = TL_New(sDate[1],sTime[1],현재가[cnt],sdate,stime,현재가[cnt]); TL_SetExtLeft(TL[cnt],true); }
프로필 이미지
kimfeel
2022-05-24
1135
글번호 159228
지표
답변완료

문의드립니다.

시작시간 15시30분. 끝나는 시간 05시50분.진입한 수량이 있다면 모두청산후 시스템종료. 이평 1.2.3.이 이평 4 위의 있고 이평 1 이 이평 2.3.4 하향돌파 매수. 진입 총 3개 진입하는 겁니다. 이평 1.2.3.이 이평 4 아래의 있고 이평 1 이 이평 2.3.4 상향돌파 매도. 진입 총 3개 진입하는 겁니다. 익절800틱. 수고하세요.
프로필 이미지
아침
2022-05-24
1097
글번호 159227
시스템
답변완료

문의드립니다.

시작시간 15시30분. 끝나는 시간 05시50분.진입한 수량이 있다면 모두청산후 시스템종료. 이평 1 > 이평 2 위의 있고 알에스아이 55.50.45.40 하향돌파 매수. 진입신호의 매수 총 4개 진입하는 겁니다. 이평1 < 이평 2 아래의 있고 알에스아이 45.50.55.60 상향돌파 매도. 진입신호의 매도 총 4개 진입하는 겁니다. 익절800틱. 수고하세요.
프로필 이미지
아침
2022-05-24
1363
글번호 159226
시스템
답변완료

문의드립니다.

시작시간 15시30분. 끝나는 시간 05시50분.진입한 수량이 있다면 모두청산후 시스템종료. 이평 1 > 이평 2 위의 있고 스토캐스틱 퍼스트. 70하향돌파 매수.60하향매수.50하향매수.40하향매수. 진입신호 나오면 매수진입 총 4개 진입하는 겁니다. 이평 1 < 이평 2아래의 있고 스토캐스틱 퍼스트. 30상향돌파 매도.40상향매도.50상향매도.60상향매도. 진입신호 나오면 매도진입 총 4개 진입하는 겁니다. 익절800틱. 수고하세요.
프로필 이미지
아침
2022-05-24
1251
글번호 159225
시스템
답변완료

청산식 별도적용,작성식 신호미발생 문의

작성해주신 식을 선물3분 봉에 적용했는데 b1,b2 모두 신호가 발생하지 않아서요 청산(5,0.3,PercentStop)으로 했습니다. 혹시,작성 본문에서 cond1 에 대한 정의가 없어서 인지요.답변 좀 부탁드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 청산조건 2가지로 운용 문의 > 안녕하세요 예스스탁입니다. Input: DN(5),TS(0.3),AT(15),MUL(2); var : cnt(0),이익횟수(0); var : cond1(False),cond2(False); value1 = ma(C, 5); value2 = ma(C, 20); if bdate != bdate[1] Then { 이익횟수 = 0; } if TotalTrades > TotalTrades[1] Then { if PositionProfit(cnt) > 0 Then 이익횟수 = 이익횟수+1; } #당일 이익횟수는 3회이상이고 앞에 10봉내에서 3회이상 이익발생 cond2 = 이익횟수 >= 3 and CountIf(TotalTrades > TotalTrades[1] and PositionProfit(1) >= 0,10) >= 3; If MarketPosition == 0 and TotalTrades == TotalTrades[1] Then { if CrossUP(value1, value2) and cond1 == true Then//일반진입, cond1?? Buy("b1"); if cond2 == true Then//강한진입 Buy("b2"); } if MarketPosition == 1 Then { if IsEntryName("b1") Then SetStopTrailing(dn,ts,PercentStop); Else SetStopTrailing(0,0);#해제 if IsEntryName("b2") Then { exitlong("t청산",atstop,highest(High,barsSinceEntry)-atr(at)*mul); } } Else { SetStopTrailing(0,0);#해제 }
프로필 이미지
피카2
2022-05-24
1084
글번호 159214
시스템