커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1719
글번호 230811
답변완료
수식어 부탁드립니다
input : StartTime(070000),EndTime(055000),xtime(055500);
var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0);
var : Tcond(false);
if sDate != sDate[1] then
SetStopEndofday(xtime);
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;
SetStopEndofday(0);
}
전환선 = (highest(H,9)+lowest(L,9))/2;
기준선 = (highest(H,26)+lowest(L,26))/2;
선행스팬1 = (전환선[25]+기준선[25])/2;
선행스팬2 = (highest(H,52)[25]+lowest(L,52)[25])/2;
var1 = Disparity(60);
if Tcond == true Then
{
if 전환선 > 기준선 and crossup(전환선,선행스팬1) and var1 >= 99 Then
buy("b");
if MarketPosition == 1 then
{
if 전환선 < 기준선 and CrossDown(전환선,선행스팬2) and var1 >= 99 Then
exitlong();
}
if 전환선 < 기준선 and CrossDown(전환선,선행스팬1) and var1 <= 1000 Then
sell("s");
if MarketPosition == -1 then
{
if 전환선 > 기준선 and CrossUp(전환선,선행스팬2) and var1 <= 1200 Then
ExitShort();
}
}
------------------------------------
상기 수식어의 시간에서 총수익이 120틱이면 매매정지
총손실이 30틱이면 매매정지를 부탁드립니다
2021-03-24
1384
글번호 147343
답변완료
수식어 부탁드립니다
input : StartTime(70000),EndTime(050000);
input : N(115);
var : Tcond(false);
if sDate != sDate[1] Then
SetStopEndofday(Endtime);
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
{
var1 = O;
Tcond = true;
SetStopEndofday(0);
}
if Tcond == true Then
{
if MarketPosition <= 0 and L >= DayOpen-N*PriceScale Then
Buy("b",AtLimit,DayOpen-1*PriceScale);
if MarketPosition <= 0 and L >= DayOpen-N*PriceScale Then
Sell("s",AtLimit,DayOpen+120*PriceScale);
}
--------------------
상기 수식어에서
07시부터 05시까지 총수익 120틱에 매매정지
07시부터 05시까지 총손실 30틱에 매매정지
매매 청산시간은 익일 05시50분으로 부탁드립니다.
2021-03-24
1253
글번호 147342
답변완료
수식 질문드립니다.
if crossup(value1,value2) then buy();
에서
3개 수량을 0.5포 단위로
현재가
현재가 -0.5pt
현재가 -1pt
이렇게 세개 매수 주문 나가려면 어떻게해야하는지 궁금합니다.
2021-03-23
1315
글번호 147340
답변완료
신호수식 문의드립니다
키움에서 사용하는 rsi과매도 화살표신호를 예스트레이더차트에서 구현하는 수식을 알고싶습니다.
수식
Crossdown(RSI(Period),LPercent)
지표변수
Period 14
LPercent 40
2021-03-23
1312
글번호 147339
답변완료
문의
input : N(5);
if 종목검색조건 Then
find((C-C[N])/C[N]*100);
다름이 아니라 종목검색식에 의해서 검색된 종목전체의 일정기간 상승율(수익율)을 검증해보고 싶습니다. 위의 식에 종목검색조건을 넣었는데 그림과같이 오류가 뜨네요
어떻게 해야 할까요
2021-03-23
1202
글번호 147338
답변완료
수식 질문드립니다.
if c2<-0.7 and c2>-1 Then condi0=-1;
위와 같은 조건에서, c2 1분봉
1. 그날의 첫봉 제외 조건,
2. 그날의 첫봉+둘째봉 제외조건
으로 하면 어떻게하면 되려는지요?
if c2<-0.7(첫봉제외) and c2>-1(첫봉제외) Then condi0=-1;
if c2<-0.7(첫봉+둘째봉제외) and c2>-1(첫봉+둘째봉제외) Then condi0=-1;
2021-03-23
1111
글번호 147337
답변완료
문의
항상 감사드립니다.
아래 지표를 각각 월고 월저 기준가 오차범위 3%(변수로 변경 가능) 근접시 팝업창 뜨면서 알람 울리게 부탁드립니다.
input : 입력일(20210215);
var : 기준가(0),월고(0),월저(0);
if data2(sdate == 입력일) Then
기준가 = data2(lowD(0));
if data2(sdate >= 입력일) Then
{
if Data2(월고 == 0 or (월고 > 0 and H > 월고)) Then
월고 = data2(h);
if data2(월저 == 0 or (월저 > 0 and L < 월저)) Then
월저 = data2(l);
}
if 기준가 > 0 Then
Plot1(기준가);
if 월고 > 0 Then
Plot2(월고);
if 월저 > 0 Then
Plot3(월저);
감사합니다.
2021-03-23
1121
글번호 147336
답변완료
함수작성관련 문의드립니다.
저는 NH증권의 나무 mts, hts를 사용하고 있습니다. 제가 원하는 수식을 커스텀해서 쓰고
싶은데(대표적으로 키움증권에서 수식관리자 기능을 지원하더라구요) 나무에도 해당 기능이
있는지 물어보니 '언어편집기'에 들어가서 'system trading' 이라는 코딩? 프로그램이
실행이 되더군요. 거기에 있는 도움말만으로는 도저히 제가 원하는 사용자 수식을
만들 길이 없어 검색끝에 이곳에 오게 되었습니다. 도움말에 적힌 기술적 내부함수와
기본적 내부함수를 읽어보았으나 'shift'의 기능이 없어서 궁금합니다. 저는 볼린저벤드를
커스텀해서 쓰고 싶은데, 이를테면 20일간의 볼린저밴드의 상한선을 20일앞으로 땡겨서 보
싶은데요. 일목균형표 선행스팬처럼요. 혹시 가능할까요?
2021-03-23
3320
글번호 147335
답변완료
수정 부탁드립니다.
안녕하세요?
아래수식에서 몸통길이 외부변수를 없애고 싶습니다.
즉, 몸통길이 구분없이 모든 양봉에 매수진입/모든 음봉에 매도진입
input부분을 삭제하고, 수식에서 양봉틱수 음봉틱수 문구를 삭제하니 도지만 진입하더라구요. 도와주시면 감사하겠습니다.
감사합니다.
input : 양봉틱수(5),음봉틱수(5);
input : 익절틱수(50),손절틱수(50),진입횟수(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[1]) Then
entry = entry+1;
if entry < 진입횟수 and MarketPosition == 0 and O < C[1] and C == O+양봉틱수*PriceScale then
Buy();
if entry < 진입횟수 and MarketPosition == 0 and O > C[1] and C == O-음봉틱수*PriceScale then
Sell();
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2021-03-23
1301
글번호 147318