커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

stime 이 문제인가요.. 작동이 안되네요.

if sdate!=sdate[1] Then{ if stime >= 93000 and stime<150200 then{ if CrossUp(ma(c,5),ma(c,10)) Then buy("첫매수",AtMarket,1); } } if IsEntryName("첫매수",1) Then var1=1; Else var1=2; if var1==1 then { if Crossup(ma(c,5),ma(c,20)) Then buy("매수2",AtMarket,DEF,1); } if TotalTrades>=2 and var1==2 Then{ if Crossup(ma(c,5),ma(c,20)) Then buy("매수3",AtMarket,DEF,1); } if CrossDown(ma(c,5),ma(c,20)) Then ExitLong("청산", AtMarket,DEF,DEF); 수식을 보완해 가며 작성중인데 처음부터 막히네요, 일단 매수를 3단계로 나누어 봤습니다.. 1.첫매수를 093000 이후에 작동하게끔 하려고 하는데 작동을 하지 않습니다. stime 때문인거 같은데 , stime 조건을 빼면 작동합니다., 어디가 논리적으로 맞지않는 부분인지 찾지 못하겠습니다. 잘못된곳 고쳐주시고 설명좀 부탁드립니다. 2.위 식과 아래의 식은 뼈대는 같습니다. 아래의 식은 날짜가 변경될때마다 첫매수가 작동합니다. 하지만 위의 식은(sitime 조건 삭제시) 날짜 변경시 첫매수가 작동되지않는 경우가 있더군요, 왜 그런거죠, 설명 부탁드리고 수정부탁드립니다. var:cnt(0); cnt=0; if IsEntryName("매수111",1) Then var1=1; Else var1=2; if sdate!=date[1] then buy("매수111", AtMarket,DEF,1); if var1==1 then { if Crossup(ma(c,5),ma(c,20)) Then buy("매수",AtMarket,DEF,DEF); } if TotalTrades>=2 and var1==2 Then{ if Crossup(ma(c,5),ma(c,20)) Then buy("매수a",AtMarket,DEF,DEF); } if CrossDown(ma(c,5),ma(c,20)) Then ExitLong("청산", AtMarket,DEF,DEF); 그리고 수식 공부하는 데 도움이 될만한 책이나 프로그램 지침서 같은거 있으면 추천해주시거나 자료 있음 보내주시면 감사합니다. 예를 들어 c언어 같은게 로직을 짜는데 도움이 되나요...프로그램 언어 같은것은 전혀 접해보지않아서,, 하여튼 고수님의 의견을 듣고 싶습니다. byunghee1976 @ naver.com 자꾸 귀찮게 해서리 죄송하고 항상감사하게 생각합니다. 행복하세요.
프로필 이미지
회원
2008-11-09
742
글번호 17990
시스템
답변완료

저에게도 메뉴얼 있으면 좀 부탁합니다.

예스 랭귀지 공부하기 10메가 정도 되는 매뉴얼이 있다고 하던데 아래 메일로 꼭 보내주세요... 감사합니다.. hwannymoon@freechal.com
프로필 이미지
난장이
2008-11-09
620
글번호 17989
시스템
답변완료

매뉴얼 보내주세요^^

예스 랭귀지 공부하기가 어렵네요... 10메가 정도 되는 매뉴얼이 있다고 하던데 아래 메일로 꼭 보내주세요.. 감사합니다.. bogus200@hanmail.net
프로필 이미지
회원
2008-11-07
780
글번호 17988
시스템
답변완료

재문의

제어가 되질않아 다시한번 문의 드립니다. 예제)) value1을 5 이평, value2를 20 이평, 이라 하고, 1.전일 2시이후부터 전일종가까지 (value1,value2)가 1회이상 골드크로스 한적이 있어야 하고, 당일 (value1,value2) 첫번째 골드 크로스일때 매수. 2.전일 9시부터 전일2시전까지 (value1,value2)가 2회이상 골드크로스 한적이 있어야하고, 당일 첫번째 데드크로스때 매도 천천히 답주세요 즐거운 주말 되세요.
프로필 이미지
털보
2008-11-07
737
글번호 17986
시스템
답변완료

질문있습니다.

진입은 2분봉 20,100이평 골드로 하고, 청산은 5분봉 20,100 이평 데드로 하는 식을 알고 싶습니다.
프로필 이미지
헐레
2008-11-07
731
글번호 17980
시스템
답변완료

답변하신MRO식.오늘 답변해 주시면 정말 감사하겠습니다.

