커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7632
글번호 230811
답변완료
Re : 26058 추가 질문입니다.
1초 챠트는 하루도 전부 표시가 안되는 것으로 생각되는데
1초 챠트에서도 전일 고가/시가/저가/종가를 가져올 수 있는지 궁금합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 26058 추가 질문입니다.
>
안녕하세요
예스스탁입니다.
1.
죄송합니다. 해당 부분 변경해야 합니다.
if var2 < AvgEntryPrice*1.05 Then
exitlong("bx1",atlimit,AvgEntryPrice*1.05,"",value1,1);
if var2 < AvgEntryPrice*1.06 Then
exitlong("bx2",atlimit,AvgEntryPrice*1.06,"",value1,1);
if var2 < AvgEntryPrice*1.07 Then
exitlong("bx3",atlimit,AvgEntryPrice*1.07,"",value1,1);
if var2 < AvgEntryPrice*1.08 Then
exitlong("bx4",atlimit,AvgEntryPrice*1.08,"",value1,1);
if var2 < AvgEntryPrice*1.09 Then
exitlong("bx5",atlimit,AvgEntryPrice*1.09);
2
차트는 1초부터 제공이 됩니다.
1초 차트로 하시면 됩니다.
3.
예 우선호가로 지정하시면 됩니다.
우선1호가는 매수신호가 발생하면 매수1호가에 주문을 내고
매수청산신호(매도)가 발생하면 매도1호가에 주문을 냅니다.
즐거운 하루되세요
> 엠제이 님이 쓴 글입니다.
> 제목 : 26058 추가 질문입니다.
> 빠른 답변 감사드립니다.
추가로 궁금한 부분이 있어서 질문드립니다.
1) 작성해 주신 아래 식에서 모두 AvgEntryPrice*1.05으로 되어 있는데
1.05, 1.06, 1.07, 1.08, 1.09로 바뀌어야 되는거 아닌가 궁금합니다.
if var2 < AvgEntryPrice*1.05 Then
exitlong("bx1",atlimit,AvgEntryPrice*1.05,"",value1,1);
if var2 < AvgEntryPrice*1.05 Then
exitlong("bx2",atlimit,AvgEntryPrice*1.06,"",value1,1);
if var2 < AvgEntryPrice*1.05 Then
exitlong("bx3",atlimit,AvgEntryPrice*1.07,"",value1,1);
if var2 < AvgEntryPrice*1.05 Then
exitlong("bx4",atlimit,AvgEntryPrice*1.08,"",value1,1);
if var2 < AvgEntryPrice*1.05 Then
exitlong("bx5",atlimit,AvgEntryPrice*1.09);
2) 만들어주신 식에서는 매수가를 입력으로 받았지만
매수일 전일 고가를 매수가로 자동 계산한다고 했을때
작성해주신 시스템식을 분 챠트가 아닌 초 챠트에서 운영시에 봉수 5000개로 했을때
몇초까지 운영가능한지도 궁금합니다.
* 최대한 짧은 초로 운영을 하고 싶습니다.
input : 매수일(20120903), 매수가격(1000);
을 아래와 같이 변경하였을 경우입니다.
input : 매수일(20120903);
if sdate == 매수일 then
매수가 = DayHigh(1);
3) 슬리피지를 최대한 줄이기 위해서 우선 1호가로 지정하면 되는 건지요?
매수와 매도 모두 동일하게 지정하면 되는건가요?
우선 1호가를 한번도 사용을 안해봐서
우선1호가의 의미에 대해서 죄송하지만 부연 설명 부탁드리겠습니다.
친절한 답변 감사드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템식 요청드립니다.
> 안녕하세요
예스스탁입니다.
피라미딩을 다른진입신호만 허용으로 설정하고
차트에 적용하셔야 합니다.
input : Price(74400),날짜(20120830);
if sdate >= 날짜 and date != date[1] Then
var1 = var1+1;
if var1 >= 1 and var1 <= 2 and
(MarketPosition== 0 or (MarketPosition == 1 and countif(CurrentContracts < CurrentContracts[1],BarsSinceEntry) < 1)) Then{
buy("b1",atlimit,Price+PriceScale*2,100);
buy("b2",atlimit,Price+PriceScale*1,100);
buy("b3",atlimit,Price,100);
buy("b4",atlimit,Price-PriceScale*1,100);
buy("b5",atlimit,Price-PriceScale*2,100);
}
if MarketPosition == 1 Then{
if CurrentContracts > CurrentContracts[1] Then{
var2 = H;
if CodeCategory == 1 and BasePrice < 50000 Then
value1 = int(int(CurrentContracts*0.2)/10)*10;
Else
value1 = int(CurrentContracts*0.2);
}
if H > var2 Then
var2 = H;
if var2 < AvgEntryPrice*1.05 Then
exitlong("bx1",atlimit,AvgEntryPrice*1.05,"",value1,1);
if var2 < AvgEntryPrice*1.05 Then
exitlong("bx2",atlimit,AvgEntryPrice*1.06,"",value1,1);
if var2 < AvgEntryPrice*1.05 Then
exitlong("bx3",atlimit,AvgEntryPrice*1.07,"",value1,1);
if var2 < AvgEntryPrice*1.05 Then
exitlong("bx4",atlimit,AvgEntryPrice*1.08,"",value1,1);
if var2 < AvgEntryPrice*1.05 Then
exitlong("bx5",atlimit,AvgEntryPrice*1.09);
}
우선호가로 주문가격을 설정하시면 됩니다.
매수주문일 경우 매수호가에 매도주문일 경우에 매도호가에
주문을 발생합니다.
즐거운 하루되세요
> 엠제이 님이 쓴 글입니다.
> 제목 : 시스템식 요청드립니다.
> 안녕하세요.
아래의 시스템식 부탁드리겠습니다.
제가 원하는 매수일과 매수일+1일에 제가 지정한 매수가격에 분할로 매수를 하고
수익시에도 분할로 매수청산하고 싶습니다.
1분봉으로 부탁드리겠습니다.
매수일, 매수가격을 input으로 입력받은후에
매수일과 매수일 다음날까지 매수가 가능하며,
매수수량은 100주씩
매수가격+2호가, +1호가, 매수가격, -1호가, -2호가에 분할로 매수함
매수청산은
5% 수익, 6% 수익, 7% 수익, 8% 수익, 9% 수익시에
매수수량의 20%씩을 매수청산합니다.
9% 수익시에는 전량 청산이라고 보시면 됩니다.
하나더 질문이 있는데요.
매수안되도 상관없는데
가장 슬리피지를 줄일 수 있는 매수방법을 알려주세요
atlimit으로 매수가에 왔을때 매수 주문나갈때
무엇을 선택하면 좋은지를 알고 싶습니다.
예) 현재가, 현재가+1호가 등등
감사합니다.
2012-09-04
276
글번호 54364
답변완료
신심리도 수식 변환한거 검토 부탁드려요.
키움에서 신심리도 수식을 다음과 같이 해서 쓰고 있었는데,
--------------------------(키움 용)-------------------------
( ( sum(if(c>c[1],1,0),period) * sum(if(c>c[1],c-c[1],0),period)
-sum(if(c<c[1],1,0),period) * sum(if(c<c[1],c[1]-c,0),period)
)
/sum(abs(c-c[1]),period)/period*100
)/2+50
---------------------------------------------------------
최근 예스트레이더를 쓰게 되면서 아래와 같이
변환해 봤습니다. 그런데 키움 차트와 예스트레이더 차트에서 각각
모양이 다르게 그려집니다.
수고스럽지만 제대로 변환한 것인지 검토 좀 부탁드려요.
---------------------(예스트레이더 용)---------------------------
Input : period(10);
var : var1(0),var2(0),var3(0),var4(0),var5(0),var11(0),var21(0);
If c>c[1] Then var1 = 1;
Else var1 = 0;
var11 = AccumN(var1, period) * AccumN(c-c[1],period);
If c<c[1] Then var2 = 1;
Else var2 = 0;
var21 = AccumN(var2, period) * AccumN(c[1]-c,period);
var3 = AccumN(abs(c-c[1]),period);
var4 = (((Var11-Var21)/Var3/period*100)/2)+50;
---------------------------------------------------------
2012-09-04
398
글번호 54363
답변완료
시스템식질문입니다
1분봉 차트로
dayindex 로
dayindex=1
11
21
....
십씩증가하고
331 까지
각 봉의 종가를 기억하고
당일시가와 비교하여
초과면 매수
미만이면 매도
하여
dayindex=340에서 청산하는 시스템을 만들고 싶습니다
시스템이 결과가
1 -340
11-340
21-340
.....
감사합니다
2012-09-04
285
글번호 54361
답변완료
지표 문의 합니다.
수고 많으십니다.
분봉에서 5일간의 고가와 저가
10일간의 고가와 저가
20일간의 고가와 저가
60일간의 고가와 저가
120일간의 고가와 저가
200일간의 고가와 저가를 표시하고 싶습니다.
부탁드릴께요..
2012-09-04
289
글번호 54356
답변완료
다시 재질문 올립니다
input : P1(10);
var : AA(0),BB(0);
AA=highest(v,p1);
if AA == V Then
var1 = (o+c+h+l)/4;
BB=lowest(v,p1);
if BB == V Then
var2 = (o+c+h+l)/4;
if var1<var2 Then
find(1);
일전에 가르쳐 주신 crossdown 함수대신 변형시켜 검색을하니 어떻게 영 적용이 않되네여
그리고 추가로
var1<var2 보다 적은 경우가 발생한 일봉의 갯수를 제한 하고 싶으면 어떻게 해야 하는건지
즉 p1 = 20으로 가정하고 var1<var2 인경우 중에서 5봉전의 var1<var2 인경우는 필터하고
5봉이내에 var1<var2 가 발생한 경우 같은 케이스를 한번 짜주세여
부탁좀 드리겠습니다 수고하세여
2012-09-04
255
글번호 54353
답변완료
지표식 문의 드립니다.
장중 선물 틱차트에서
주기변수는 26으로 해서
NVI와 NVI시그널의 차 그리고 PVI와 PVI 시그널의 차. 그 둘의 합을 구하고 싶습니다.
(NVI-NVIsig ) + (PVI - PVIsig)
2012-09-04
282
글번호 54351
괌 님에 의해서 삭제되었습니다.
2012-09-04
14
글번호 54346
답변완료
문의드림니다
아래 지난번 작성해 주신 당일1회만 진입식인데요
문1)
진입식이 여러개 있을경우 수식이 복잡해지는데 간략히 하는 방법이 없을까요?
문2)
Condition1 = false; 와 같이 만약 Condition1 에서 Condition100 까지
이미 Condition을 모두 사용한 경우 Condition을 cond1 ,cond2,cond3 와 같이
임의의 변수를 사용하여 아래 수식을 재작성 해주시면 감사하겠습니다
/////당일1회만 진입식////////////////////////////
if date != date[1] Then{
Condition1 = false;
}
var1 = ma(c,5);
var2 = ma(c,20);
if MarketPosition == 1 and IsEntryName("골드1") == true Then
Condition1 = true;
if Condition1 == false and Crossup(var1,var2) Then
buy("골드1");
2012-09-04
243
글번호 54345
답변완료
지표식?
.
2012-09-04
281
글번호 54344