커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1750
글번호 230811
답변완료
수식 부탁드립니다
키움수식입니다
예스수식으로 변환 부탁 드립니다
수식1
if(crossdown(avg(c1),avg(c,20)) or (avg(c,1) < avg (c,20)),8,0)
수식2
0
수식1
if(crossup(avg(c1),avg(c,20)) or (avg(c,1) > avg (c,20)),8,0)
2021-01-15
1148
글번호 145493
답변완료
결과값에 true, false를 저장하려고 하는데
var: dod(false);
dod = iff(H-C < (H-L)*0.5, true, false); // 문장1
라고 해서 dod변수에 true나 false를 넣으려고 합니다. 물론,
dod = H-C < (H-L)*0.5; //문장2
라고만 해도 dod에는 true나 false를 갖겠지만 가독성을 위해 위와 같이 코딩하려고 했는데, 위 문장에서는
'연산자 앞뒤 두 데이터의 형태가 같아야 합니다.'라는 에러가 납니다.
문장1에서 iff는 true, false값은 리턴 못하고 숫자나 문자등의 값만 리턴이 되나요?
2021-01-15
1168
글번호 145492
답변완료
input변수에 true false를 넣고 싶은데
input: 패턴1(true), 패턴2(true), 패턴3(true);
이라고 입력 파라메터를 설정하고 나머지 코드는 검증에 모두 성공해서 F5키를 눌러보면
첨부한 그림 1과 같이 변수값에 true가 모두 들어가 있는 것을 확인할 수 있습니다.
그런데, 시뮬레이션 챠트에서 F9를 클릭해서 변수값을 확인해보면 첨부 2와 같이 변수값에 0으로 들어가 있습니다;;; (이것이 문제1)
그래서 강제로 각 변수값을 0에서 true로 고쳐서 확인버튼 눌러도 여전히 값은 0에서 바뀌지 않고(이것이 문제2), 그래서 일단 시스템을 적용시켜 보면 예상대로 그림 3과 같이 당연히 논리값이 와야 한다고 에러가 나옵니다.
어디가 잘못된 것인가요?
2021-01-15
891
글번호 145491
답변완료
수식
당일 9시 개장이후 첫진입에 대한 2가지 수식 요청입니다.
첫진입에서 하기 2가지 조건이 발생시 진입 및 진입금지에 대한 수식 요청입니다.
2번째 진입부터는 해당되질 않는 조건입니다.
Condition 조건으로 부탁드립니다.
1. 진입 금지
# 매수 : 시가+2.5 이상
# 매도 : 시가-2.5 이하
2. 진입
# 매수 : 시가+1.25 이상
# 매도 : 시가-1.25 이하
감사합니다.
안녕하세요
예스스탁입니다.
1
if C < DayOpen+2.5 and 매수조건 Then
Buy();
if C > DayOpen-2.5 and 매도조건 Then
Sell();
2
if C >= DayOpen+2.5 and 매수조건 Then
Buy();
if C <= DayOpen-2.5 and 매도조건 Then
Sell();
즐거운 하루 되세요
> 한국사람73 님이 쓴 글입니다.
> 제목 : 수식
> 안녕하세요.
하기 2가지 수식 부탁드립니다.
당일 첫진입만 해당 됩니다.
1. 진입 금지 조건
# 매수 금지 : 시가+2.5 이상
# 매도 금지 : 시가-2.5 이하
2. 진입 조건
# 매수 : 시가+1.25 이상
# 매도 : 시가-1.25 이하
감사합니다.
2021-01-15
1150
글번호 145490
답변완료
수식 문의
안녕하세요?
지표식과 거기 들어간 함수식의 수정을 부탁드립니다.
수정해 주실 때, Data1(...), Data2(...) 등의 옷이 빠진게 있으면 이것도 입혀주시고,
if Data1(index) >= 0 && Data2(index) >= 0 then 등의 외투도 필요하면, 이런 것들도 입혀주시기 바랍니다.
아참, 70701번에 여쪄본 것 조금 보충 부탁드립니다.
C 밑의 예스트레이더 밑에 my_Text 라는 폴더를 만들었는데, 이쪽으로 Text File 을 만들고 싶습니다. 제가 시도했더니 그냥 예스트레이더 밑에 화일 이름만 그림처럼 나옵니다.
그리고, 분봉 말고 일봉 차트도 있습니다. 일봉에 대해서도 aa값을
ver 1) 종가마다 한번씩
ver 2) 동시호가 들어가기 n(10)분전에
한번씩 Text로 보내로 싶습니다.
감사합니다.
2021-01-15
1090
글번호 145489
답변완료
문의드립니다
1
지표1의 최근 20봉 최저점을 찾기위해
Lowest( 지표1 ,20) 함수를 사용하는데
어제 지표1이 낮은값으로 끝났던는날엔
당일 장시작되고 20봉 이전에는
간섭이 일어납니다
장시작 후
20봉 이전에는 지표1 당일의 최저점으로 표기되고
20봉 이후에는 Lowest( 지표1 ,20) 표기 되도록 하고싶습니다
2
1분차트에서
AA==
당일 첫봉을 제외하고 거래대금 누적
당일리셋
BB==
AA(거래대금누적)가 1억원 갱신때마다 갱신이전의 종가와 현재종가 비교하여 계산된다
갱신이전 시점의종가 < 현재종가 그동안누적된거래대금 더하기
갱신이전 시점의종가 > 현재종가 그동안누적된거래대금 빼기
당일리셋
ex)
장시작후
시간이지나고
9시 30분 봉에 AA 1억원 돌파
BB는 9시1분봉종가와 9시30분봉 종가 비교하고
9시1분부터 30분까지 그동안누적된 거래대금을 더하거나 뺀다
시간이지나고
9시 40분 봉에 AA 2억원 돌파
BB는 9시30분종가와 9시40분봉 종가 비교하고
9시30분부터 40분까지 그동안누적된 거래대금을 더하거나 뺀다
시간이지나고
9시 45분 봉에 AA 3억원 돌파
BB는 9시40분종가와 9시45분봉 종가 비교하고
9시40분부터 45분까지 그동안누적된 거래대금을 더하거나 뺀다
...
감사합니다
2021-01-18
944
글번호 145488
답변완료
변수처리 및 종료시간 지정
안녕하세요~
Buy, StopLoss, StopProfittarget 3개 모두 시간처럼 변수로 처리하고
지정시간(변수)되면 남은주문 취소 및 미결제주문 강제청산 가능토록 부탁드립니다
감사합니다!
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 특정시간 진입
>
안녕하세요
예스스탁입니다.
input : ntime(100000);
var : Tcond(False),entry(0);
if Bdate != Bdate[1] Then
{
Tcond = False;
entry = 0;
}
if (sdate != sdate[1] and stime >= ntime) or
(sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then
{
Tcond = true;
var1 = O;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if Tcond == true and MarketPosition == 0 and entry < 1 and L > var1-10 Then
Buy("b",AtLimit,var1-10);
SetStopLoss(20,PointStop);
SetStopProfittarget(50,PointStop);
즐거운 하루 되세요
2021-01-14
980
글번호 145487
답변완료
문의드립니다.
안녕하세요
종목검색에서 52주 저가의 10% 이내에 있는 종목을 검색할 수 있는
검색 수식 문의드리릴 수 있을지요
감사드립니다!
2021-01-14
956
글번호 145485
답변완료
수식문의
아래내용을 배열과 For문으로 간단히 표현가능할까요?
input : 몇분평균(60);
VAR :
DATA02_일정기간 (0),
DATA03_일정기간 (0),
DATA04_일정기간 (0),
DATA05_일정기간 (0),
DATA06_일정기간 (0),
DATA07_일정기간 (0),
DATA08_일정기간 (0),
DATA09_일정기간 (0),
DATA10_일정기간 (0),
DATA11_일정기간 (0),
DATA12_일정기간 (0),
DATA13_일정기간 (0),
DATA14_일정기간 (0),
DATA15_일정기간 (0),
DATA16_일정기간 (0),
DATA17_일정기간 (0),
DATA18_일정기간 (0),
DATA19_일정기간 (0),
DATA20_일정기간 (0);
DATA02_일정기간 = EmA( Data2(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA03_일정기간 = EmA( Data3(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA04_일정기간 = EmA( Data4(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA05_일정기간 = EmA( Data5(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA06_일정기간 = EmA( Data6(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA07_일정기간 = EmA( Data7(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA08_일정기간 = EmA( Data8(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA09_일정기간 = EmA( Data9(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA10_일정기간 = EmA( Data10(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA11_일정기간 = EmA( Data11(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA12_일정기간 = EmA( Data12(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA13_일정기간 = EmA( Data13(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA14_일정기간 = EmA( Data14(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA15_일정기간 = EmA( Data15(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA16_일정기간 = EmA( Data16(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA17_일정기간 = EmA( Data17(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA18_일정기간 = EmA( Data18(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA19_일정기간 = EmA( Data19(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
DATA20_일정기간 = EmA( Data20(V) , 몇분평균 - 1)*(몇분평균 - 1) ;
2021-01-14
878
글번호 145482