커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

Text_New 사용시..

선언되지 않은 이름이라고 나옵니다. YesLanguage 버전 문제 인가요 ? 해결책 알려 주시기 바랍니다. 리딩투자를 이용하고 있습니다. 하이투자에서 하니 되네요.. 리딩투자는 왜 업그레이드를 하지 않나요..리딩 투자를 사용하는데... 질문이 하나 있습니다. 문자열을 화면상에 뿌리긴 뿌렸는데 너무 길어서 개행을 좀 시키고 싶은데.. 방법 좀 알려 주세요
프로필 이미지
뽀로로엄마
2013-05-31
287
글번호 63846
시스템
답변완료

문의드립니다

수고많으십니다..제가 시스템식을 하나 쓰고있는데요 기본적인 rsi식을 적용을 하니까 제가쓰고있는 시스템식이 사라져버리고 rsi식만나오더라고요..그래서 제가 쓰고있는 식은 그대로 나오게 하면서 밑에적힌식이 나오게 해주십시요.. 밑에있는식이 제가 구현하고싶은식입니다. rsi(과매수75선이 닿으면 1차다이버신호발생.) (과매수80선이 닿으면 2차다이번신호발생) (과매수85선이 닿으면 3차다이버신호발생) 반대로 (과매도30선이닿으면 1차다이버신호 발생) (과매도20선이 닿으면 2차다이버신호발생) (과매도15선이닿으면 3차다이번신호발생) 이 나오게 해주십시요
프로필 이미지
zmffhqj
2013-05-31
264
글번호 63845
시스템
답변완료

문의드립니다.