답변해주신 MRO식이 좀 이해가 안가네요. 오늘 답변해 주시면 정말 감사하겠습니다. 선생님... 아래와 같이 쓴 제 글에 대해 다음과 같이 답변해 주셨는데요. ------------------- "임의의 일련의 봉들이 다음과 같이 발생하였다. 첫번째 봉은 양봉, 두번째 봉은 음봉, 세번째 봉은 음봉이며 그 봉에서 5이평선과 20이평선 데드크로스를 하였다. 세번째 봉으로부터 5봉이내에 연속된 두개 음봉이 처음 출현하면 두개 음봉중 두번째 음봉에서 매도하라" ==예를 들어 6봉전 봉에서 양봉, 5봉전 봉에서 음봉, 4봉전 봉은 음봉이며 그봉에서 5,20 이평선 데드크로스가 발생했습니다. 그리고 1봉전과 0봉전에 연속된 두개의 음봉이 처음 출현했습니다(임의의 일련의 봉들중 세번째 봉인 4봉전 봉으로부터 5봉이내에 연속된 두개 음봉이 출현해야 하니까 4봉전봉으로부터 0봉전봉까지면 딱 5봉으로 조건에 맞습니다) 이때 연속된 두개의 음봉중 두번째 음봉에서 매도니까 0봉전 봉에서 매도해야지요. 이상 예를 들었습니다.== ------------------------------ #첫번째 봉은 양봉, 두번째 봉은 음봉, 세번째 봉은 음봉이며 그 봉에서 5이평선과 20이평선 데드크로스 Condition1 = CrossDown(ma(c,5),ma(c,20)) and C < O and C[1] < O[1] and C[2] > O[2]; #Condition1 조건이 가장최근 몇봉전에 발생했는지를 그 봉수를 가져옴 var1 = MRO(Condition1,100,1); ##가장최근 Condition1이 2봉전~5봉전 안에 발생 if MRO(Condition1,100,1) > 1 and MRO(Condition1,100,1) > 5 and C < O and C < O Then sell(); 첫째,MRO(Condition1,100,1) 여기서 100과 1은 고정적으로 쓰는 값인지요? 둘째,가장최근 Condition1이 2봉전~5봉전 안에 발생 이라고 쓰셨는데 제가 5봉이내라고 지정하였으니 "1봉전~5봉전"의 5개봉 내에 발생이 맞는 것 아닌지요? 그러니 1봉전~5봉전 이 맞는것이지요? 그리고 식의 앞 표현이... if MRO(Condition1,100,1) > 1 and MRO(Condition1,100,1) > 5 인데 if MRO(Condition1,100,1)이 1보다 크고, 5보다 크면 결국 5보다 크다는 것밖에 안되는데...이해가 잘 안가서요...1이나 5가 봉수를 의미한다면 1<= MRO(Condition1,100,1)<=5 이렇게 되야하는 것 아닌지 왕초보라 이해가 안갑니다. 셋째, ....and C < O and C < O Then sell(); 그 다음식은 이렇게 표현되었는데요. C < O 라는 것을 and로 연결해 두번 반복해 쓰면, 0봉전 봉==음봉 이고 바로 다음 봉도==음봉 이라는 표현이 되는지요? 넷째, 저는 연속된 2개의 음봉중 두번째 음봉에서 매도하라...는 식을 만들고 싶은데 위와 같이 하면 되는 것인지요? 제가 좀 꼼꼼해서 ^^ 반복질문드립니다. 다섯째,제가 이해가 안되는 부분이요. Condition1 에서 임의의 일련의 봉들중 5,20이평선 데드크로스가 발생한 세번째 봉이 음봉이다...이것을 C < O 라고 현재봉으로 표현하셨거든요... 그런데 if MRO(Condition1,100,1)... 식에서 상기한 임의의 일련의 3개봉들중 세번째 봉으로부터 5봉이내에 처음으로 등장하는 두개의 연속된 음봉을... C < O and C < O 로 또 현재봉으로 표현하셨거든요. 이렇게 원래 표현하는 것인지요? 여섯째, 제가 선생님께서 써주신 것을 응용해서 다음과 같은 식을 만들어 보았습니다. 제가 잘못 이해한 점이 있을 것이나 보아주시면 감사하겠습니다. 임의의 일련의 봉들이 다음과 같은 배열을 보였다. 첫째 봉은 음봉, 둘째 봉은 양봉, 셋째봉은 음봉이며 20이평선을 하향돌파 하였다. 셋째봉을 기준으로 셋째봉으로부터 4봉이내에 2개의 연속된 양봉이 나오면 2개의 연속된 양봉중 두번째 양봉에서 매수하라. 제가 작성한 식 Condition1 = CrossDown(c,ma(c,20)) and C < O and C[1] > O[1] and C[2] < O[2]; var1 = MRO(Condition1,100,1); if MRO(Condition1,100,1) >=1 and MRO(Condition1,100,1) <= 4 and C >O and C >O Then buy(); 매우 감사합니다. 행복한 주말 되세요 ^^
프로필 이미지
스테디어드밴서
2008-11-07
873
글번호 17977
시스템
답변완료

tmp1의 값을 tmp2에 누적 시키고 싶어요.

tmp1의 값을 tmp2에 누적 시키고 싶어요. slope20 = slope20 + 1; 하면 잘 누적 되는데.. 왜 tmp2에는 값이 누적되지 않는 걸까요?. 디버깅 창에 보면 계속 -1.#J 만 나오네요.. 변수 선언도 아래와 같이 해줬는데요. Var : tmp1(0),tmp2(0); Var : slope20(0);
프로필 이미지
lalabas
2008-11-07
855
글번호 17972
시스템
답변완료

안녕하세요. 시스템수식 문의드립니다.

안녕하세요. 진입시 Binary Wave Seven지표가 +5 이상일때 매수진입하고, 지표가 -5 이하일 때 매도진입하는 수식을 부탁드립니다. 감사합니다.
프로필 이미지
정후아빠
2008-11-07
827
글번호 17971
시스템
답변완료

신호가 발생한 봉의 시간을 구하고자 합니다.

신호가 발생한 봉의 시간을 구하고자 합니다. 예를들어서 매수한 타임부터 현재 매도 신호가 발생한 때까지의 시간을 구하고자 합니다 봉의 갯수를 구할수 있어도 좋구요... entry 와 exit 간의 거리를 구하고 싶은데 좋은 방법 없을까요??.
프로필 이미지
lalabas
2008-11-07
689
글번호 17967
시스템