커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7248
글번호 230811
답변완료
부탁 드립니다.
도움 주심에 감사 드립니다.
질문1)
아래수식은 57463번에서 답변 해주신 내용 입니다.
해선용에서 사용 하고자 합니다.
그런데
예를 들어 4월 16일의 거래일의 새벽 1시(010000_한국시간) 를 입력하면 전일거래일의 01:00부터 var13을 계산하고 있어 원하는 것이 아닙니다.
이것을 4/16일을 입력하고
그 상태에서 07:00~ 익일 06:00 사이의 아무 시간이나 입력 하면 당일 거래일에서 계산 되도록 부탁 드립니다.
input : 날짜(20180416),시간(010000);
if Condition1 == false and sdate == 날짜 and stime >= 시간 Then
{
Condition1 = true;
var21 = 0;
var22 = 0;
}
if Condition1 == true then{
if C > O Then
var21 = var21 + (C*V);
if C < O Then
var22 = var22 + (C*V);
var13 = var21-var22;
}
질문2) 수정한 질문1의 수식을 첨부한 그림과 같이 계산 되도록 부탁 드립니다.
질문3) 아래수식을 질문2의 요구처럼 지정일시 이후부터
var5의 값이 합산 누적 되도록 부탁 드립니다.
input:p20(20),p120(120);
var : aa(0),bb(0),xx(0);
aa = ma(C,p20);
bb = ma(C,p120);
xx = aa-bb;
value1 = iff(aa > bb and xx > xx[1],xx,0);
value2 = iff(aa > bb and xx < xx[1],xx,0);
value3 = iff(aa < bb and xx > xx[1],xx,0);
value4 = iff(aa < bb and xx < xx[1],xx,0);
var5=Value1+Value2+value3+value4;
미리 감사 드립니다.
2018-04-18
268
글번호 118268
답변완료
수식 관련 문의 드립니다.
10선과 20선을 이용하여 고점과 저점을 체크하고 싶습니다.
1) 10선이 20선을 상향돌파하는 경우 교차시 해당하는 캔들의 저가를 저점으로 만들고
10선이 20선을 하향돌파하는 경우 교차시 해당하는 캔들의 고가를 고점으로 만들고 싶습니다.
2) 여기서 만들어지는 고점과 저점의 길이를 1.5포인트 이상으로 해당하는 수식과
3) 위에 길이가 해당되는 경우 전고점 현고점, 전저점과 현저점을 비교하는 수식
위에 해당하는 세가지 수식문의 부탁드립니다.
2018-04-17
193
글번호 118264
답변완료
그물망 챠트
항상 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다 ^_^
그물망챠트 파란선이 수직으로 표기된곳으로 이동이 되도록
수정된 수식을 원합니다.
input :기간(1),간격(1),굵기(0.5);
var : T(0);
#지수이평3
#기간을 기준으로 지정한 가격의 배수로 기간값 증가
var1 = ema(C,기간);
var2 = ema(C,기간+간격*1);
var3 = ema(C,기간+간격*2);
var4 = ema(C,기간+간격*3);
var5 = ema(C,기간+간격*4);
var6 = ema(C,기간+간격*5);
var7 = ema(C,기간+간격*6);
var8 = ema(C,기간+간격*7);
var9 = ema(C,기간+간격*8);
var10 = ema(C,기간+간격*9);
var11 = ema(C,기간+간격*10);
var12 = ema(C,기간+간격*11);
var13 = ema(C,기간+간격*12);
#정배열/역배열 색상지정에 이용하는 내용
#정배열이면 T는 1(다음 역배열 될때까지 유지)
if var1 > var2 and
var2 > var3 and
var3 > var4 and
var4 > var5 and
var5 > var6 and
var6 > var7 and
var7 > var8 and
var8 > var9 and
var9 > var10 and
var10 > var11 and
var11 > var12 and
var12 > var13 Then
T = 1;
#역배열이면 T는 -1(다음 정배열 될때까지 유지)
if var1 < var2 and
var2 < var3 and
var3 < var4 and
var4 < var5 and
var5 < var6 and
var6 < var7 and
var7 < var8 and
var8 < var9 and
var9 < var10 and
var10 < var11 and
var11 < var12 and
var12 < var13 Then
T = -1;
#plot1로 출력(출력값 var1, 지표명 "이평1", 색상 T가1이면 빨강 아니면 파랑, 기능없음, 굵기지정);
plot1(var1,"이평1",iff(T == 1,RED,BLUE),def,굵기);
plot2(var2,"이평2",iff(T == 1,RED,BLUE),def,굵기);
plot3(var3,"이평3",iff(T == 1,RED,BLUE),def,굵기);
plot4(var4,"이평4",iff(T == 1,RED,BLUE),def,굵기);
plot5(var5,"이평5",iff(T == 1,RED,BLUE),def,굵기);
plot6(var6,"이평6",iff(T == 1,RED,BLUE),def,굵기);
plot7(var7,"이평7",iff(T == 1,RED,BLUE),def,굵기);
plot8(var8,"이평8",iff(T == 1,RED,BLUE),def,굵기);
plot9(var9,"이평9",iff(T == 1,RED,BLUE),def,굵기);
plot10(var10,"이평10",iff(T == 1,RED,BLUE),def,굵기);
plot11(var11,"이평11",iff(T == 1,RED,BLUE),def,굵기);
plot12(var12,"이평12",iff(T == 1,RED,BLUE),def,굵기);
plot13(var13,"이평13",iff(T == 1,RED,BLUE),def,굵기);
2018-04-17
367
글번호 118263
은이 님에 의해서 삭제되었습니다.
2018-04-17
2
글번호 118262
답변완료
잔고를 3으로 나눠서 매수, 특정 시간의 시장가로 매도 청산 수식 문의
질문1. 매수를 하루에 최대 3번 한다고 할 때
10시, 11, 12시에 특정 조건이 되면 매수를 하는데 자산을 3으로 나눠야 하고
10시에 매수가 되었을 경우, 남은 자산에 대하여 2로 나눠서 매수가 되어야 하는데
어떻게 표현해야 할까요?
10시: GetAccount(0) / 3
11시: GetAccount(0) / 2
12시: GetAccount(0)
질문2. 해당 시간에 매수가 되었는지 안되었는지를 어떻게 아나요? 즉, 분모 3, 2에 대해서 알기 위해서입니다.
질문3. 특정시간에 시장가로 전체 매도하는 식 표현은?
exitLong("sell1", ??)
2018-04-16
194
글번호 118261
답변완료
문위드립니다
파라볼릭 매수유지하고 maccd 오실레타 빨강색이면 매수
매수는 음봉종가시에 매수신호발생
파라볼릭 매도유지이고 mscd 오실레타 파랑이면 매도
매도는 양봉종가시에 발생
부탁드립니다
2018-04-16
177
글번호 118260
흑형 님에 의해서 삭제되었습니다.
2018-04-16
23
글번호 118259
답변완료
조건식 수정 부탁드립니다.
if T == 1 and CrossUP(value1, value2) then
buy("매수1",AtMarket);
if MarketPosition == 1 Then
{
if T == -1 and 추세[0] == "매도추세" Then
Exitlong("추세전환(-)",AtMarket);
if T == 1 and 추세[0] == "매도추세" Then
Exitlong("bx1",Atlimit,EntryPrice+PriceScale*50);
if T == -1 and 추세[0] == "매수추세" Then
Exitlong"bx2",Atlimit,EntryPrice+PriceScale*50);
}
if T == -1 and CrossDown(value1, value2) then
sell("매도1",AtMarket);
if MarketPosition == -1 Then
{
if T == 1 and 추세[0] == "매수추세" Then
ExitShort("추세전환(+)",AtMarket);
if T == -1 and 추세[0] == "매수추세" Then
ExitShort("sx1",Atlimit,EntryPrice-PriceScale*50);
if T == 1 and 추세[0] == "매도추세" Then
ExitShort("sx2",Atlimit,EntryPrice-PriceScale*50);
위 시스템 서식에서 먼저 진입신호(매수나 매도)에 의해 매매가 진행중일때 조건식(3가지)에 의해 청산되기전 반대 진입신호(매도나 매수)가 나올시 그 신호를 무시하고 청산 시스템 서식에 의해 청산이 되도록 변경 부탁드립니다.
예를 들어 T = 1(매수신호)에 의해 진입했을시 청산조건 3가지 조건에 부합되지 않았는데
T = -1(매도신호)이고 CrossDown 신호가 나왔을시 매도 진입으로 인식하고 청산, 매도가 동시에 이루어 지는데 이를 방지하고 정상적인 매도청산 조건에서 청산되도록 부탁드립니다.
2018-04-16
184
글번호 118258
답변완료
검색식 부탁드립니다.
다음 조건을 찾는 식 부탁드릴께요.
1. (전일종가-전일시초가)/전일시초가 >= 0.2
2. 거래대금 >=10억
3. 10,000 <주가<100,000
4. (당일시초가-전일종가)/전일종가 >= -0.1
1-4조건은 10시까지만 검색
늘 감사드립니다.
2018-04-16
184
글번호 118257