커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7233
글번호 230811
답변완료
문의
스팟식 미완성신호에 대한 질문입니다.
예를 들어, 미완성 매수청산 신호를 2번으로 변수에 저장하여 활용하고 있는데요
문제는 미완성 매수청산 신호가 조건에 맞지않게 되어 사라지는 경우
변수에는 2번으로 저장되어 있어 오류가 발생합니다
미완성 매수청산 신호가 사라지는 경우(다음봉에서 완성신호로 확정되지 않을 경우)
이전에 발생된 신호(이경우는 매수신호 또는 매도청산 신호가 되겠고
완성신호이므로 변수에 저장된 값)로 변수값을 저장되도록 하는 스팟식을
부탁드립니다
만약, 위의 경우 수식화가 불가능하다면
미완성신호가 발생과 중지를 반복하다가 다음봉이 완성될 때 미완성신호가 완성신호로 확정되
지 않을 경우, 미완성신호에 저장된 변수값을 이전에 발생되어 변수에 저장된 완성신호값으
로 변경하는 수식 부탁드립니다.
감사합니다
2018-08-10
174
글번호 121270
답변완료
검색식 문의합니다
과거50봉중 c가 20이평선 위에 있었던 경우가 5번미만이구 현재 20이평선위에 있는 종목 검색식요!
감사합니다~^^
2018-08-10
162
글번호 121268
답변완료
수식 부탁드립니다.
1.
틱 차트에서 현재 기점 60분간 최고가를 표시한다
틱 차트에서 현재 기점 60분간 최저가를 표시한다
틱 차트에서 현재 기점 60분간 최고가와 최저가 상방대칭을 표시한다
틱 차트에서 현재 기점 60분간 최고가와 최저가 하방대칭을 표시한다
2.
틱 차트에서 60분봉 최고가를 표시한다
틱 차트에서 60분봉 최저가를 표시한다
틱 차트에서 60분봉 최고가와 최저가 상방대칭을 표시한다
틱 차트에서 60분봉 최고가와 최저가 하방대칭을 표시한다
감사합니다
2018-08-09
221
글번호 121267
답변완료
검색식 부탁드립니다.
60일 이동평균선이 우상향중이면서
프라이스채널 하단을 당일 저가가 하락 돌파한 종목
검색식 부탁드려요
2018-08-09
180
글번호 121266
답변완료
수식 문의
please check attaschment.
always thank you.
2018-08-10
193
글번호 121265
답변완료
수식 문의 드립니다.
지난 번 따른 답변으로 큰 도움을 받아 다시한번 감사드립니다.
공부 중에 적용이 잘 되어 한번 더 더움을 받고자 합니다.
문의 1)
buy, sell 명령어 문자 삽입시 폰트 적용이 가능한지요?
예:
if CrossDown(C, WMA(C, 5)) or CrossDown(C, Ema(C, 5)) or CrossDown(C, ma(C, 5)) Then
{
cnt1 = cnt1+1;
tx = Text_New(sdate,stime,H+PriceScale*1,"@"+NumToStr(cnt1,0));
Text_SetStyle(tx,2,2); -- 적용되고 있음
Text_SetBold (tx,1); -- 적용되고 있음
}
위 경우는 적용이 되는데 명령어에 직접적용하니 안되네요. (첨부파일 A 캔들 위치)
이런 경우도 위 처럼 별도 표기처리를 해야 하거나 방법을 알고 싶습니다.
If Value1 < Value2 Then
{
# 매도/매수청산
if MarketPosition >= 0 and CrossDown(Value4, Value5) Then
{
sell("매도주문");
cnt2 = 0;
Text_SetStyle(tx,2,2); -- 적용이 안되고 있음
Text_SetBold (tx,1); -- 적용이 안되고 있음
}
}
문의 2)
buy("매수주문"); 또는 sell("매도주문"); 발생할 경우(신호발생/확정 상관없이) 화면에 해당 라인이 그려지게 하려는데
잘 안되네요 ㅜㅠ , 도움 부탁 드립니다.
buy인 경우 빨간색 수직선, sell 경우 파란색으로 그려졌으면 합니다.
(첨부파일 B 위치 캔들)
화면에 직접 표현이 안된다면 보조지표로 만든 후 화면에 지표 합성을 하는 방식도 가능하지 않을까 하는데 어렵네요 ㅠㅠ
항상 도움을 주셔서 감사드립니다.
2018-08-09
317
글번호 121264
답변완료
선물옵션 정정
> 안녕하세요
1. ==>> 선물 입니다
연결선물 주봉 상승이고 연결선물 일봉 도 상승이며
옵션 만기일 콜옵션중간값 종목 상승 이면 매수
연결선물 주봉 하락이고 연결선물 일봉 도 하락아며
옵션 만기일 콜옵션중간값 종목 하락 이면 매도
2. ==>> 주식 입니다
변수는 ; 투자금액 입력 사용할수있도록 해요 예}==>> 1천만원
현물 월봉 상승이며 현물주봉 도 상승이고
현물 일봉 상승 이면 금요일 오후 1시~2시 사이에 1차 매수
월요일 오전 9시~10시 사이에 2차매수
매수
목표 20% 청산
감사합니다^^
2018-08-09
194
글번호 121263
답변완료
수정부탁드립니다.
input : 금액(500000);
If NextBarSdate >sDate Then
Buy("b1%", AtLimit, dayclose*0.99, Floor(금액/C));
If NextBarSdate >sDate Then
Buy("b1.5%", AtLimit, dayclose*0.985, floor(금액/C));
If NextBarSdate >sDate Then
Buy("b2%", AtLimit, dayclose*0.98, floor(금액/C));
If NextBarSdate >sDate Then
Buy("b2.5%", AtLimit, dayclose*0.975, Floor(금액/C));
If NextBarSdate >sDate Then
Buy("b3%", AtLimit, dayclose*0.97, floor(금액/C));
If NextBarSdate >sDate Then
Buy("b4%", AtLimit, dayclose*0.96, floor(금액/C));
if stime >= 090600 and dayhigh == H and C<O Then
var1 = o;
Buy("b1%1음봉", Atlimit, o*0.99, floor(금액/c));
if stime >= 090600 and dayhigh == H[1] and C[1]>O[1] and C<o Then
Buy("b1%2음봉", Atlimit, DayHigh*0.99, floor(금액/c));
if stime >= 090600 and dayhigh == H[2] and C[2]>O[2] and C[1]<o[1] and C<O Then
Buy("b1%3음봉", Atlimit, O*0.99, floor(금액/c));
if marketposition == 1 and ((latestEntryName == "b1%1음봉" )) Then
buy("b1%1음봉2%추매", atlimit, var1*0.98, floor(금액/c));
//매도 1%
SetStopProfittarget(1,PercentStop);
SetStopInactivity (1, 50, PercentStop);
항상 수고가 많으십니다.
1. 3분봉에서 시뮬레이션을 하고 있는데. 9시3분에 "b1%1음봉" 이 거래가 일어난다고 뜹니다. 어느부분이 잘못되었을까요?
2. if marketposition == 1 and ((latestEntryName == "b1%1음봉" )) Then
buy("b1%1음봉2%추매", atlimit, var1*0.98, floor(금액/c));
이 매수가 b1%1음봉 한번당 한번만 진입 하고 싶습니다.(중간에 b1%2음봉 신호가 나와도 매수 할수 있는 방법도 알려주세요.)
3. SetStopInactivity (1, 50, PercentStop); 이 신호가 나오면 그 이후 매수를 중지고 싶습니다.
2018-08-09
195
글번호 121262
답변완료
부탁드립니다.
도움 주심에 깊이 감사 드립니다.
수식1)
조건1)
연속 n개이상 양봉일때의 그 양봉 가격의 합이,
과거 100개의 봉크기 평균값의 k배 이상의 조건
조건2)
연속 n개이상 양봉일때의 거래량의 합이
과거 100개봉의 거래량의 평균값의 q배 이상의 조건
조건3)
연속 n개이상 양봉일때의 거래량의 합이
과거 100개봉의 거래량의 평균값의 r배 이하의 조건
위와같이
조건1과 조건2를 동시 만족할 때 수평선과
조건1과 조건3을 동시 만족할 때 수평선을 긋되
그어 오든 수평선에서 새로운 수평선이 생성되면 기존 수평선은 중지 되는 수식 부탁 드립니다.
아울러,
수식2)
(상기 수식1의 조건에 있는 양봉에서 음봉으로만 변경되는 조건으로서)
조건4)
연속 n개이상 음봉일때의 그 음봉 가격의 합이,
과거 100개의 봉크기 평균값의 k배 이상의 조건
조건5)
연속 n개이상 음봉일때의 거래량의 합이
과거 100개봉의 거래량의 평균값의 q배 이상의 조건
조건6)
연속 n개이상 음봉일때의 거래량의 합이
과거 100개봉의 거래량의 평균값의 r배 이하의 조건
위와같이
조건4와 조건5를 동시 만족할 때 수평선과
조건4와 조건6을 동시 만족할 때 수평선을 긋되
그어 오든 수평선에서 새로운 수평선이 생성되면 기존 수평선은 중지 되는 수식을
부탁 드립니다.
미리 경배로 감사 인사 올립니다.
추신) 위 수식과 관련된 유사한 수식 2개를 첨부 합니다.
참고수식1)
input :n(3), P100(100),q(3),r(0.3);
var1 = AccumN(V,n);
var2 = ma(V,P100);
var3 = var1/var2;
if crossup(var3,q) and countif(C>O,n) == n Then
value1 = C;
if CrossDown(var3,r) and countif(C<O,n) == n Then
value2 = C;
참고수식2)
input :n(3),p100(100),k(4);
var : T(0),cnt1(0),d1(0),t1(0),h1(0),l1(0);
var : cnt2(0),d2(0),t2(0),h2(0),l2(0);
var : tl11(0),tl12(0),tl13(0),tl14(0);
var : tl21(0),tl22(0),tl23(0),tl24(0);
var : v1(0),v2(0),v3(0),v4(0);
v1 = iff(C>O,abs(C-O),0);
v2 = AccumN(v1,p100);
v3 = countif(C>O,p100);
v4 = v2/v3;
if C > O Then
T = 1;
if C < O Then
T = -1;
if T == 1 and T[1] != 1 Then
{
cnt1 = 0;
d1 = sdate;
t1 = stime;
h1 = H;
l1 = L;
}
if T == 1 Then
{
cnt1 = cnt1+1;
if h > h1 Then
h1 = h;
if l < l1 Then
l1 = l;
}
if T == -1 and T[1] != -1 Then
{
cnt2 = 0;
d2 = sdate;
t2 = stime;
h2 = H;
l2 = L;
}
if T == -1 Then
{
cnt2 = cnt2+1;
if h > h2 Then
h2 = h;
if l < l2 Then
l2 = l;
}
if T != 1 and T[1] == 1 and cnt1[1] >= n and C[1] > O[1] Then
{
var1 = h1;
var2 = L1;
if h1-l1 >= v4*k Then
{
TL_SetEnd(tl11[1],sdate[cnt1+1],stime[cnt1+1],value88[1]);
tl11 = TL_New(d1,t1,h1,sdate[1],stime[1],h1);
value88 = var1;
}
TL_SetColor(Tl11,RED);
}
Else
{
TL_SetEnd(TL11,sdate,stime,value88);
TL_Setsize(TL11,2);
}
if T != -1 and T[1] == -1 and cnt2[1] >= n and C[1] < O[1] then
{
var3 = H2;
var4 = L2;
if h2-l2 >= v4*k Then
{
TL_SetEnd(tl22[1],sdate[cnt2+1],stime[cnt2+1],value99[1]);
tl22 = TL_New(d2,t2,l2,sdate[1],stime[1],l2);
value99 = var4;
}
TL_SetColor(Tl22,BLUE);
}
Else
{
TL_SetEnd(TL22,sdate,stime,value99);
TL_Setsize(TL22,2);
}
2018-08-09
233
글번호 121261