커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8036
글번호 230811
답변완료
수식문의
안녕하세요?
제가 검색식은 처음이라, 기본적 사용방법도 같이 좀 알려주시면 감사하겠습니다.
검색식 두개 부탁드립니다.
검색식 1번:
1. 개별주식선물이 있는 종목들에 대해서
2. N일 전에 비해서 10% 이상 오른 종목(주식)들을 검색하되,
3. 가장 많이 오른 순으로 나열해서 보여주면 좋겠습니다.
1번 대신 아예, 개별주식선물들 가운데 n일 전에 비해 10% 이상 오른 선물들을
많이 오른 순서대로 나열해 주셔도 좋습니다.
검색식 2번:
개별주식선물이 있는 주식들에 대해서/또는 개별주식선물들에 대해서
N일 전에 비해서 10% 이상 오른 종목들을 1등부터 나열할 때,
10등부터 꼴등까지 순서대로 나열해 주면 좋겠습니다.
그러니까 1~9등은 제외합니다.
감사합니다.
2025-04-08
600
글번호 189917
답변완료
수식수정 부탁드립니다
var : cnt(0),WeekOC(0),MonthOC(0),WeekOL(0);
Array : WeekO[20](0),WeekC[20](0);
Array : MonthO[20](0),MonthC[20](0);
// 주봉의 시작일 판단 로직
if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then
{
WeekO[0] = O; #주봉시작일의 시가
For cnt = 1 to 19
{
WeekO[cnt] = WeekO[cnt-1][1];
WeekC[cnt] = WeekC[cnt-1][1];
}
WeekOC = C ; #주봉시작(변경)일의 캔들종가
WeekOL = L ; #주봉시작(변경)일의 캔들저가
}
WeekC[0] = C; #주봉의 종가
// 월봉의 시작일 판단 로직
if Bdate > Bdate[1]+30 Then
{
MonthO[0] = O; #월봉시작일의 캔들시가
For cnt = 1 to 19
{
MonthO[cnt] = MonthO[cnt-1][1];
MonthC[cnt] = MonthC[cnt-1][1];
}
MonthOC = C ; #월봉시작일의 캔들종가
}
MonthC[0] = C;
상기 수식은 일봉차트에 주봉시가와 월봉시가를 표시하는 수식입니다
일봉상 캔들의 시가갭이 3%이상인 경우 전일종가와 당일 시가라인을 그리는 수식입니다
Condition1 = ( O - C[1] ) / C[1] * 100 >= 3 ;
if Condition14 == true and C > O Then
{
Var1 = C[1] ;
Var2 = O ;
}
Plot1(Var1,"전일종가");
Plot2(Var2,"당일시가");
상기와 같이 하면 문제가 없는데 하기의 주봉과 월봉캔들로 일봉상에 표시하고자
하는 것은 제대로 그려지지 않아서 도움을 요청드립니다.
일봉상 주봉캔들의 상승갭라인 표시---수정요망
if WeekO[0] > WeekC[1] and ((WeekO[0] - WeekC[1]) / WeekC[1]) * 100 >= 3 Then
{
Plot3(WeekO[0], "상승갭 발생 시가"); // 현재 주 시가 표시
Plot4(WeekC[1], "전주 종가"); // 전주 종가 표시
}
일봉상 월봉캔들의 상승갭라인 표시---신규작성 요망
2025-04-08
620
글번호 189916
답변완료
지표 질문입니다
주화면에
10시
11시
12시
13시
14시
15시
stime 기준으로 선으로 나타내고 싶습니다
감사합니다
2025-04-07
465
글번호 189915
답변완료
문의 드립니다
연속월물로 분봉주기 2시간으로 운영중입니다
8:45가 시작시간이 되던데,
그런데 14:45분이후에 신호발생시는 16:45분에
주문이 나가는 것으로 됩니다
차트 분봉주기 변경없이
장마감전으로 15:30분에 주문이 나가게 하는 방법이 있는지요
담사합니다
2025-04-07
539
글번호 189910
답변완료
수정부탁드립니다.
옵션 행사가를 선으로 표시한 수식입니다.
그림처럼 마디선이 아래쪽은 정상적 나오는데 위쪽은 제대로 표시가 되지 않습니다.
수정 부탁드리며
종가선(봉이 움직일때마다 같이 움직이는) 연두형광색으로 나타내게 해주세요
input : 간격(2.5);
var : cnt(0);
Array : HTL1[100](0),LTL1[100](0);
Array : HTL2[100](0),LTL2[100](0);
Array : HTL3[100](0),LTL3[100](0);
Array : HTL4[100](0),LTL4[100](0);
if Index == 1 or Bdate != Bdate[1] Then
{
var1 = Floor(DayOpen/간격)*간격;
For cnt = 0 to 99
{
TL_Delete(HTL1[cnt]);
TL_Delete(LTL1[cnt]);
TL_Delete(HTL2[cnt]);
TL_Delete(LTL2[cnt]);
TL_Delete(HTL3[cnt]);
TL_Delete(LTL3[cnt]);
TL_Delete(HTL4[cnt]);
TL_Delete(LTL4[cnt]);
value1 = var1+간격*cnt;
value2 = value1+(간격/4)*1;
value3 = value1+(간격/4)*2;
value4 = value1+(간격/4)*3;
HTL1[cnt] = TL_New(sDate,sTime,value1,NextBarSdate,NextBarStime,Value1);
HTL2[cnt] = TL_New(sDate,sTime,value2,NextBarSdate,NextBarStime,Value2);
HTL3[cnt] = TL_New(sDate,sTime,value3,NextBarSdate,NextBarStime,Value3);
HTL3[cnt] = TL_New(sDate,sTime,value4,NextBarSdate,NextBarStime,Value4);
TL_SetExtLeft(HTL1[cnt],true);
TL_SetExtLeft(HTL2[cnt],true);
TL_SetExtLeft(HTL3[cnt],true);
TL_SetExtLeft(HTL4[cnt],true);
TL_SetExtRight(HTL1[cnt],true);
TL_SetExtRight(HTL2[cnt],true);
TL_SetExtRight(HTL3[cnt],true);
TL_SetExtRight(HTL4[cnt],true);
TL_SetSize(HTL1[cnt],3);
TL_SetSize(HTL2[cnt],0);
TL_SetSize(HTL3[cnt],0.5);
TL_SetSize(HTL4[cnt],0);
TL_SetStyle(HTL1[cnt],0.5);
TL_SetStyle(HTL2[cnt],3);
TL_SetStyle(HTL3[cnt],0.5);
TL_SetStyle(HTL4[cnt],3);
if cnt >= 1 Then
{
value5 = var1-간격*cnt;
value6 = value5+(간격/4)*1;
value7 = value5+(간격/4)*2;
value8 = value5+(간격/4)*3;
LTL1[cnt] = TL_New(sDate,sTime,value5,NextBarSdate,NextBarStime,Value5);
LTL2[cnt] = TL_New(sDate,sTime,value6,NextBarSdate,NextBarStime,Value6);
LTL3[cnt] = TL_New(sDate,sTime,value7,NextBarSdate,NextBarStime,Value7);
LTL4[cnt] = TL_New(sDate,sTime,value8,NextBarSdate,NextBarStime,Value8);
TL_SetExtLeft(LTL1[cnt],true);
TL_SetExtLeft(LTL2[cnt],true);
TL_SetExtLeft(LTL3[cnt],true);
TL_SetExtLeft(LTL4[cnt],true);
TL_SetExtRight(LTL1[cnt],true);
TL_SetExtRight(LTL2[cnt],true);
TL_SetExtRight(LTL3[cnt],true);
TL_SetExtRight(LTL4[cnt],true);
TL_SetSize(LTL1[cnt],3);
TL_SetSize(LTL2[cnt],0);
TL_SetSize(LTL3[cnt],0.5);
TL_SetSize(LTL4[cnt],0);
TL_SetStyle(LTL1[cnt],0.5);
TL_SetStyle(LTL2[cnt],3);
TL_SetStyle(LTL3[cnt],0.5);
TL_SetStyle(LTL4[cnt],3);
}
}
}
2025-06-18
523
글번호 189909
답변완료
검색식 부탁드립니다.
안녕하세요
검색식 부탁드리겠습니다.
A : 10일 이내의 최고가
B : A봉 발생위치에서 이전 10일간의 최저가
검색결과 : 현재가(종가) <= B(저가) - ((A(고가) - B(저가)) * (50/100))
최근 5일내에 검색결과에 한번이라도 해당되었던 종목을 검색하고 싶습니다.
감사합니다.
2025-04-07
466
글번호 189907
답변완료
수식 수정 의뢰 드립니다.
아까 수정해주신거에 한가지만 더 부탁드립니다.
큘풋의 가격 교차 여부와 상관없이 두 가격이 만나면 수평선이 발생하는 수식을 외부변수로 추가해 주시길 부탁드립니다.
감사합니다.
input : Price1(1.2),Price2(2.5),Price3(3.0);
var : cond2(False,Data2);
var : cond4(False,Data4);
var : cond6(False,Data6);
var : cond8(False,Data8);
cond2 = CrossUp(data2(HighD(0)),data3(HighD(0))) or
CrossDown(data2(LowD(0)),data3(LowD(0))) or
CrossUp(data3(HighD(0)),data2(HighD(0))) or
CrossDown(data3(LowD(0)),data2(LowD(0)));
cond4 = CrossUp(data4(HighD(0)),data5(HighD(0))) or
CrossDown(data4(LowD(0)),data5(LowD(0))) or
CrossUp(data5(HighD(0)),data4(HighD(0))) or
CrossDown(data5(LowD(0)),data4(LowD(0)));
cond6 = CrossUp(data6(HighD(0)),data7(HighD(0))) or
CrossDown(data6(LowD(0)),data7(LowD(0))) or
CrossUp(data7(HighD(0)),data6(HighD(0))) or
CrossDown(data7(LowD(0)),data6(LowD(0)));
cond8 = CrossUp(data8(HighD(0)),data9(HighD(0))) or
CrossDown(data8(LowD(0)),data9(LowD(0))) or
CrossUp(data9(HighD(0)),data8(HighD(0))) or
CrossDown(data9(LowD(0)),data8(LowD(0)));
if cond2 == true Then
var2 = Data1(c);
if cond4 == true Then
var4 = Data1(c);
if cond6 == true Then
var6 = Data1(c);
if cond8 == true Then
var8 = Data1(c);
if CurrentDate == sdate Then
{
if var2 > 0 Then
Plot1(var2,"d2");
if var4 > 0 Then
Plot2(var4,"d4");
if var6 > 0 Then
Plot3(var6,"d6");
if var8 > 0 Then
Plot4(var8,"d8");
}
2025-04-07
455
글번호 189906
답변완료
수식 수정 부탁드립니다.
var : dm(0),dp(0),Sarv(0);
var : T1(0),T2(0);
dp = DiPlus(14);
dm = DiMinus(14);
Sarv = Sar(0.02,0.2);
if CrossUp(dp,dm) Then # dmi
{
T1 = 1;
}
if CrossDown(dp,dm) Then # dmi
{
T1 = -1;
}
if CrossUp(h , Sarv) Then #파라볼릭
{
T2 = 2;
}
if CrossDown(h , Sarv) Then #파라볼릭
{
T2 = -2;
}
if t1 == 1 and t2 == 2 then
{
Buy();
}
if t1 == -1 and t2 == -2 then
{
Sell();
}
92220 번에서 위와같이 수식을 주셨는데 위에서
buy는 crossup(dp,dm) 과 crossup(H,sarv)
sell은 crossup(dm,dp)과 crossup(L,sarv)로 표현하려고 합니다.
t1,t2식으로 부탁드립니다.
2025-04-07
541
글번호 189902
답변완료
수식 문의드립니다.
AA = CountSince(cnt==1 && cnt[1]==0 && 당일, 기준선 <L && C<O);
변환 바랍니다.
2025-04-07
769
글번호 189900