빠르고 친절한 답변 정말 감사합니다. 일전에 30550, 30570 문의에 대한 답변수식을 이용해 약간 수정된 수식이 아래와 같습니다. 여기에 추가할 사항을 좀 수정해 주시면 감사하겠습니다. 1. 강제청산(BLoss, SLoss)이 진입가 대비 손실폭으로 되어 있습니다. 이것을 진입 이후 형성된 고점,저점대비로 수정했으면 합니다. 즉 매수진입이면, 진입이후(진입봉 포함) 만들어진 고점대비 변수 loss 퍼센트 하락하면 강제손절, 매도인 경우는 반대입니다. 2.수익청산(BP1, BP2, SP1, SP2) 후 Y=0 이면 추가 진입불가, 0 이 아니면, 반대포지션만 진입하도록 하였는데, 여기서 추가변경 사항 -> 기본적으로 그대로 유지하되, 변수의 조정으로 상태에 따른 진입여부를 수정해 주시면 감사하겠습니다. y=0 이면 당일 진입 더이상 없음 y=1 이면 현재처럼 수익청산의 반대포지션으로만 진입가능 y=-1 이면 만약 매수진입후 수익청산된 경우라면 당일 고점대비 변수loss*2배 퍼센트가 하락한 경우에만 양쪽 포지션 진입이 모두 가능, 매도로 수익청산인 경우라면, 당일저점대비 역시 변수 loss의 2배 만큼 상승인 경우 양쪽 포지션 모두 진입가능 (변수는 제가 예를든 것이니, 코딩하시기 편한걸로 하셔도 됩니다.) 3. 당일 손실이 loss의 2배면 더 이상 진입은 없습니다. 감사합니다. input : x(1),y(1),Profit(1),loss(0.5); var : Xcond(false),Ycond(0),YY(0); var : UPA1(0),DnA1(0),UPA2(0),DnA2(0),UPA3(0),DnA3(0),UPA4(0),DnA4(0); var : UPB1(0),DnB1(0),UPB2(0),DnB2(0),UPB3(0),DnB3(0),UPB4(0),DnB4(0); UpA1 = iff(A1 > A1[1],1,0); UpA2 = iff(A2 > A2[1],1,0); UpA3 = iff(A3 > A3[1],1,0); UpA4 = iff(A4 > A4[1],1,0); UpB1 = iff(B1 > B1[1],1,0); UpB2 = iff(B2 > B2[1],1,0); UpB3 = iff(B3 > B3[1],1,0); UpB4 = iff(B4 > B4[1],1,0); DnA1 = iff(A1 < A1[1],1,0); DnA2 = iff(A2 < A2[1],1,0); DnA3 = iff(A3 < A3[1],1,0); DnA4 = iff(A4 < A4[1],1,0); DnB1 = iff(B1 < B1[1],1,0); DnB2 = iff(B2 < B2[1],1,0); DnB3 = iff(B3 < B3[1],1,0); DnB4 = iff(B4 < B4[1],1,0); XCond = X == 0 and MarketPosition == 0 and ExitDate(1) == sdate and (IsExitName("BLoss",1) or IsExitName("SLoss",1)); Ycond = 0; if MarketPosition == 0 and ExitDate(1) == sdate and (IsExitName("BP1",1) or IsExitName("BP2",1) or IsExitName("SP1",1) or IsExitName("SP2",1)) Then{ if Y == 0 Then Ycond = 99; if Y != 0 and MarketPosition(1) == 1 Then Ycond = 1; if Y != 0 and MarketPosition(1) == -1 Then Ycond = -1; } if Xcond == false and stime >= 90300 and stime < 144500 then{ if (Ycond == 0 or Ycond == -1) and (UpA1+UpA2+UpA3+UpA4) >= 3 and (UpB1+UpB2+UpB3+UpB4) >= 3 Then buy(); if (Ycond == 0 or Ycond == 1) and (DnA1+DnA2+DnA3+DnA4) >= 3 and (DnB1+DnB2+DnB3+DnB4) >= 3 Then sell(); } if ((DnA1+DnA2+DnA3+DnA4) >= 2 and (DnB1+DnB2+DnB3+DnB4) >= 2) Then ExitLong("bx"); if ((UpA1+UpA2+UpA3+UpA4) >= 2 and (UpB1+UpB2+UpB3+UpB4) >= 2) Then ExitShort("sx"); if MarketPosition == 1 Then{ ExitLong("BLoss",AtStop,EntryPrice*(1-loss/100)); if EntryTime < 93000 Then ExitLong("BP1",atlimit,EntryPrice*(1+Profit/100)); Else ExitLong("BP2",atlimit,EntryPrice*1.005); } if MarketPosition == -1 Then{ ExitShort("SLoss",AtStop,EntryPrice*(1+loss/100)); if EntryTime < 93000 Then ExitShort("SP1",atlimit,EntryPrice*(1-Profit/100)); Else ExitShort("SP2",atlimit,EntryPrice*0.995); } SetStopEndofday(150000);
프로필 이미지
회원
2013-05-31
240
글번호 63843
시스템
답변완료

30645번 문의에 이어서 문의드립니다.

답변 감사합니다. 말씀하신 식은 A라는 매매식에 대한 손익챠트를 지표로 구현해서 그 지표를 참조해서 B라는 매매식에 이용할 수 있다는 말씀인가요? 간단한 매매식은 그리해도 괜찮겠지만 조금만 복잡해져도 손익챠트를 지표식으로만 구현하는게 제 실력으로는 간단치가 않네요....시험적용하면 손익챠트가 나오는데 그걸 이용하면 좋을텐데요.... 다음식의 손익챠트를 그리는 식을 부탁드립니다. ----------------------------------------------------------------------- time>1330 and time<1505 이고 당일청산, 손절은 0.5p. rsi(high,19)가 70 이상 이고, net change oscillator가 0.5 이상일때 = cond1 rsi(high,19)가 30 이하 이고, net change oscillator가 -0.5 이하일때 = cond2 # rsi(high,19)는 고가의 19기간의 rsi입니다 고가,저가의 rsi가 안되면 종가로... if cond1 = true then var1=low; var2=time; #cond1이 참일때의 저가와 시간을 저장,꼭 시간이 아니라 봉카운팅도 무관합니다. if var2>1 and # cond1=true조건 만족한 후 cond1=true and #다시 조건을 만족하고 close>var1+0.05 and #처음조건을 만족했을대의 저가보다 종가가 0.05이상 크고 close>bbandmid(close,10.2) #종가는 볼밴드중간값보다 클때 buy("매수1" atlimit,low) #직전봉의 저가를 깨고 내려가면 "매수1"이라고 매수 if cond2=true then var1=high; var2=time; if var2>1 #cond2=true조건 만족후 cond2=true and close<var10-0.05 #처음 조건을 만족했을때 봉의 고가보다 종가가 0.05이상 낮고 close<bbandmid(close,10,2) #종가는 볼밴드 중간값보다 낮을때 sell("매도`1"atlimit,high) #직전봉의 고가를 깨고 올라가면 "매도1"이라고 매도 ------------------------------------------------------------------------ 위 매매식으로 totalPL과 netPL을 구하여 지표로 구현가능한가요? 시험적용하면 나오는 손익챠트를 참조할 수 있으면 바로 해결가능한데...아쉽네요... 답변 기다리겠습니다.
프로필 이미지
회원
2013-05-31
322
글번호 63840
지표
답변완료

