커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8198
글번호 230811
답변완료
YT 수행모델에 대한 문의
10개 봉으로된 챠트에 적용한 지표입니다.
첫번째 봉에서는 마치 line 5 에서만 호출된 것처럼 보여주고,
마지막 봉에서는 몰래 line 6, line 7 에서 호출하는 모양입니다.
일반적인 프로그램 수행모델에 따르면 10, 20, ... 100 으로 나와야 하고,
YT는 모든 함수호출을 조건에 관계없이 다 수행한다는 수행모델이라하므로 30, 60, ... 300 이 나와야 하는데, 실제 결과가 10, 40, ... 280 입니다.
함수 호출을 모두 수행한다는 것만으로는 프로그램을 작성하는데는 애매모호한 설명입니다.
프로그래머가 출력을 정확히 예측할 수 있도록 매뉴얼을 더 상세하게 하여 애매모호한 점이 없어야 할 것 같읍니다.
출력으로 보아 예상되는 규칙은,
1. 먼저, 일반적인 프로그램처럼 조건에 맞는 수행경로를 따라 수행한다.
2. 다음에, 수행경로에 없던 모든 함수호출들을 나타난 순서에 따라 수행한다.
이런 것 같은데, 이 예상이 맞는 것입니까?
그리고 이것은 일관적으로 항상지켜집니까? 아니면 경우에 따라 다른게 수행되기도 합니까?
함수호출이 프로그램 라인번호에 따라 정확히 그 순서를 지켜서 2번단계가 수행됩니까? 아니면 그 순서를 보장할 수 없읍니까?
YT 프로그램 수행모델을 제대로 파악하지 못하면, 그렇지 않아도 일반 프로그램 수행모델에 맞지 않아 프로그램에 어려움이 있는데, 프로그램을 작성하는데 시간낭비가 많을 것같으니, 상세하고 정확히 알려주시면 감사하겠읍니다. 예를 들어 2. 과정에서 함수호출에 사용되는 파라메터값은 1과정을 마친후 최종적으로 확정된 변수들에의해 만들어지는 값으로 호출되는 것입니까?
============ 지표:
Input: p(0);
Var: par(0);
Var: dummy(0);
if p == 0 then _func_1("line 5", par);
if p == 1 then _func_1("line 6", par);
if p == 2 then _func_1("line 7", par);
print("_test_1.txt", "index = %.0f; par = %.0f", index, par);
============ 함수: _func_1
Input: line(StringSimple), par(NumericRef);
print("_test_1.txt", "_func_1 begin: called from %s: par = %.0f", line, par);
par = par + 10;
print("_test_1.txt", "_func_1 end: called from %s: par = %.0f", line, par);
_func_1 = 1;
============ 출력
2014-06-12 9:00:00 _func_1 begin: called from line 5: par = 0
2014-06-12 9:00:00 _func_1 end: called from line 5: par = 10
2014-06-12 9:00:00 index = 0; par = 10
2014-06-12 9:00:00 _func_1 begin: called from line 6: par = 10
2014-06-12 9:00:00 _func_1 end: called from line 6: par = 20
2014-06-12 9:00:00 _func_1 begin: called from line 7: par = 20
2014-06-12 9:00:00 _func_1 end: called from line 7: par = 30
2014-06-13 9:00:00 _func_1 begin: called from line 5: par = 30
2014-06-13 9:00:00 _func_1 end: called from line 5: par = 40
2014-06-13 9:00:00 index = 1; par = 40
2014-06-13 9:00:00 _func_1 begin: called from line 6: par = 40
2014-06-13 9:00:00 _func_1 end: called from line 6: par = 50
2014-06-13 9:00:00 _func_1 begin: called from line 7: par = 50
2014-06-13 9:00:00 _func_1 end: called from line 7: par = 60
2014-06-16 9:00:00 _func_1 begin: called from line 5: par = 60
2014-06-16 9:00:00 _func_1 end: called from line 5: par = 70
2014-06-16 9:00:00 index = 2; par = 70
2014-06-16 9:00:00 _func_1 begin: called from line 6: par = 70
2014-06-16 9:00:00 _func_1 end: called from line 6: par = 80
2014-06-16 9:00:00 _func_1 begin: called from line 7: par = 80
2014-06-16 9:00:00 _func_1 end: called from line 7: par = 90
2014-06-17 9:00:00 _func_1 begin: called from line 5: par = 90
2014-06-17 9:00:00 _func_1 end: called from line 5: par = 100
2014-06-17 9:00:00 index = 3; par = 100
2014-06-17 9:00:00 _func_1 begin: called from line 6: par = 100
2014-06-17 9:00:00 _func_1 end: called from line 6: par = 110
2014-06-17 9:00:00 _func_1 begin: called from line 7: par = 110
2014-06-17 9:00:00 _func_1 end: called from line 7: par = 120
2014-06-18 9:00:00 _func_1 begin: called from line 5: par = 120
2014-06-18 9:00:00 _func_1 end: called from line 5: par = 130
2014-06-18 9:00:00 index = 4; par = 130
2014-06-18 9:00:00 _func_1 begin: called from line 6: par = 130
2014-06-18 9:00:00 _func_1 end: called from line 6: par = 140
2014-06-18 9:00:00 _func_1 begin: called from line 7: par = 140
2014-06-18 9:00:00 _func_1 end: called from line 7: par = 150
2014-06-19 9:00:00 _func_1 begin: called from line 5: par = 150
2014-06-19 9:00:00 _func_1 end: called from line 5: par = 160
2014-06-19 9:00:00 index = 5; par = 160
2014-06-19 9:00:00 _func_1 begin: called from line 6: par = 160
2014-06-19 9:00:00 _func_1 end: called from line 6: par = 170
2014-06-19 9:00:00 _func_1 begin: called from line 7: par = 170
2014-06-19 9:00:00 _func_1 end: called from line 7: par = 180
2014-06-20 9:00:00 _func_1 begin: called from line 5: par = 180
2014-06-20 9:00:00 _func_1 end: called from line 5: par = 190
2014-06-20 9:00:00 index = 6; par = 190
2014-06-20 9:00:00 _func_1 begin: called from line 6: par = 190
2014-06-20 9:00:00 _func_1 end: called from line 6: par = 200
2014-06-20 9:00:00 _func_1 begin: called from line 7: par = 200
2014-06-20 9:00:00 _func_1 end: called from line 7: par = 210
2014-06-23 9:00:00 _func_1 begin: called from line 5: par = 210
2014-06-23 9:00:00 _func_1 end: called from line 5: par = 220
2014-06-23 9:00:00 index = 7; par = 220
2014-06-23 9:00:00 _func_1 begin: called from line 6: par = 220
2014-06-23 9:00:00 _func_1 end: called from line 6: par = 230
2014-06-23 9:00:00 _func_1 begin: called from line 7: par = 230
2014-06-23 9:00:00 _func_1 end: called from line 7: par = 240
2014-06-24 9:00:00 _func_1 begin: called from line 5: par = 240
2014-06-24 9:00:00 _func_1 end: called from line 5: par = 250
2014-06-24 9:00:00 index = 8; par = 250
2014-06-24 9:00:00 _func_1 begin: called from line 6: par = 250
2014-06-24 9:00:00 _func_1 end: called from line 6: par = 260
2014-06-24 9:00:00 _func_1 begin: called from line 7: par = 260
2014-06-24 9:00:00 _func_1 end: called from line 7: par = 270
2014-06-25 9:00:00 _func_1 begin: called from line 5: par = 270
2014-06-25 9:00:00 _func_1 end: called from line 5: par = 280
2014-06-25 9:00:00 index = 9; par = 280
2014-06-25 9:00:00 _func_1 begin: called from line 6: par = 280
2014-06-25 9:00:00 _func_1 end: called from line 6: par = 290
2014-06-25 9:00:00 _func_1 begin: called from line 7: par = 290
2014-06-25 9:00:00 _func_1 end: called from line 7: par = 300
2014-06-26
218
글번호 76129
오늘도수익 님에 의해서 삭제되었습니다.
2014-06-25
45
글번호 76128
오늘도수익 님에 의해서 삭제되었습니다.
2014-06-25
0
글번호 76127
답변완료
평균내기
1.베이시스를 5일 이동평균선 처럼 평균을 내려고 합니다
2.변동한 베이시스의 중간값을 구하려고 합니다
수식 부탁합니다
2014-06-26
156
글번호 76126
세발낚지 님에 의해서 삭제되었습니다.
2014-06-26
38
글번호 76125
답변완료
조건검색식 제작의뢰합니다
1. 일봉에서 후행스팬이 엔벨롭(20.17)하한선을 이탈했다가 다시 엔벨롭하한선을 상향돌파시 관련된 종목 찾기
2. 이때 볼린져밴드는 엔벨롭상한선이나 중심선에 포진되어있으면서 마찬가지고 후행스팬이 볼린져밴드 하한선을 이탈하였다가 볼린져밴드하한선을 엔밸롭하한선과 거의 같이 상향돌파하는 종목을 찾는 검색식 제작을 의뢰합니다
1과 2를 동시에 만족하거나 1과 2를 별개 항목으로 검색하는 방법을 알고 싶습니다
2014-06-25
257
글번호 76124
답변완료
질문입니다
이평선 크로스 업 / 다운 조건과
아래와 같은 조건을 넣고 싶습니다
1
00시01분01초 부터 00시01분59초 까지 매매 가능
or
00시16분01초 부터 00시16분59초 까지 매매 가능
or
00시31분01초 부터 00시31분59초 까지 매매 가능
or
00시46분01초 부터 00시46분59초 까지 매매 가능
or
01시46분01초 부터 01시46분59초 까지 매매 가능
...
...
or
13시01분01초 부터 13시01분59초 까지 매매 가능
매 시간에
01분시작,16분시작,31분시작,46분시작
하여 1분간만 매매 하는 조건 입니다
2
00시 00분 01초 부터 15시 00분 00초 까지 매매 가능시간
하지만
매시간
00시 00분 00초 부터 00분 59초 사이는 매매금지
and
00시 30분 00초 부터 30분 59초 사이는 매매금지
and
01시 00분 00초 부터 00분 59초 사이는 매매금지
...
...
and
14시 30분 00초 부터 30분 59초 사이는 매매금지
조건 입니다
2014-06-25
181
글번호 76118
답변완료
문의 드립니다.
수고하십니다.
a라는 계좌를 수동으로 매매하여 체결됐을때
b라는 계좌에서 자동으로 a계좌와 동일하게 매매되는게 시스템으로 가능할런지요?
2014-06-25
180
글번호 76117
답변완료
수식작성 문의드립니다
안녕하세요 수고많으십니다.
선물분봉매매를 할때 신규매수는 수동으로 하고 매수청산을 자동매매로 하고 싶은데 가능한지요?
종가가 특정이평선을 하방교차해서 내려오면 청산하는 식을 부탁드립니다.
(제가 만들어 보니 이상하게 예스트레이더에 시스템적용 항목에 뜨질 않더군요 ㅠㅠ)
감사합니다.
2014-06-25
176
글번호 76116