커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1692
글번호 230811
답변완료
문의드립니다
주식 5종목까지 보유종목을 제한하려고
var : AccNum(""), NumPosit(0);
AccNum = " 계좌번호 " ;
NumPosit = GetNumPositions(AccNum);
if NumPosit <= 5 and 후략 then
이와 같은 식으로 시험 적용을 해보았는데
실제 매매가 아니어서인지
종목 갯수 제한이 걸리지 않은채
그냥 계속 추가 종목들이 매수가 되어버리는데요.
실제 매매에서는 갯수 제한이 동작할까요?
2022-01-28
1043
글번호 155921
답변완료
현재봉 기준 7개 이전 봉에 예스스탁 강조에서 봉에 표시 하고 싶읍니다
현재봉 기준 7개 이전 봉에 예스스탁 강조에서 봉에 표시 하고 싶읍니다
2022-01-28
972
글번호 155912
답변완료
수식 부탁드립니다
옵션 현재가 창 에서 미결 이 있고 미결 증감 이 있는데
미결 증감을 지표로 보고 싶습니다
일봉이 아닌 분봉이나 틱봉 한 봉 전 데이타 로
부탁드립니다
2022-01-28
936
글번호 155899
신대륙발견 님에 의해서 삭제되었습니다.
2022-01-28
19
글번호 155898
답변완료
문의
data1 국내선물 5분봉
데이트레이딩
당일 발생봉으로만 계산
아래식의 k 값으로 진입합니다.
문의)
10시30 분부터 11시까지(입력한 시간 사이에 발생한 봉으로만 계산)
if k의 하이로우가 5 이내 and 고점 k 돌파 then
buy();
if k의 하이로우가 5 이내 and 저점 k 돌파 then
sell();
수식 부탁드립니다.
************************************************************************************
var : sum1(0,Data1),sum2(0,Data1),sum3(0,Data1),sum4(0,Data1),sum5(0,Data1);
var : k(0,Data1);
sum1 = data2(c) + data3(c);
sum2 = data4(c) + data5(c);
sum3 = data6(c) + data7(c);
sum4 = data8(c) + data9(c);
sum5 = data10(c) + data11(c);
k = min(sum1,sum2,sum3,sum4,sum5);
2022-01-28
1223
글번호 155897
답변완료
시스템 수식작성 질문드립니다.
안녕하세요. 시스템 수식작성 질문드립니다.
vars : range(0), noise(0), noiseavg(0), Mscore(0)
range = High - Low
noise = 1 - abs(Open - Close)/(High - Low)
#Noise 값의 13일 이동평균, 아래와 같이 작성하는게 맞는지모르겠습니다.
noiseavg = ma(noise,13)
#롱 진입비중 = Mscore * 4계약
#숏 진입비중 = (1 - Mscore) * 4계약
Mscore =
( IFF(Close > ma(Close,3),1,0)
+ IFF(Close > ma(Close,5),1,0)
+ IFF(Close > ma(Close,8),1,0)
+ IFF(Close > ma(Close,13),1,0) ) / 4
#매수진입 : 가격 > 당일시가 + range[1] * noiseavg
#매수진입비중 : Mscore * 4계약
#매수청산 : 익일시가
#매도진입 : 가격 < 당일시가 - range[1] * noiseavg
#매도진입비중 : (1-Mscore) * 4계약
#매도청산 : 당일종가
감사합니다! 수고하십시오!
2022-01-28
1138
글번호 155896
답변완료
함수 문의
안녕하세요 . 항상 빠른 도움에 감사 드리고 새해 복 많이 받으세요.
특정 값을 수평선으로 나타내려고 하는데 추세선 함수를 사용할 것 같은데..
추세선 출력 함수를 보면
TL_New(StartDate,StartTime,StartValue,EndDate,EndTime,EndValue)
StartDate,StartTime 과 EndDate,EndTime의 값을 자동으로 리턴해주는 함수 없나요?
2022-01-28
1102
글번호 155892
답변완료
지그재그 수식부탁드립니다
아래 지그재그수식을 첨부파일처럼 고저점과 현지수와 연결되어 나타나도록 수식 수정이 가능다면 부탁드리겠습니다
(사진설명: 저점 발생후 원표시처럼 현지수와 고점이 계속적으로 연결되어 나타나다가 지수하락시 고점형성 후 저점과 지수연결되는 모양)
아니면 아래수식과 관계없는 별도의 수식이 있다면 또한 부탁드립니다
Input : length(2),종가사용여부(0),파동선두께(1),수치표시수(1),수치표시세모(1);
Variables: j(0),jj(0),HH(0),LL(0)
,최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0),Text1(0),Text2(0),tl2(0),T(0),var1(0),var2(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
HH = IFF(종가사용여부==1,C,H);
LL = IFF(종가사용여부==1,C,L);
If Index == 0 Then
{
고[1,1] = HH;
저[1,1] = LL;
}
Condition1 = Highest(HH,length) == HH and 최종고가 <> HH;
Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL;
처리구분 = "";
If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생
{
If 최종꼭지점 == "저점" Then
{
If 저[1,1] > LL Then 처리구분 = "저점처리";
Else 처리구분 = "고점처리";
}
Else If 최종꼭지점 == "고점" Then
{
If 고[1,1] < HH Then 처리구분 = "고점처리";
Else 처리구분 = "저점처리";
}
}
Else If Condition1 Then 처리구분 = "고점처리";
Else If Condition2 Then 처리구분 = "저점처리";
#==========================================#
If 처리구분 == "고점처리" Then
{
T = 1;
최종고가 = HH; // 신규고점을 체크하기 위해 저장
If 최종꼭지점 == "저점" Then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
고[j,jj] = 고[j-1,jj];
}
}
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
If 수치표시수 == 1 Then
{
Text1 = Text_New(고[1,3],고[1,4],고[1,1],"고점");
Text_SetStyle(Text1, 0, 2);
Text_SetColor(Text1,RED);
Text_SetSize(Text1, 12);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,BLACK);
If 수치표시수 == 1 Then
{
Text2 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2));
Text_SetStyle(Text2, 0, 1);
Text_SetColor(Text2,BLUE);
Text_SetSize(Text2, 12);
}
}
Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현
{
고[1,1] = HH;
고[1,2] = Index;
고[1,3] = sDate;
고[1,4] = sTime;
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
TL_SetEnd(TL2,고[1,3],고[1,4],고[1,1]);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
If 수치표시수 == 1 Then
{
Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]);
Text_SetString(Text1,"고점");
}
If 수치표시수 == 1 Then
{
Text_SetLocation(Text2,고[1,3],고[1,4],고[1,1]);
Text_SetString(Text2,NumToStr(고[1,1],2));
}
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
T = -1;
최종저가 = LL;
If 최종꼭지점 == "고점" then
{
For j = 10 DownTo 2
{
For jj = 1 To 4
{
저[j,jj] = 저[j-1,jj];
}
}
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
If 수치표시수 == 1 Then
{
Text2 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2));
Text_SetStyle(Text2, 0, 0);
Text_SetColor(Text2,BLACK);
Text_SetSize(Text2, 12);
}
If 수치표시수 == 1 Then
{
Text1 = Text_New(저[1,3],저[1,4],저[1,1],"저점");
Text_SetStyle(Text1, 0, 2);
Text_SetColor(Text1,BLUE);
Text_SetSize(Text1, 12);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,BLACK);
}
Else If 저[1,1] > LL then
{
저[1,1] = LL;
저[1,2] = Index;
저[1,3] = sDate;
저[1,4] = sTime;
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
TL_SetEnd(TL2,저[1,3],저[1,4],저[1,1]);
If 수치표시수 == 1 Then
{
Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]);
Text_SetString(Text1,"저점");
}
If 수치표시수 == 1 Then
{
Text_SetLocation(Text2,저[1,3],저[1,4],저[1,1]);
Text_SetString(Text2,NumToStr(저[1,1],2));
}
}
최종꼭지점 = "저점";
}
2022-01-28
1080
글번호 155891
답변완료
부탁 드립니다~~
highest(C(1), 봉수) < C
지표변수>
봉수 645
종목을 찾고 싶습니다
2022-01-28
888
글번호 155890