커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4482
글번호 230811
답변완료
종목검색 조건 변환 요청합니다.
S=sum(1);
M=ma(c,기간);
MH=valuewhen(1,M>M(1),M);
HH=HighestSince(1,CrossUp(S,전체봉수-표시봉수),MH);
CrossUP(C,HH) &&
HH=HH(1) &&HH(1)==HH(2)
===========
전체봉수 600, 기간 73, 표시봉수 120
이상입니다. 감사합니다.
2024-12-06
785
글번호 186001
답변완료
질문 부탁드리겠습니다
지난번 단기과열/투경 예고 관련 질문 답변 주셔서 감사드립니다
먼저 여쭤보고 싶은건
분봉상에서 dayclose (일간 종가)를 플롯하면 분봉에서 매봉의 종가가 나오는데요
일봉에서 최종 종가를 표현하려면 작성을 어떻게 해야될까요??
일단 if nextbarbdate != bdate then plot11(dayclose));
이렇게 작성하니 분봉에서 당일 마지막 봉에만 종가가 표시되는 형식으로 나오는데 이게 맞나요???
맞다면 nextbarbdate!= bdate 이게 의미하는 바와 마지막 봉에만 표시가 되는 원리를 잘 모르겠습니다
질문2)
지난번에 단기과열 관련해서 여쭤볼때 키움수식을 올렸었는데요
일단 단기과열 예고 지정 조건은 :
3가지 복수조건 (아래수식에서 A에 해당) 모두 해당 - 최초 적출된 날
적출된 날 익일 부터 10거래일 이내에 동일 요건 재적출
이렇게 되고 키움수식은
A = sum(avg(c, 40, 1) * 1.3 <= C
and avg(money/C, 40, 1) * 6 <= avg(money/C, 2)
and avg(((h-l)/((h+l)/2)), 40, 1) * 1.5 <= avg(((h-l)/((h+l)/2)), 2)
and C(1) < C);
B = valuewhen(1, A(1) != A, C);
if(A(1) - A(11) >= 1, B(1) < C and A(1) != A, 0)
인데요,
B는 해석하면 A(1) != A 일때 C값을 가져오라는건데
A(1) != A 가 의미하는 바와 ( A와 이전 만족A가 같지 않다?)
IF 문에 따르면 A(1) - A(11) >= 1 이면 B(1) < C and A(1) != A 를 나타내라는건데
여기서도 해석이 잘 안됩니다
변환을 해주셨는데 원본에서부터가 잘 해석이 안되네요
알려주신 수식도 간단한 주석을 부탁드립니다
1,2 번 표시해논 부분이 잘 이해가 안갑니다, 수식 전문은 맨 마지막에 첨부했습니다
1. if Bdate != Bdate[1] Then DD = DD+1;
2. if X > 0 and DD <= X[1]+11 and B < C and Condition1 Then
PlotPaintBar(H,L,"강조");
if NextBarBdate != Bdate Then
{
if Condition1 == true Then
{
B = C;
X = DD;
}
}
수식 전문:
var : A(0),B(0),cnt(0),DD(0),X(0);
Array : cond[50](False);
if Bdate != Bdate[1] Then
DD = DD+1;
var1 = 0;
var2 = 0;
var3 = 0;
for cnt = 1 to 40
{
var1 = var1 + DayClose(cnt);
var2 = var2 + (DayMoney(cnt)/DayClose(cnt));
var3 = var3 + (DayHigh(cnt)-DayLow(cnt))/((DayHigh(cnt)+DayLow(cnt))/2);
}
value1 = var1/40;
value2 = var2/40;
Value3 = var3/40;
var4 = 0;
var5 = 0;
for cnt = 0 to 1
{
var4 = var4 + (DayMoney(cnt)/DayClose(cnt));
var5 = var5 + (DayHigh(cnt)-DayLow(cnt))/((DayHigh(cnt)+DayLow(cnt))/2);
}
value4 = var4/2;
value5 = var5/2;
Condition1 = value1[1] * 1.3 <= C and Value2[1] * 6 <= Value4 and
Value3[1] * 1.5 <= Value5 and DayClose(1) < C;
if X > 0 and DD <= X[1]+11 and B < C and Condition1 Then
PlotPaintBar(H,L,"강조");
if NextBarBdate != Bdate Then
{
if Condition1 == true Then
{
B = C;
X = DD;
}
}
2024-12-06
913
글번호 186000
답변완료
문의합니다
안녕하세요 아래 조건으로 수식이 가능한 형태가 있을까요?
condition1= "매수조건1" 을 만족하면 +2
condition2= "매수조건2" 를 만족하면 -2
condition3="매수조건3" 을 만족하면 +3
condition4= "매수조건4" 를 만족하면 +4
이렇게 각 condition을 만족했을 경우 + - 숫자를 매겨서
그 숫자의 합이 5 이상이면 매수진입으로 할 수 있는 방법이 있을까요?
예를 들어
condition2 == true....만족시 +3
condition4== true....만족시 +4
두 조건 만족으로 합이 +7(합이 5 이상)이라서
"매수진입"
2024-12-05
534
글번호 185999
답변완료
종목 검색식 부탁드립니다
친절하고 자세한 답변에 머리숙여 감사드립니다
다음 신호수식에 대한 예스트레이더 종목검색식을 부탁드립니다.
1.
Max(avg(C,5), avg(C,20), avg(C,60)) <
Min(avg(C,5), avg(C,20), avg(C,60)) * (1+5/100) &&
C > Highest(H(1),5) && C(1) <= Highest(H(2),5)
2.
Disparity(60) >= 73 
and Disparity(60) <= 80
3.
A=(Highest(H, 33)+Lowest(L,33))/2;
CrossUp(A, avg(C, 33))
4.
A=(Dayclose()+nPredayclose(1)+nPredayclose(2)+nPredayclose(3)+nPredayclose(4))/5;
B=A+A*8/100;
CrossUp(C, B)
5.
Sum(if(CrossUp(C, avg(C, 224)), 1, 0), 5) = 1
and C(1)*1.05 <= C
6.
Ref(Trendup(),eavg(C,3)) and
C>O and V>eavg(V,20) and eavg(C,7)>O&&eavg(C,7)<=((O+C)/2))
7.
A= (Highest(H, 9)+Lowest(L,9)+Highest(H, 26)+Lowest(L,26))/4;
B=(C-A(25))/A(25)*100;
B >= -5 and B <= 5
8.
B= (Highest(H, 52)+Lowest(L,52))/2;
B1=(C-B(25))/B(25)*100;
B1 >= -5 and B1 <= 5
9.
A=Min(BbandsUp(20,2), BbandsUp(30,2), BbandsUp(40,2));
B=Max(BbandsUp(20,2), BbandsUp(30,2), BbandsUp(40,2));
O < A and C > B
10.
A=Min(nPredaylow(1), nPredaylow(2), nPredaylow(3), nPredaylow(4), nPredaylow(5), nPredaylow(6), nPredaylow(7), nPredaylow(8), nPredaylow(9), nPredaylow(10), nPredaylow(11), nPredaylow(12), nPredaylow(13), nPredaylow(14), nPredaylow(15), nPredaylow(16), nPredaylow(17), nPredaylow(18), nPredaylow(19), nPredaylow(20));
CrossUp(C, A)
2024-12-05
756
글번호 185998
답변완료
수식 수정 부탁드립니다.
input : 익절(3),손절(1),거래횟수(3);
var : entry(0);
if Bdate != Bdate[1] Then
entry = 0;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades) Then
entry = entry+1;
if MarketPosition == 0 and entry < 거래횟수 and C > O and c > H[1] Then
Buy();
SetStopProfittarget(익절,PercentStop);
SetStopLoss(손절,PercentStop);
SetStopEndofday(151500);
매수
1. 현재 캔들이 양봉이고,
2. 직전(전일)캔들 고가 돌파
1,2번 조건이 모두 만족하면 매수
매도.
1. -1% 매도(손절)
2. +3% 매도
3. 오후 3시 15분 매도
위 조건으로 작성하여 주셨는데, 매수조건 전달이 잘못된거 같아 다시 부탁드립니다.
*수정
매수
1. 금일 현재가가 전일 고가를 돌파하고,
2. 금일 캔들이 양봉일 경우
1,2번 조건이 모두 만족하면 매수
매도.
1. -1% 매도(손절)
2. +3% 매도
3. 오후 3시 15분 매도
잘부탁드립니다.
2024-12-05
681
글번호 185997
답변완료
안녕하세요, 수식 부탁드립니다
안녕하세요
수식 부탁드립니다
ㄱ,
10개의 봉(Candle) 이내에서 10Ma 이동평균선보다
현재의 10Ma 이동평균선이 0.5P 더 크면 매수
ㄴ,
10개의 봉(Candle) 이내에서 StochasticsK 값보다
현재의 StochasticsK값이 30 더 크면 매수
감사합니다
2024-12-05
578
글번호 185996
답변완료
일중강도 지표를 이용한 거래 방법
일중강도(Bostian Intraday Intensity)가 어제와 다르다면 혹은 수치값이 높아진다면 사용자에게 신호를 보내거나 자동매매가 가능하도록 프로그램 할수 있나요?
- 관심종목검색에서 실시간 표시가 되거나
- 사용자에게 알림을 보내거나
- 자동 매매가 실행되거나
하는 방법을 의미합니다
2024-12-05
733
글번호 185995
답변완료
예스랭귀지 수식 요청합니다
1번
윌리엄R(14) -70선 돌파 or
윌리엄R(14) -70선 이하 and
윌리엄R(14) 1봉 상승
2번
RSI(2)<5 and
20지수이평 < 종가 < 120지수이평 and
VR(20)<100 and
60봉이내 최저종가
예스랭귀지 수식 요청합니다
감사합니다~
2024-12-06
570
글번호 185994
답변완료
볼린저밴드
안녕하세요.
볼린저밴드를 사용하는데.. 키움과 비교해보니 수치가 달라서요.
키움의 볼린저밴드 수식은 아래와 같습니다.
중심값 = (종가+고가+저가)/3의 단순이동평균 사용
---------------
수식1>
eavg((C+H+L)/3, 20)
수식2>
eavg((C+H+L)/3, 20)+2*stdev((C+H+L)/3, 20)
수식3>
eavg((C+H+L)/3, 20)-2*stdev((C+H+L)/3, 20)
--------------
키움과 동일하게 사용하려면 어떻게 하면 될까요?
그리고, 예스에서 사용하는 볼린저밴드 중심선의 이동평균의 수치좀 부탁 드립니다.
항상 감사합니다.
좋은 하루 보내세요.
2024-12-06
667
글번호 185993