커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6329
글번호 230811
답변완료
진입신호 수식 부탁드립니다
안녕하세요??
매수 : macd 0 선 아래에서 rsi가 50을 상향 돌파 할 때 매수 진입
매도 : macd 0 선 위에서 rsi가 50을 하향 붕괴 할 때 매도 진입
항상 감사드립니다~~
2024-08-29
968
글번호 182923
답변완료
종목 검색식 부탁드립니다.
아래 지표를 종목검색식으로 바꾸고 싶은데
일봉상
if long = longCond and CondIni[1] == -1
Then Find(1);
이렇게 하니 제대로 안나오네요 종목검색식으로 부탁드리며
추가로
1. 일봉상 최근10봉 이내 short이 발생했을시 검색제외
or
2. 최근 5봉이내 long 신호가 발생했을시 검색제외
이 두개조건을 추가하고 싶습니다.
-----------------------------------------------------------------------------
input : source(close),per1(27),mult1(1.6),per2(55),mult2(2);
var : wper1(0),avrng1(0),smrng1(0),wper2(0),avrng2(0),smrng2(0);
var : smrng(0),filt(0);
var : upward(0),downward(0);
var : hband(0),lband(0);
var : longCond(False),shortcond(False),CondIni(0);
var : long(False),short(False),tx(0);
wper1 = per1 * 2 - 1;
avrng1 = ema(abs(source - source[1]), per1);
smrng1 = ema(avrng1, wper1) * mult1;
wper2 = per2 * 2 - 1;
avrng2 = ema(abs(source - source[1]), per2);
smrng2 = ema(avrng2, wper2) * mult2;
smrng = (smrng1 + smrng2) / 2;
// Range Filter
#rngfilt(source, smrng) =>
var1 = iff(IsNaN(filt[1])==true,0,filt[1]);
filt = source;
filt = iff(source > var1,
iff(source - smrng < var1 , var1 , source - smrng),
iff(source + smrng > var1 , var1 , source + smrng));
var2 = iff(IsNaN(upward[1])==true,0,upward[1]);
upward = 0.0;
upward = iff(filt > filt[1] , Var2 + 1 ,IFf(filt < filt[1] , 0 , Var2));
var3 = iff(IsNaN(downward[1])==true,0,downward[1]);
downward = 0.0;
downward = iff(filt < filt[1] , Var3 + 1 , iff(filt > filt[1] , 0 , Var3));
hband = filt + smrng;
lband = filt - smrng;
longCond = source > filt and source > source[1] and upward > 0 or source > filt and source < source[1] and upward > 0;
shortCond = source < filt and source < source[1] and downward > 0 or source < filt and source > source[1] and downward > 0;
CondIni = IFf(longCond , 1 , IFf(shortCond , -1 , CondIni[1]));
long = longCond and CondIni[1] == -1;
short = shortCond and CondIni[1] == 1;
if long Then
{
tx = Text_New(sDate,sTime,L,"Long");
Text_SetStyle(tx,2,0);
Text_SetColor(tx,Lime);
}
if short Then
{
tx = Text_New(sDate,sTime,H,"Short");
Text_SetStyle(tx,2,1);
Text_SetColor(tx,Red);
}
2024-08-29
912
글번호 182922
답변완료
종목검색식 부탁드림니다.
항상 노고에 감사드림니다.
아래의 수식을 종목검색식으로 부탁드림니다.
A1 = ma(C, 20);
A2 = ma(C, 60);
이격도 = C <= O * 0.95 && C >= O * 0.89;
A3 =
A1 > A2 &&
A1 > H &&
이격도 &&
(O-C) > (H-O) && (O-C) > (C-L);
중심 = ValueWhen(1, A3,C);
A3 && 중심(1) > C
2024-08-28
841
글번호 182921
답변완료
문의 드립니다
안녕하세요. 수고하십니다
1.매수신호: 직전 음봉(또는 도지)의 시가을 첫째양봉이 돌파하면 매도신호, 만일 첫째양봉이 돌파하
지못하고 두번째 양봉이 돌파해도 매수신호(빨강삼각형)을 차트에 표시
매도신호; 직전양봉(또는 도지)의 시가을 첫째음봉이 돌파하면 매도신호, 만일 첫째음봉이 돌파하
지못하고 두번째 음봉이 돌파해도 매도신호(파랑삼각형)을 차트에 표시
동시에 차트에 10틱단위로 표시 부탁드립니다
감사합니다
2024-08-29
806
글번호 182920
노기법 님에 의해서 삭제되었습니다.
2024-08-28
3
글번호 182919
수지성 님에 의해서 삭제되었습니다.
2024-08-28
35
글번호 182918
답변완료
문의드립니다.
수고많으십니다.
매수진입한 이후부터 양봉 5개가 연속해서 나온다면 그 시점부터 몇봉뒤가 되었든 음봉 3개가 연속해서 나오면 청산되는 청산식을 원합니다.
매도진입은 반대입니다.
감사합니다.
2024-08-28
757
글번호 182917
답변완료
안녕하세요 수식 검토 부탁드립니다~
안녕하세요
아래의 조건으로 만들어 주신 수식이 일봉검색으로는 신호와 종목이 일치가 됩니다.
저는 30분봉이나 3분봉에 이 검색식을 활용하고 싶은데요,
이틀 동안 검색해보니 30분봉에서는 신호나온 종목과 종목검색에서 나온 종목이
서로 일치가 안되고 결과가 많이 다릅니다.
30분봉에서도 사용할 수 있게 수정을 부탁드립니다.
자꾸 번거롭게 해서 죄송합니다~
input : sto1(12),sto2(5),short(12),long(26),sig(9),R기간(14),N(13);
var : S(0),md(0),ms(0),R(0);
var : Bs_Sto(-1),cnt_sto(-1),Bs_macd(-1),Bs_Rsi(-1),조건(False);
S = StochasticsK(sto1,sto2);
Md = Macd(short,long);
Ms = Ema(Md,sig);
R = RSI(R기간);
if CrossUp(S,20) Then
{
Bs_Sto = 0;
cnt_Sto = 0;
}
Else
{
if Bs_Sto >= 0 Then
Bs_Sto = Bs_Sto+1;
if cnt_Sto >= 0 and S < 80 Then
cnt_Sto = cnt_Sto+1;
}
if CrossUp(Md,Ms) Then
Bs_Macd = 0;
Else
{
if Bs_Macd >= 0 Then
Bs_Macd = Bs_Macd+1;
}
if CrossUp(R,50) Then
Bs_Rsi = 0;
Else
{
if Bs_Rsi >= 0 Then
Bs_Rsi = Bs_Rsi+1;
}
조건 = Bs_Sto >= 0 and Bs_Macd >= 0 and Bs_Rsi >= 0 and Bs_Sto <= N and
Bs_Sto > Bs_Macd and Bs_Sto > Bs_Rsi;
if 조건 && 조건[1] == False && Bs_Sto==cnt_Sto Then
Find(1);
*********************************************************************
1. 현재봉기준 N(13)봉 이내에,
스토캐스틱슬로우(12,5) %K가 20선을 상향 돌파한 후에,
MACD(12,26,9)가 signal선을 상향 돌파하고,
RSI(14)가 50선을 상향 돌파하는 세 가지를
모두 만족하는 종목을 검색하고 싶습니다.
세 가지를 만족하기 전에
스토캐스틱 %K가 80선을 돌파하면 제외하는 조건입니다.
(스토캐스틱 신호 후, MACD와 RSI는 순서 상관없음)
키움 신호수식은 다음과 같습니다.
이것을 예스 종목검색식으로 바꾸고 싶습니다.
S = Stochasticsslow(sto1,sto2);
M = Macd(short,long);
Ms = eavg(M,sig);
R = RSI(R기간);
Bs_Sto = BarsSince(CrossUp(S,20));
cnt_Sto = CountSince(CrossUp(S,20), S<80);
Bs_Macd = BarsSince(CrossUp(M,Ms));
Bs_Rsi = BarsSince(CrossUp(R,50));
조건 = Bs_Sto > Bs_Macd && Bs_Sto > Bs_Rsi;
//Max(Bs_Sto, Bs_Macd, Bs_Rsi) == Bs_Sto
조건 && !조건(1) && (Bs_Sto+1)==cnt_Sto
수고에 감사드리며
늘 고맙습니다!!
2024-08-28
875
글번호 182916
답변완료
안녕하세요 수식문의 부탁드립니다^^
안녕하세요
아래에 수식으로 당일분봉에서 한번이라도 조건이 충족된 종목을 검색하는 검색수식과
지표수식을 만들고 싶은데 수식변환 도움을 부탁드립니다
A1 = valuewhen(1, crossup((highest(high,기간3)+lowest(low,기간3))/2, (highest(high,기간4)+lowest(low,기간4))/2), C);
A2 = valuewhen(1, crossup((highest(high,기간1)+lowest(low,기간1))/2, (highest(high,기간2)+lowest(low,기간2))/2), C);
A3 = valuewhen(1,crossdown(c, sar(af,maxaf)), h);
A4 = valuewhen(1,crossdown(c, sar(af2,maxaf2)), h);
B = (A1 <=C) and (A2 <=C) and (A3 <=C) and (A4 <=C);
W = (A1 >=L) and (A2 >=L) and (A3 >=L) and (A4 >=L);
B and W
2024-08-28
862
글번호 182915