커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1531
글번호 230811
답변완료
문의 드립니다.
도저히 해결이 않되서 문의 드립니다.
아래의 코드는 동일한 코드입니다.
다만 1번 코드는 전략챠트에 참조데이터가 62개있고
그중 19째 데이터값(일일시가)을 디버깅하고
2번 코드는 전략챠트에 참조데이터가 2개있고
2번째 데이터값(일일시가)을 디버깅하게 되어있습니다.
제가 궁금한것은 참조데이터가 2개인 챠트에서는
2번코드가 정상작동 하였는데
참조데이터가 62개인 챠트에서는
1, 2번 코드 모두 디버깅값이 출력되지 않았습니다.
참조데이터는 옵션 행사가입니다.
32비트 , 64비트 동일했습니다.
제가 이해하기로는 참조데이터값은 data99번까지
사용 가능한것으로 알고있는데요...
제가 프로그램을 잘못 설정한 부분이 있는지
혹은 제 시스템이 문제인지 궁금합니다.
Win10 , 메모리 24G 사용중입니다.
code 1
Variables: 기준일(20230618) ;
Array: Call_Day_O[70](0) ;
if sdate > 기준일 Then {
Call_Day_O[19] = data19(Dayopen) ;
MessageLog(" 일일시가 = %.2f " , Call_Day_O[19] ) ;
}
code 2
Variables: 기준일(20230618) ;
Array: Call_Day_O[70](0) ;
if sdate > 기준일 Then {
Call_Day_O[19] = data2(Dayopen) ;
MessageLog(" 일일시가 = %.2f " , Call_Day_O[19] ) ;
}
감사합니다.
2023-06-24
962
글번호 170055
파워 님에 의해서 삭제되었습니다.
2023-06-23
767
글번호 170054
답변완료
LRS 반등 검색식 부탁드립니다.
LRS 반등 조건 검색식을 만들려고 하는데 검증시 오류가 계속 뜨네요.
input : period(11);
var : A(0);
A = LRS(C,period);
IF a(1)<0 and a(2)<0 and a(3)<0 and a(4)<0 and
a(4)>a(3) and a(2)<a(3) and a(1)<a(2) and a>a(1) Then
Find(1);
오류메세지 - 함수만이 입력값을 가질수 있습니다.
무엇이 잘 못 되었나요?
2023-06-23
1097
글번호 170053
답변완료
부탁드립니다.
1. 매월 옵션 만기가 끝난 그 다음 주 월요일을 기준으로, 그 7일전부터 옵션 만기 다음 날까지 사이 옵션의 가장 저가 하나를 찾아서 이를 수평선으로 그대로 매월 구현해 주세요
(참고로 기준선과 별도이고, 월저가 아닙니다)
고맙습니다.
2023-06-23
912
글번호 170052
목포댁 님에 의해서 삭제되었습니다.
2023-06-23
13
글번호 170051
답변완료
상관계수 검색
항상 도와주심에 감사합니다
특정종목 5개가 주어졌을때
각 종목과 상관계수가 70을 넘는 종목을 검색하고 싶은데
수식좀 부탁해도 될까요?
삼성전자
현대차
LG
현대건설
현대백화점
이렇게 5개를 지정하고
우선 삼성전자와 대비 상관계수가 70을 넘는 종목을 나열하고
두번째로 현대차와 대비 상관계수가 70을 넘는 종목을 나열하고 .... 이런식으로요
혹시 시스템부하등이 우려되면
한종목만 특정해서 검색하는 방식도 고려했으면 합니다
2023-06-23
1132
글번호 170049
답변완료
추세선 부탁 드립니다.
* 좋은 주말 되십시요^^
* 추세선 하나만 부탁 드립니다.
var1 = ma(c,5) ;
var2 = ma(c,20) ; 일경우
crossup(var1, var2) 조건에 수직 추세선좀 부탁 드립니다
단 봉이 보여야 합니다.
즉 수직선이 해당봉의 최고가 보다 5틱 커야 하고 최저가 보다 5틱 낮아야 합니다.
* 고맙 습니다. 좋은 주말 되십시요^^
2023-06-23
779
글번호 170047
답변완료
행복; 지표식 작성 바랍니다
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
지표식 관련입니다
<<질문>>
- 기준봉; 1분봉
- 전일 종가가 상한가 이고 오늘 고가가 전일대비 10% 이상 상승한 경우 1을 표시할 것
<참조; 기준봉이 일봉일 때,
전일 종가가 상한가이고 오늘 고가가 전일대비 10% 이상 상승한 경우 1을 표시할 것은 아래와 같은데 기준봉이 분봉일 때는 어떻게 해야 할까요?>
-----------------------< 아래 >------------------------------
var : 상한가(0), UpLimit(0);
var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),Up7(0);
if date >= 19981207 then
{
if date < 20050328 && CodeCategory() == 2 then
UpLimit = (BP[0] * 1.12);
Else if date >= 20050328 and date < 20150615 Then
UpLimit = (BP[0] * 1.15);
Else
UpLimit = (BP[0] * 1.30);
if date >= 20230125 Then
{
up1 = int(UpLimit/1000+0.00001)*1000;
up2 = int(UpLimit/500+0.00001)*500;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/5+0.00001)*5;
up7 = int(UpLimit/1+0.00001)*1;
}
Else
{
if CodeCategory() == 2 then
{
if date >= 20030721 then
{
up1 = int(UpLimit/100+0.00001)*100;
up2 = int(UpLimit/100+0.00001)*100;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/5+0.00001)*5;
up7 = int(UpLimit/1+0.00001)*1;
}
else
{
up1 = int(UpLimit/1000+0.00001)*1000;
up2 = int(UpLimit/500+0.00001)*500;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/10+0.00001)*10;
up7 = int(UpLimit/1+0.00001)*1;
}
}
Else
{
up1 = int(UpLimit/1000+0.00001)*1000;
up2 = int(UpLimit/500+0.00001)*500;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/5+0.00001)*5;
up7 = int(UpLimit/1+0.00001)*1;
}
}
if CodeCategory() == 1 || CodeCategory() == 2 then
{
if date >= 20230125 Then
{
If BP >= 500000 Then
상한가 = up1;
Else If BP >= 200000 Then
상한가 = iff(up2>=500000, up1, up2);
Else If BP >= 50000 Then
상한가 = iff(up3>=200000, up2, up3);
Else If BP >= 20000 Then
상한가 = iff(up4>=50000, up3, up4);
Else If BP >= 5000 Then
상한가 = iff(up5>=20000, up4, up5);
Else If BP >= 2000 Then
상한가 = iff(up5>=5000, up5, up6);
Else
상한가 = iff(up6>=2000, up6, up7);
}
Else
{
if sdate < 20101004 Then
{
If BP >= 500000 Then
상한가 = up1;
Else If BP >= 100000 Then
상한가 = iff(up2>=500000, up1, up2);
Else If BP >= 50000 Then
상한가 = iff(up3>=100000, up2, up3);
Else If BP >= 10000 Then
상한가 = iff(up4>=50000, up3, up4);
Else If BP >= 5000 Then
상한가 = iff(up5>=10000, up4, up5);
Else If BP >= 1000 Then
상한가 = iff(up5>=5000, up5, up6);
Else
상한가 = iff(up6>=1000, up6, up6);
}
Else
{
If BP >= 500000 Then
상한가 = up1;
Else If BP >= 100000 Then
상한가 = iff(up2>=500000, up1, up2);
Else If BP >= 50000 Then
상한가 = iff(up3>=100000, up2, up3);
Else If BP >= 10000 Then
상한가 = iff(up4>=50000, up3, up4);
Else If BP >= 5000 Then
상한가 = iff(up5>=10000, up4, up5);
Else If BP >= 1000 Then
상한가 = iff(up5>=5000, up5, up6);
Else
상한가 = iff(up6>=1000, up6, up7);
}
}
}
else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF
상한가 = up6;
}
}
if close[1] == 상한가[1] and high >= dayclose(1) * 1.1 then
plot1(1);
Else
Plot1(0);
-------------------------------------------------------
수고하십시요^^
2023-06-23
1164
글번호 170040
답변완료
수식확인
안녕하세요
매수후매도
신호가 나와야 하는데 안나옴
확인해주세요
파일참조
Inputs : DDD(20150309), LEN(300), HL_ED(60), CC(Black);
Vars : DBN(0), KK(0), DD(0), KK2(0), DD2(0),T(0),mav(0);
If STime >= 080000 And STime[1] < 080000 Then Begin
DBN = 0;
KK = 0;
DD = 0;
KK2 = 0;
DD2 = 0;
T = 0;
End;
DBN = DBN + 1;
If STime >= 083000 And DD == 0 Then Begin
Value2 = O;
DD = 1;
KK = DBN;
var1 = 0;
var2 = 0;
End;
mav = ma(C,10);
if DD == 1 Then
{
if CrossUp(C,value2) Then
{
T = 1;
}
if CrossDown(C,Value2) Then
{
T = -1;
}
if T == 1 and CrossUp(C,mav) Then
{
T = 2;
Buy();
}
if T == -1 and CrossDown(C,mav) Then
{
T = -2;
Sell();
}
}
2023-06-23
1172
글번호 170032