커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1423
글번호 230811
답변완료
검색식 부탁 드립니다
첫봉
첫봉조건=max(C,O);
조건=DATE != DATE(1);
Valuewhen(1,조건,첫봉조건);
첫봉돌파후 상승 종목검색식 부탁 드립니다
파워종목 검색에 필요한 최소기간도 알려주세요
2024-04-12
1111
글번호 178513
답변완료
문의드립니다
<매수선>분봉봉수=(380/분봉단위+1);
기준이평봉수=분봉봉수*기준이평날수;
PH=highest(h,기준이평봉수);
PL=lowest(L,기준이평봉수);
기준이평선=ma(c,기준이평봉수);
상승돌파=crossup(c,기준이평선);
하락이탈=crossdown(c,기준이평선);
돌파선=valuewhen(1,하락이탈,PH);
손절선=valuewhen(1,상승돌파,PL);
최저=lowest(L,기준이평봉수*5);
왼쪽어깨=valuewhen(1,L<최저(1),손절선(1));
돌파선돌파=crossup(h,돌파선(1));
직전돌파선=valuewhen(1,돌파선돌파,돌파선(1));
손절선이탈=crossdown(l,손절선(1));
직전손절선=valuewhen(1,손절선이탈,손절선(1));
매수선
키움수식입니다
위 수식으로 조건검색하려고 합니다
선처해주시면 감사하겠습니다. 수고하십시요.
2024-04-12
886
글번호 178512
답변완료
문의드립니다.
늘 고노에 감사드립니다.
1.
매수/매도 신호 나올 조건이 만족하더라도 해당봉이 50틱 이상을 넘어간다면 신호가 나오지 않다가 직후부터 5개봉 내에서 해당봉의 종가보다 10틱 더 위로(매수신호인 경우) 또는 더 아래로(매도신호인 경우) 갈 때 즉시 신호가 나오게 하는 수식을 부탁드립니다.
이 경우 봉의 종가가 아닌 50틱이상 나온 봉보다 10틱 위나 아래로 갈 경우 즉시입니다.
만일 해당봉 발생후 5개봉을 넘어가면 신호조건 만족시 신호가 나오면 됩니다.
2.
바로 전 86692번으로 문의한 내용입니다.
매도 진입후 진입봉의 그 다음봉이 50틱 이상 되돌림이 나오면
종가가 아니라 진입가 대비 해당봉의 50틱에서 즉시 손절하고 싶습니다.
아래는 답변을 참고해서 만든 청산식입니다.
if MarketPosition == 1 Then{
if MarketPosition != 1 Then{
Exitlong("B_되돌림청",AtStop,NextBarOpen-PriceScale*50);
}
}
if MarketPosition == -1 Then{
if MarketPosition != -1 Then
ExitShort("S_되돌림청",AtStop,NextBarOpen+PriceScale*50);
}
}
스샷 이미지에 있듯이 매도 신호 발생후 진입가에서 다음봉에서 되돌림이 50틱이 넘었는데도 즉시 손절이 안되고 한참뒤 따로 잡아 둔 손절매 틱수에서 청산됩니다.
그럼 확인 부탁드립니다~
2024-04-12
883
글번호 178511
답변완료
수식수정
Inputs : DDD(20150309), LEN(300), HL_ED(60), CC(Black);
Vars : DBN1(0), KK1(0), DD1(0), KK2(0), DD2(0),HP(0);
If STime >= 080000 And STime[1] < 080000 Then Begin
DBN1 = 0;
KK1 = 0;
DD1 = 0;
KK2 = 0;
DD2 = 0;
End;
DBN1 = DBN1 + 1;
/*If Date == DDD Then Begin*/
If STime >= 083000 And DD1 == 0 Then Begin
Value2 = O;
DD1 = 1;
KK1 = DBN1;
End;
If DBN1 > KK1 + 1 And DD1 == 1 Then
HP = Value2;
Else
HP = Value2;
Inputs : Period(20), Sence(1.5), CC_DN(Yellow);
Vars:
VLineUp(0),
VLineDn(0),
HHighest(0),
LLowest(0),
JustChanged(FALSE),
VLine(0), DBN(0),T(0);
Array:
Highs[35](0),
Lows[35](0),
RRange[35](0),
UpWave[1](FALSE),
DnWave[1](FALSE);
If STime == 180000 Then
DBN = 0;
DBN = DBN + 1;
Var1 = Period;
Var2 = Var1 - 1;
Var3 = Var1 - 2;
Var5 = Sence;
Var6 = H-L;
JustChanged = FALSE;
if CurrentBar <= Var2 then begin
Highs[CurrentBar] = Close;
Lows[CurrentBar] = Close;
RRange[CurrentBar] = (H-L) /2;
end;
if CurrentBar == Var1 then begin
if Highs[Var2] >= Highs[Var3] then begin
UpWave[1] = TRUE;
HHighest = Highs[Var2];
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
#Plot1(VLineUp,"VLineUp");
end;
if Highs[Var2] < Highs[Var3] then begin
DnWave[1] = TRUE;
LLowest = Lows[Var2];
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
#Plot2(VLineDn,"VLineDn");
end;
end;
if CurrentBar > Var1 then begin
if DnWave[1] and Close > VLineDn then begin
DnWave[1] = FALSE;
UpWave[1] = TRUE;
JustChanged = TRUE;
HHighest = Close;
LLowest = 0;
end;
if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin
UpWave[1] = FALSE;
DnWave[1] = TRUE;
JustChanged = TRUE;
LLowest = Close;
HHighest = 0;
end;
if JustChanged == FALSE then begin
if Close > HHighest then
HHighest = Close;
else if Close < LLowest then
LLowest = Close;
end;
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
if UpWave[1] then
T = 1;
else if DnWave[1] then
T = -1;
end;
input : P(170);
var : mav(0);
mav = ma(C,P);
if MarketPosition <= 0 and
HP > ma(C,170) and CrossUp(c,HP) and T == 1 Then
Buy();
if MarketPosition >= 0 and
HP < ma(C,170) and CrossDown(C, HP) and T == -1 Then
Sell();
if MarketPosition == 1 and CrossDown(c,mav) Then
ExitLong();
if MarketPosition == -1 and CrossUP(C,mav) Then
ExitShort();
안녕하세요
수식
수정부탁드림니다
손절식 삭제
현손절식에서 hp선 상.하선 돌파시
sw2선 관계없이 손절하나
Sw2+hp선 같을때만 손절.
2024-04-12
844
글번호 178509
답변완료
부틱드립니다
수고하십니다
나수닥 챠트에 1시간 마다 저가 밑으로수직선 표시 부탁드립니다
2024-04-12
993
글번호 178508
답변완료
종목검색식 요청드립니다.
아래 두가지 종목검색식을 요청드립니다.
1. 150봉 이내 15%이상(고가기준) 상승한 종목중에 아래 키움수식의 신호가 뜨는 종목을 검색하는 종목검색식을 만들고 싶습니다.도움 부탁드리며, 항상 감사합니다.
설정값 150봉, 상승률 15%는 변경가능하게 부탁드립니다.
=키움수식=
A=lowest(L, period, 1);
B=avg((C+H+L)/3,Period1) - D1*stdev((C+H+L)/3,Period1);
C<=A
2. 엔벨로프(20,2)를 N봉이내 15%이상 상승한 캔들로 엔벨을 돌파한 종목검색식을 만들고 싶습니다. N봉과 15%는 변경가능하도록 도움 부탁드립니다.
2024-04-12
991
글번호 178501
qormswhd 님에 의해서 삭제되었습니다.
2024-04-11
12
글번호 178500
답변완료
문의
항상 도움에 감사드립니다.
총 10번 분할 매수를 하는데,
주가가 20일MA 이하로 내려오면 매수1,
1차매수가에서 5pt 내려오면 매수2,
2차매수가에서 5pt 내려오면 매수3, ... 이런 식으로 매수10 까지.
그 중 매수1 가격에서 5pt 올라가면 매수1 수량만큼 익절,
(매수2가 실행 되었다면)매수2 가격에서 5pt올라가면 매수2 수량만큼 익절,
(매수3이 실행 되었다면)매수3 가격에서 5pt올라가면 매수3 수량만큼 익절,
... 이런 식으로 매수 10 까지 익절
수량은 총수량의 10분의 1씩 진입/청산 부탁드립니다.
혹시 분할매수 횟수를 변수 N으로 두는 것이 가능하면 부탁드립니다.
항상 감사드립니다.
2024-04-11
789
글번호 178499
답변완료
재 질문
설명 감사합니다.
제가 알려주신 내용을 검색기에서 찾고 싶은데..
며칠을 고민햇는데...어떻게 할지 잘 몰라서요..
검색식 부탁드립니다. ;;;
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 이평지수
>
안녕하세요
예스스탁입니다.
지수이평이 직접봉의 값에 가감되므로'
종가기준의 계산 지수이평이 계산되고 만드시고
현재봉에서만 고가를 대입해 따로 값을 도출해 사용하시면 됩니다.
input : period(5);
var : EP(0),CEV(0),HEV(0);
EP = 2/(period+1);
if Index <= 1 Then
{
HEV = C;
CEV = C;
}
Else
{
HEV = H*EP+CEV*(1-EP);
CEV = C*EP+CEV*(1-EP);
}
Plot2(HEV);
즐거운 하루되세요
> 이루나라 님이 쓴 글입니다.
> 제목 : 이평지수
> 안녕하세요..
5일간의 [종가 지수 이동평균] 중... 오늘 값만 [고가]로 바꿔 사용하고 싶습니다.
즉.
1봉전 기준 4일간의 지수 이동평균과 오늘의 고가를 합쳐서
오늘의 지수 이동평균 값을 구하고 싶습니다.
어떻게 하는 것인지 궁금해서요.
늘 감사드려요~!!
2024-04-11
747
글번호 178498