커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6062
글번호 230811
답변완료
문의
Input : Period(14);
var : Slope(0);
Slope = LRS(C,Period);
Plot1(Slope, "LRS");
PlotBaseLine1(0, "기준선");
PlotBaseLine2(10, "상단선");
PlotBaseLine3(-10, "하단선");
위 식에서
1. LRS가 기준선을 상향돌파하는 검색식
2.상승반전 하는 검색식
3.상승과하락 반전된곳에
화살표 표시 하고 싶습니다
2021-10-20
774
글번호 153014
답변완료
문의
안녕하세요.
1.연시가를 월봉,주봉,일봉에 수평선 긋기(색깔, 굵기 선택가능)
2.월시가를 일봉,분봉에 수평선 긋기(색깔, 굵기 선택가능)
3.30분 캔들 시가를 1분봉에 수평선 긋기(색깔, 굵기 선택가능)
이상입니다. 수고하십시오
감사합니다.
2021-10-20
617
글번호 153013
신대륙발견 님에 의해서 삭제되었습니다.
2021-10-20
11
글번호 153012
답변완료
수식 수정 의뢰드립니다!
안녕하세요!
아래 수식은 지난번에 만들어 주신 수식이고 현재 매매에 사용하고 있습니다.
다름이 아니라 수식을 좀 보강하여 매매에 도움을 받고 싶습니다!.
이해를 돕고져 참고 이미지 첨부 합니다!
항상 도움을 주셔서 감사드립니다!
Input:length(10),종가사용여부(0),파동선두께(2),수치표시(1);
Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),
TL1(0),Text1(0),text2(0),TL2(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
{
최종고가 = 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]);
var1 = 고[2,1]-저[1,1];
// TL2 = TL_New(저[1,3],저[1,4],저[1,1]-var1,sDate,sTime,저[1,1]-var1);
If 수치표시 == 1 Then
{
Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2));
Text_SetStyle(Text1, 2, 1);
Text2 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1]-저[1,1],2)+NewLine);
Text_SetStyle(Text2, 2, 1);
Text_SetColor(text2,RED);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,GREEN);
TL_SetSize(TL2,파동선두께);
TL_SetColor(TL2,BLUE);
}
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]-var1);
// 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]);
Text_SetString(Text1,NumToStr(고[1,1],2));
Text_SetLocation(Text2,고[1,3],고[1,4],고[1,1]);
Text_SetString(Text2,NumToStr(고[1,1]-저[1,1],2)+NewLine);
}
}
최종꼭지점 = "고점";
}
#==========================================#
If 처리구분 == "저점처리" Then
{
최종저가 = 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]);
var1 = 고[1,1]-저[2,1];
// TL2 = TL_New(고[1,3],고[1,4],고[1,1]+var1,sDate,sTime,고[1,1]+var1);
If 수치표시 == 1 Then
{
Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2));
Text_SetStyle(Text1, 2, 0);
Text2 = Text_New(저[1,3],저[1,4],저[1,1],NewLine+NumToStr(저[1,1]-고[1,1],2));
Text_SetStyle(Text2, 2, 0);
Text_SetColor(text2,RED);
}
TL_SetSize(TL1,파동선두께);
TL_SetColor(TL1,GREEN);
TL_SetSize(TL2,파동선두께);
TL_SetColor(TL2,RED);
}
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]+var1);
If 수치표시 == 1 Then
{
Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]);
Text_SetString(Text1,NumToStr(저[1,1],2));
Text_SetLocation(Text2,저[1,3],저[1,4],저[1,1]);
Text_SetString(Text2,NewLine+NumToStr(저[1,1]-고[1,1],2));
}
}
최종꼭지점 = "저점";
}
2021-10-20
1047
글번호 153011
답변완료
만든 지표에 대한 종목 검색 문의드립니다.
안녕하세요
일봉상 상한가 전날 일봉 종가에 가로선 표기 수식 질문을 드렸었는데요
알려주신 수식은 아래와 같습니다.
input : 금액(10000000);
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 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 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;
}
}
var : TL(0);
if C >= 상한가 Then
{
var1 = Index;
TL_Delete(TL);
TL = TL_New(sDate[1],sTime[1],C[1],sDate,sTime,C[1]);
TL_SetExtRight(TL,true);
TL_SetExtLeft(TL,true);
TL_SetColor(TL,GREEN);
}
Else
{
if var1 > 0 and Index > var1+60 Then
TL_Delete(TL);
}
현재의 일봉이 선(이미지 파일 초록색 선)의 가격 범위 +5% ~ -10% 에 위치하고 있는
종목을 검색하고 싶습니다.
2021-10-20
1526
글번호 153010
답변완료
부탁드립니다
cci(-100),rsi(30) 이하로 내려간 종목을 검색할 수 있는 수식을 만들어 주실 수 있나요?
cci Period 는 9
rsi Period 는 14 입니다
2021-10-20
922
글번호 153009
답변완료
부탁 드립니다.
항상 도움 주셔서 감사 드립니다.
터주기(분봉)용으로 가능한지요?
inputs:Length( 20 ),sig(5) ;
variables:
XMean( 0 ), SumSqr( 0 ), Counter( 0 ), XVariance( 0 ) ;
if Length > 0 then
begin
XMean = ma(c, Length ) ;
SumSqr = 0 ;
for Counter = 0 to Length - 1
begin
SumSqr = SumSqr + Square( Price[Counter] - XMean ) ;
end ;
XVariance = SumSqr / Length ;
EStd = SquareRoot( XVariance ) ;
end
else
EStd = -1 ;
var1=ma(estd,sig);
참고용)
input : Ntime1(numeric),P(numeric),sig(numeric);
var : TF(0),S1(0),D1(0),TM(0),cnt(0),X(0),Y(0),sum(0);
Array : CC[101](0),OO[101](0),VV[101](0),V33[101](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime1;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and Ntime1 > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and Ntime1> 1 and TM >= TM[1]+Ntime1) or
(Bdate == Bdate[1] and Ntime1 == 1 and TM > TM[1]) Then
{
2021-10-20
756
글번호 153008
답변완료
시간함수 조정 문의드려요.
안녕하세요. 다음 수식으로 오일선물에 적용하려면 시간을 어떻게
바꿔야 하는지 부탁드립니다.
T=floor(time/10000);
조건=Crossup(time,065959) or (crossup(time,101459) && t>9 && t<=24);
2021-10-19
778
글번호 153007
답변완료
이격도 문의 드립니다
항상 너무 너무 감사 드립니다
다름이
아니라
이격도 문의 합니다
오늘 일봉상
이격도가 기준선 100 위에 있으면서
이격도 60 이 이격도 20 골든 크로스 한 종목을 검색해 줬으면 합니다
그리고 기준선 100 위든 아래든 20 60이 한몸이 되는 검색식은 없는지요?
이격이 없이 거의 붙어있는 한몸처럼~~ 있으면 이것 또한
부탁 합니다
사진 첨부
2021-10-19
963
글번호 153006