부탁드립니다

주봉의 시가, 종가는 어떻게 표현 하는지요 일봉 은 dayopen,dayclose 처럼
프로필 이미지
운송
2013-05-31
254
글번호 63838
지표
답변완료

새로운. 주문

안녕하세요 질문 먼저. 매수. 또는. 매도. 신호나왔으면 신호발생과동시. 청산 그리고 전봉. 종가에. 매수. 또는. 매도. 식 또는. 전전봉. 종가에. 매수. 또는 매도식 신호방향은. 처음에. 신호발생한쪽 으로해주십시오 하루종일. 제 주문 없을 경우 초기화 하고. 처음부터. 다시 시작한다 감사합니다. ^^
프로필 이미지
회원
2013-05-31
236
글번호 63837
시스템
답변완료

문의 합니다.

수고하십니다 아래식을 역으로(역이평)만들수 있는지요? 가능하면 부탁 드리겠습니다. 수고하십시요. var1 = ma(C,2); var2 = ma(C,32); var3 = ma(C,60); if var1 > var1[1] Then{ value11 = 1; value12 = var1; } if var1 < var1[1] Then{ value11 = -1; value13 = var1; } if value11 == 1 then{ plot1(var1,"2이평"); plot2(value13,"1"); } if value11 == -1 then{ plot1(var1,"2이평"); plot2(value12,"1"); } if var2 > var2[1] Then{ value21 = 1; value22 = var2; } if var2 < var2[1] Then{ value21 = -1; value23 = var2; } if value21 == 1 then{ plot3(var2,"32이평"); plot4(value23,"2"); } if value21 == -1 then{ plot3(var2,"32이평"); plot4(value22,"2"); } if var3 > var3[1] Then{ value31 = 1; value32 = var3; } if var3 < var3[1] Then{ value31 = -1; value33 = var3; } if value31 == 1 then{ plot5(var3,"60이평"); plot6(value33,"3"); } if value31 == -1 then{ plot5(var3,"60이평"); plot6(value32,"3"); }
프로필 이미지
뚜벅뚜벅
2013-05-31
261
글번호 63836
지표
답변완료

시스템부탁드립니다

5이동평균선이 20이동평균선을 상향교차하면 이전 20개 캔들중 최고가를 찾고 여기에 1.3을 곱한값에 도달하면 매수진입. 청산은 이전 8개봉의 최저가에 도달하면 매수 포지션을 청산한다 but 만약 매수를 가지고 있다가 매수청산에 의해서 매수를 청산하였다면 최근 14개봉의 최고가를 돌파하는 경우에는 유효하도록 한다. 부탁드립니다. 반대로도 부탁드립니다. 매도진입에는 캔들중 최저가를 찾고 1.3을 곱한값에 도달하면 매도진입 청산은 이전 8개봉의 최고가에 도달하면 매도 포지션을 청ㅇ산 but만약 매도를 가지고 있다가 청산하여도 최근 14개봉 최저가를 붕괴하면 유효하도록 부탁드립니다.
프로필 이미지
이의정
2013-05-31
245
글번호 63835
시스템
답변완료

수식 문의

please check attaschment. always thank you.
프로필 이미지
흑수돌
2013-05-31
279
글번호 63834
시스템