커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6665
글번호 230811
답변완료
반복문에서 조건에 부합될시 반복문을 빠져나가는 명령어는 무엇인가요?
질문은 제목 그대로입니다.
다른 언어에 있는 break 명령어에 해당하는 명령어가 무엇인지 알고 싶습니다.
2015-01-20
158
글번호 82418
답변완료
수식부탁드립니다
안녕하세요
0.5포인트 수익이후 최대수익대비 1포인트 하락시 청산하는 수식을 부탁드립니다.
감사합니다^^
2015-01-20
140
글번호 82417
답변완료
일봉 데이타를 참조하여 분봉으로 매매하고 싶습니다
시스템식 작성좀 요청드립니다
참조데이타 식입니다
첫번째 매수는 일봉상으로 이격도 3일선 110을돌파할때 매수하라
매수후에는
분봉으로 매매합니다(5분봉)
매수후에 매도는 5분봉 체결강도가 110% 하회할때 매도하라
두번째 매수진입은
일봉상 이격도가 3일선 110이상 조건일 경우에
분봉상의 5분봉 12개(60분)의 최고가를 돌파하면 다시 매수하라
두번째 진입의 매도는 5분봉 체결강도가 110%를 하회할때 매도하라
정리하면
이격도 일봉상의 특정값을 돌파하면 매수한후에
분봉상으로 특정기간의 분봉 최고값을 돌파하면 매수하고
매도는 분봉상의 체결강도가 일정값 이하로 하락하면 매도하라 입니다
재 진입할때도 일봉상의 지표를 참고해서 그 지표 이하이면 진입을 하지 않도록
해야 합니다
혹시 체결강도로 매도식이 불가능하다면 rsi 분봉으로 매도처리하고 싶습니다
추가로 아침장시작 9시10분 이후에 매수매도 해야합니다 장시작 10분간은 매수 진입금지
매도처리는 가능
감사합니다
2015-01-20
173
글번호 82415
답변완료
검토부탁드립니다
안녕하세요
39726 답변내용에 사용된 단,장기 이평을 fcstVBE_ma과 fcstVBE_ma1로
대체하여 예스글로벌에서 적용하니 교차가 발생했음에도 지표가 PLOT되지 않는곳이 많습니다.검토부탁드립니다.
input : Left(3),Right(3);
var : SL(0),SH(0),T(0),cross(0),AA(0);
var : Line1(0),Line2(0),Line3(0),Line4(0);
Var:chng_rt(0),j(0),ma_val(0),rawVBE_ma(0);
Var:chng_rt1(0),j1(0),ma_val1(0),rawVBE_ma1(0);
Array:len[6](0),VBE_ma[6](0),
ma_chg[6](0),ma_cor[6](0),
fcstVBE_ma[6](0);
Array:len1[11](0),VBE_ma1[11](0),
ma_chg1[11](0),ma_cor1[11](0),
fcstVBE_ma1[11](0);
len[0] = 21;
len[1] = 17;
len[2] = 13;
len[3] = 9;
len[4] = 5;
len[5] = 2;
chng_rt = (C/C[1]-1); //가격 변동률
ma_val = ma(chng_rt,len[0]); //가격변동률의 평균
rawVBE_ma = C * (1 + ma_val); //원시VBE
for j = 0 to 5 {
VBE_ma[j] = wma(rawVBE_ma,len[j]); //원시VBE를 가중이평으로 평활화
if VBE_ma[j][1] > 0 then ma_chg[j] = (VBE_ma[j]-VBE_ma[j][1])/VBE_ma[j][1]; //VBE의 변동률
}
fcstVBE_ma[0] = VBE_ma[0];
plot1(fcstVBE_ma[0]);
len1[0] = 41;
len1[1] = 37;
len1[2] = 33;
len1[3] = 29;
len1[4] = 25;
len1[5] = 21;
len1[6] = 17;
len1[7] = 13;
len1[8] = 9;
len1[9] = 5;
len1[10] =2;
chng_rt1 = (C/C[1]-1); //가격 변동률
ma_val1 = ma(chng_rt1,len1[0]); //가격변동률의 평균
rawVBE_ma1 = C * (1 + ma_val1); //원시VBE
for j1 = 0 to 10 {
VBE_ma1[j1] = wma(rawVBE_ma1,len1[j1]); //원시VBE를 가중이평으로 평활화
if VBE_ma1[j1][1] > 0 then ma_chg1[j1] = (VBE_ma1[j1]-VBE_ma1[j1][1])/VBE_ma1[j1][1]; //VBE의 변동률
}
fcstVBE_ma1[0] = VBE_ma1[0];
plot2(fcstVBE_ma1[0]);
var1 = fcstVBE_ma[0];
var2 = fcstVBE_ma1[0];
if SwingLow(1,L,Left,Right,left+right+1) != -1 Then
SL = L[right];
if SwingHigh(1,H,Left,Right,left+right+1) != -1 Then
SH = H[right];
if crossup(var1,var2) and SL > 0 Then{
T = 1;
cross = (var1+var2)/2;
AA = abs(cross-SL);
Line1 = cross+AA*0.618;
Line2 = cross+AA*1.000;
Line3 = cross+AA*1.618;
Line4 = cross+AA*2.000;
Condition1 = false;
Condition2 = false;
Condition3 = false;
Condition4 = false;
}
if CrossDown(var1,var2) and SH > 0 Then{
T = -1;
cross = (var1+var2)/2;
AA = abs(cross-SL);
Line1 = cross-AA*0.618;
Line2 = cross-AA*1.000;
Line3 = cross-AA*1.618;
Line4 = cross-AA*2.000;
Condition1 = false;
Condition2 = false;
Condition3 = false;
Condition4 = false;
}
if T == 1 Then{
if H >= Line1 Then
Condition1 = true;
if H >= Line2 Then
Condition2 = true;
if H >= Line3 Then
Condition3 = true;
if H >= Line4 Then
Condition4 = true;
if Condition1 == False Then
plot3(Line1,"0.618");
if Condition1 == False Then
plot4(Line2,"1.000");
if Condition1 == False Then
plot5(Line3,"1.618");
if Condition1 == False Then
plot6(Line4,"2.000");
}
if T == -1 Then{
if L <= Line1 Then
Condition1 = True;
if L <= Line2 Then
Condition2 = true;
if L <= Line3 Then
Condition3 = true;
if L <= Line4 Then
Condition4 = true;
if Condition1 == False Then
plot7(Line1,"0.618");
if Condition1 == False Then
plot8(Line2,"1.000");
if Condition1 == False Then
plot9(Line3,"1.618");
if Condition1 == False Then
plot10(Line4,"2.000");
}
2015-01-20
186
글번호 82414
답변완료
해외선물 장마감 신호발생
안녕하세요.
해외선물의 경우 거의 24시간 거래가 이루어지기 때문에
데이트레이딩보다는 포지션 전략을 사용하고 있습니다.
또한 해외선물의 경우
주말,공휴일전일,납회 등의 영업일에는 국내처럼 장종료시간이 일정하지 않습니다.
여기서 장종료시점 마지막봉에서 진입신호 또는 청산신호가 발생할 경우
이를 처리할 수 없게 됩니다.
(장마감 분봉 신호발생 --> 초기화 --> 다음 영업일 장시작)
--------------------------------
위의 내용과 관련하여 다음 수식이 YT로 가능한지 부탁드립니다.
1) 해외선물 1분봉을 사용한다고 가정할 시
2) 다음 수식에서 장종료 마지막봉에서 진입신호 또는 청산신호가 발생하였다면
3) 2)에 의한 체결이 발생할 수 없으므로
4) 다음 영업일 장시작 첫봉 완성시 해당 주문 실행
5) 단, 4)는 실제로 원신호와 무관한 매매이므로, 다음 신호에 영향을 받지 않도록 처리
6) 마지막봉이 진입신호이고, 다음 영업일 첫봉이 손절일 경우
해당신호는 당연히 발생하겠지만
실제로는 5)의 매매가 이루어지지 않도록 하고 더블어 손절도 발생하지 않도록 함
If marketposition == 0 and 조건1 then Buy("B");
If marketposition == 0 and 조건2 then Sell("S");
If marketposition == 1 and 조건3 then ExitLong("XB");
If marketposition == -1 and 조건4 then ExitShort("XS");
setstoploss(1,pointstop);
--------------------------------
마지막으로 해외선물의 경우 거의 24시간 거래가 되므로
분봉 사용시 국내시장과 비교할 때 4배정도 데이타가 더 필요합니다.
통화상 말씀드렸듯이
데이타수가 현재 5천개에서 1만개로 되도록 빨리 확대되었으면 좋겠습니다.
(현대선물 1분봉으로 테스트 결과 현재 5천봉에서 신호미발생으로,
그이전 신호와 연결이 안되는 문제가 있었음)
이상입니다.
감사합니다 !!!
2015-01-20
203
글번호 82413
답변완료
수식 문의 드립니다.
안녕하세요. 시스템으로 수식을 짤려고 하는데 초보라 잘 안되네요..
도움 부탁드립니다.
100틱 차트에서.
질문 1
5틱 이동평균선을 양봉or 갭으로 상향 돌파 후 다음봉이 종가상 5틱선 위에서 양봉이고, 5일 이평선이 상승 전환 시
→매수 표시
질문 2
5틱 이동평균선을 음봉or갭으로 하향 돌파 후 다음봉이 종가상 5틱선 아래에서 음봉이고, 5일 이평선이 하락 전환 시
→매도 표시
수식에 간단한 설명도 부탁 드립니다. 수고하세요!
2015-01-20
155
글번호 82412
온고지신 님에 의해서 삭제되었습니다.
2015-01-20
0
글번호 82411
답변완료
예스글로벌에서
bids, asks의 값이 0으로만 나오는데 호가잔량 관련 데이타는 제공이 안되나요?
2015-01-20
159
글번호 82410
답변완료
문의드립니다.
선물차트 기준으로 문의드립니다.
캔들의 몸통안에(시가와 종가의 사이에) 지수이평14선과 삼각가중이평 14선이 모두 들어있는 봉을 검색하고 싶습니다.
검색신호는 봉의 아래에 나타나게 하고 싶습니다.
수식을 어떻게 작성해야 하는지요? 부탁드립니다.
감사합니다. 수고하세요!!!
2015-01-20
161
글번호 82409