커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3178
글번호 230811
답변완료
도움 부탁드립니다.
안녕하세요 항상 답변 감사드립니다. 아래와 같은 내용으로 시스템을 만들려고하는데 도움 부탁드립니다.
특정 상황 x가 만족된뒤 완성되는 봉의 고가와 저가의 값에서 바로 전 봉의 atr값을 뺀 뒤, 해당 값을 저장한뒤(편의상 z)현재 봉이 해당 값을 뚫고 아래에서 음봉 마감되면 매수.
이때 중요한 건, 종가가 z 값보다 아래에서 완성되는 첫번쨰 봉에서만 매수하고 싶습니다. (시가가 z보다 큰지 아닌지는 상관 x)
z값 아래에서 음봉마감이 계속 되면 계속 들어가더라구요. 그렇게 안됐으면 좋겠습니다.
도와주세요
2021-10-25
645
글번호 153146
답변완료
시스템식 문의 드립니다.
시스템식 문의를 드리려고 요청 드립니다.
청산관련해서.
특정한 금액에서 매수를 했다면,
예를들어 목표 수익률 5% 잡고, 10,000원에 매수했을경우...
만약에 -1% 하락시 (주가가 9,900원) 이 되었을때 목표수익률 4%로 변경,
-2% 하락시 (주가가 9,800원) 이 되었을때 목표수익률 3%로 변경,
-3% 하락시 (주가가 9,700원) 이 되었을때 목표수익률 2%로 변경,
-4% 하락시 (주가가 9,600원) 이 되었을때 목표수익률 1%로 변경,
-5% 하락시 (주가가 9,500원) 이 되었을때 목표수익률 0%로 변경,
-6% 하락시 (주가가 9,400원) 이 되었을때 목표수익률 -1%로 변경,
-7% 하락시 (주가가 9,300원) 이 되었을때 청산
이런식을 작성하고 싶은데.. 가능할지 궁금합니다.
그럼 부탁드리겠습니다. 감사합니다.
2021-10-25
722
글번호 153144
베어샘 님에 의해서 삭제되었습니다.
2021-10-25
60
글번호 153142
답변완료
윗꼬리 관련 검색수식 질문드립니다
안녕하세요
키움증권을 쓰다가 예스랭귀지를 공부해보려고 하는데요
키움에서 작성한 수식을 변환을 부탁드립니다
윗꼬리 관련 수식이고요
변수는 배수 상승률 상승조건이렇게 설정해놨고
배수는 윗꼬리 길이와 바디와의 크기 비율입니다
상승조건 기본 설정은 고가/시가(1) 입니다
당일 장중에 이런 조건이 발생한 경우를 발생시간에 상관없이 모두 찾아보고 싶습니다
valuewhen 은 상단 하단 라인을 만들어서 색상 채우기로 표현한 부분입니다
예스에서도 표현이 가능한지요
수식1
A=고가-저가;
B=max(종가,시가)-저가;
조건=A/B>배수 and 상승조건>(1+상승률/100);
valuewhen(1,조건,고가);
수식2
A=고가-저가;
B=max(종가,시가)-저가;
조건=A/B>배수 and 상승조건>(1+상승률/100);
valuewhen(1,조건,max(종가,시가));
부탁드립니다
2021-10-25
1019
글번호 153134
답변완료
문의 드립니다.
항상 감사드립니다~~
아래 수식으로 데모해 보았는데요..
종가에 매수 매도 진입하는 것인데, 종가 가격하고 다르게 들어가는 경우가 몇번 있습니다.
그리고 익절, 손절 가격에 청산되지 않고 약 손절 가격으로 청산되는 내용이 몇개 있습니다. bx, sx라고 표시되어 나옵니다.
이 부분은 어떤 문제인지 확인, 수정 부탁드립니다.
그 내역 부분 첨부해서 올립니다.
감사합니다~~^^
input : ntime1(6),ntime2(30),n(10);
input : StartTime(222500),EndTime(010000);
input : 익절틱수(50),손절틱수(50);
var : S1(0),D1(0),TM(0),TF1(0),TF2(0),cnt(0);
Array : H1[50](0),L1[50](0),H2[50](0),L2[50](0);
var : Tcond(false);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
Tcond = true;
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;
TF1 = TM%ntime1;
TF2 = TM%ntime2;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime1 > 1 and TF1 < TF1[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
{
H1[0] = H;
L1[0] = L;
For cnt = 1 to 49
{
H1[cnt] = H1[cnt-1][1];
L1[cnt] = L1[cnt-1][1];
}
}
if H1[0] > 0 and H > H1[0] Then
H1[0] = H;
if L1[0] > 0 and L < L1[0] Then
L1[0] = L;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime2 > 1 and TF2 < TF2[1]) or
(Bdate == Bdate[1] and ntime2 > 1 and TM >= TM[1]+ntime2) or
(Bdate == Bdate[1] and ntime2 == 1 and TM > TM[1]) Then
{
H2[0] = H;
L2[0] = L;
For cnt = 1 to 49
{
H2[cnt] = H2[cnt-1][1];
L2[cnt] = L2[cnt-1][1];
}
}
if H2[0] > 0 and H > H2[0] Then
H2[0] = H;
if L2[0] > 0 and L < L2[0] Then
L2[0] = L;
if Tcond == true Then
{
if MarketPosition <= 0 and H1[n] > 0 and H2[n] > 0 and H < min(H1[n],H2[n])+PriceScale*1 Then
Buy("b",AtStop,max(H1[n],H2[n]+PriceScale*1));
if MarketPosition >= 0 and L1[n] > 0 and L2[n] > 0 and L > max(L1[n],L2[n])-PriceScale*1 Then
Sell("s",AtStop,min(L1[n],L2[n])-PriceScale*1);
if MarketPosition == 1 Then
ExitLong("bx",AtStop,L-PriceScale*1);
if MarketPosition == -1 Then
ExitShort("sx",AtStop,H+PriceScale*1);
}
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
IF Endtime > starttime Then
SetStopEndofday(Endtime);
Else
{
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
IF Endtime <= starttime Then
{
SetStopEndofday(0);
}
}
2021-10-25
823
글번호 153129
답변완료
함수요청
안녕하세요?
아래 글번호 74340번 재질문입니다.
첨부 확인 부탁드립니다.
감사합니다.
-----------------------------------------------------------------------------
아래의 요건으로 지표작성을 요청드립니다.
국내선물 1분봉으로 거래합니다.
이에 매일매일 데일리로 의미있는 고점과 저점을 잡고자 하는데
- MACD오실레이터가 9시 1분 완성봉의 첫 히스토그램이 양의 값이면
그 값 포함부터 MACD오실레이터 값이 음으로 반전하고 다시 양의 값으로 재전환할 때까지를 포함하여 (MACD오실레이터 양의 값 포함->음->양으로 변환할 때포함) 주가의 고점(HH)과 저점(LL)을 잡습니다.
- MACD오실레이터가 9시 1분 완성봉의 첫 히스토그램이 음의 값이면
그 값 포함부터 MACD오실레이터 값이 양으로 반전하고 다시 음으로 값으로 재전환할 때까지를 포함하여 (MACD오실레이터 음의 포함->양-> 음으로 변환할 때포함) 주가의 고점(HH)과 저점(LL)을 잡습니다.
2021-10-25
997
글번호 153128
답변완료
지표 부탁 드립니다.
var : st1(0), st2(0), st3(0), rmo(0);
st1=100*(c-((ma(c,2)+
ma(ma(c,2),2)+
ma(ma(ma(c,2),2),2)+
ma(ma(ma(ma(c,2),2),2),2)+
ma(ma(ma(ma(ma(c,2),2),2),2),2)+
ma(ma(ma(ma(ma(ma(c,2),2),2),2),2),2)+
ma(ma(ma(ma(ma(ma(ma(c,2),2),2),2),2),2),2)+
ma(ma(ma(ma(ma(ma(ma(ma(c,2),2),2),2),2),2),2),2)+
ma(ma(ma(ma(ma(ma(ma(ma(ma(c,2),2),2),2),2),2),2),2),2)+
ma(ma(ma(ma(ma(ma(ma(ma(ma(ma(c,2),2),2),2),2),2),2),2),2),2))/10))/
(highest(c,10)-lowest(c,10));
st2=ema(st1,30);
st3=ema(st2,30);
rmo=ema(st1,81);
plot1(iff(rmo>=0,rmo,0),"막대1");
plot2(iff(rmo<0,rmo,0),"막대2");
plot3(st2,"swing trd2");
plot4(st3,"swing trd3");
PlotBaseLine1(0,"기준선");
PlotBaseLine2(10);
PlotBaseLine3(-10);
PlotBaseLine4(5);
PlotBaseLine5(-5);
직전봉 보다 작을때 파랑 컷을때 빨강으로 부탁 드립니다. 수고하세요.
2021-10-25
1094
글번호 153121
답변완료
변동성완화장치 수식
변동성완화장치 모니터에서 나오는 종목이 나올 수 있게
1. 상승, 하락 변동성완화장치 표시하는 선 수식
2. 상승, 하락 변동성완화장치가 나타나면 1 아니면 0 으로 표시하는 수식
3. 사이드카가 표시하는 선 수식
4. 지수에서 사이드카가 발생되면 1 아니면 0 으로 표시하는 수식
만약에 안돼는 수식이면 비슷한거래도 부탁드립니다
2021-10-25
999
글번호 153115
답변완료
수정 부탁 드립니다.
수식 만들어 주셔서 감사 드립니다.
제가 설명을 잘 드리지 못한거 같네요.
아래 수식에 C값이 클때(if C > O*k Then)만 적용이 되어 있는데
C값이 작을때(if C < O*k Then)를 추가해서 구분을 해주셨으면 합니다.
C값이 클때는 -1없이 상승 라인만
C값이 작을땐 하락만 라인이 그려지게요.
라인이 그려지다가 반대 신호가 나오면 정지 되고 반대 라인이 그려지면 되고요
신호가 바뀌는 구간에는 반대라인과 갭이 생기더라도 무관 합니다.
input : k(1.000);
input : 상승색(RED),하락색(BLUE);
if C > O*k Then
{
var1 = (c-o)/4*3+o;
Var2 = (c-o)/4*2+o;
Var3 = (c-o)/4+o;
}
if var1 > var1[1] Then
value1 = 1;
if var1 < var1[1] Then
value1 = -1;
if var2 > var2[1] Then
value2 = 1;
if var2 < var2[1] Then
value2 = -1;
if var3 > var3[1] Then
value3 = 1;
if var3 < var3[1] Then
value3 = -1;
Plot1(var1,"상",iff(value1==1,상승색,하락색));
plot2(Var2,"중",iff(value1==1,상승색,하락색));
plot3(Var3,"하",iff(value1==1,상승색,하락색));
감사합니다.^^
2021-10-25
746
글번호 153114