커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7301
글번호 230811
답변완료
시스템 문의 드립니다
안녕하세요, 저번에 54459번 글 문의 드린 내용인데 시스템이 잘 안됩니다.
1번은
1-1. 최초에 2계약 진입 100틱 1계약 수익 청산 까지는 한 번 되는데 그 다음 신호들은 하나도 발생이 되지 않습니다.
1-2. 다음 반대방향 크로스 전까지 한번 이익실현을 하면 재진입이 되지 않도록 수식으로 부탁드립니다.
2번은
2-1. 1계약 이익실현 부분,
'계좌 평균단가'에서 10P 수익일 때 1계약 이익실현(포지션 수량 1계약, 2계약 상관 없이)
이 부분에서 예를 들어 계좌에 1계약 있을 때 --> 1개 이익실현 = 0 , 2계약 있을 때 --> 1개 이익실현 = 1 이렇게 나와야 하는데 10P 수익일 때 2개 다 이익실현이 나갑니다.
2-2. 그리고 2계약 모두 이익실현 후 같은 방향으로 계속 연달아 진입이 됩니다. 다음 반대방향 크로스 전까지 한번 이익실현을 하면 재진입이 되지 않도록 수식으로 부탁드립니다. 만약 불가능하다면 최초 1계약 진입 후 10봉 이내에 40틱 눌림목 발생 시에만 1계약 추가 진입 조건을 수식으로 부탁드립니다.
1,2번 모두 피라미딩 설정도 말씀해 주신대로 '다른 진입신호만 허용'으로 설정했습니다.
3. 위 2번 조건 똑같은 상태에서 3번은 크로스 시 보유수량 전량청산만 나가고 크로스 이후 1차 진입은 -2P[tick1(20)]에서, 2차 진입은 -4P[tick2(40)] 로 되도록 수식 부탁드립니다. 제가 관리자님께서 답변을 해주신 수식으로 응용해서 작성해보니 청산만 나가고 진입이 되질 않네요ㅠ
수정 부탁 드리겠습니다. 감사합니다ㅠ
아래는 54459번 글
------------------------------------------------------
1.
"5일선과 20일선 크로스" 발생 시 '1차' 2계약 매수/매도 진입
2계약 보유 시에만
'계좌 평균단가'에서 100틱 수익일 때 1계약 이익실현
1계약 보유 시에만
"5일선과 20일선 크로스" 발생 시 해당 종가(1차 진입가)에서 -40틱 하락/상승(눌림목) 터치할 경우 '2차' 1계약 추가 진입 (시스템의 최대보유수량은 2계약으로 제한, 최초 2계약이 이미 진입되어 있고 이익실현이 발생하지 않은 상태에서 눌림목이 발생하여도 추가 1계약은 진입하지 않음)
"5일선과 20일선 크로스"(반대방향) 발생 시 보유물량(1계약 또는 2계약) 전량청산 & 동시에 2계약 신규진입
1. 답변 해주신 부분
input : tick2(40), exitick(100), ent1(2),ent2(1);
var1 = ma(C,5);
var2 = ma(C,20);
if MarketPosition <= 0 and crossup(var1,var2) Then{
value1 = c;
buy("b1",OnClose,def,ent1);
}
if MarketPosition >= 0 and CrossDown(var1,var2) Then{
value1 = c;
sell("s1",OnClose,def,ent1);
}
if MarketPosition == 1 then{
if CurrentContracts == 2 then
exitlong("bx1",atlimit,AvgEntryPrice+PriceScale*exitick,"",1,1);
if CurrentContracts == 1 and L > value1-PriceScale*tick2 then
buy("bb",AtLimit,value1-PriceScale*tick2,ent2);
}
if MarketPosition == -1 then{
if CurrentContracts == 2 then
ExitShort("sx1",atlimit,AvgEntryPrice-PriceScale*exitick,"",1,1);
if CurrentContracts == 1 and H < value1+PriceScale*tick2 then
sell("ss",AtLimit,value1+PriceScale*tick2,ent2);
}
------------------------------------------------------
2.
"5일선과 20일선 크로스" 발생 시 '1차' 1계약 매수/매도 진입
1계약 진입 후 위 크로스 발생 당시 캔들 종가에서 -4P 하락/상승(눌림목) 터치할 경우 '2차' 1계약 추가 진입
'계좌 평균단가'에서 10P 수익일 때 1계약 이익실현(포지션 수량 1계약, 2계약 상관 없이)
1계약 또는 2계약의 진입이 이루어 진 후 반대방향의 "5일선과 20일선 크로스"가 발생하기 전까지는 같은방향의 재진입은 하지 않아야 함
"5일선과 20일선 크로스"(반대방향) 발생 시 보유물량(1계약 또는 2계약) 전량청산 & 동시에 1계약 신규진입
2. 답변 해주신 부분
input : tick2(40), exitick(100), ent1(1),ent2(1);
var1 = ma(C,5);
var2 = ma(C,20);
if MarketPosition <= 0 and crossup(var1,var2) Then{
value1 = c;
buy("b1",OnClose,def,ent1);
}
if MarketPosition >= 0 and CrossDown(var1,var2) Then{
value1 = c;
sell("s1",OnClose,def,ent1);
}
if MarketPosition == 1 then{
exitlong("bx1",atlimit,AvgEntryPrice+PriceScale*exitick);
if CurrentContracts == 1 and L > value1-PriceScale*tick2 then
buy("bb",AtLimit,value1-PriceScale*tick2,ent2);
}
if MarketPosition == -1 then{
ExitShort("sx1",atlimit,AvgEntryPrice-PriceScale*exitick);
if CurrentContracts == 1 and H < value1+PriceScale*tick2 then
sell("ss",AtLimit,value1+PriceScale*tick2,ent2);
}
2017-08-22
204
글번호 112115
답변완료
지수이평 키움 수식과 예스수식 변환에 문제가있어 질문드립니다.
키움에서 지표식입니다
rsi_r = (C-C(1));
100 - (100/(1+eavg(if(rsi_r>0,rsi_r ,0), 10) /
eavg(if(rsi_r<0,abs(rsi_r),0), 10)))
이것을 예스차트에 아래처럼 변환했습니다.
input : period(Numeric);
var : rsi_r1(0),rsi_r2(0),EP(0),Jisu1(0),Jisu2(0),eavg1(0),eavg2(0);
if index ==0 Then
ClearDebug;
rsi_r1 = iff((C-C[1])>0,(C-C[1]),0);
rsi_r2 = iff((C-C[1])<0,-(C-C[1]),0);
//eavg(if(rsi_r>0,rsi_r ,0), period)
ep = 2/(period+1);
if(index <= 1)Then{
Jisu1 = rsi_r1;
Jisu2 = rsi_r2;
}Else{
Jisu1 = rsi_r1 * EP + JISU1[1] * (1-EP);
Jisu2 = rsi_r2 * EP + JISU2[1] * (1-EP);
}
//MessageLog("original %.2f",100 - (100/(1+ Jisu1/Jisu2 )));
//MessageLog("original %.2f %.2f %.2f %.2f %.2f %.2f %.2f ",rsi_r1,rsi_r2,Jisu1[0],Jisu2[0],Jisu1[1],Jisu2[1],100 - (100/(1+ Jisu1[0]/Jisu2[0] )));
f5ewrsi=100 - (100/(1+ Jisu1/Jisu2 ));
차트 세팅은 거래량없는 봉도 그리도록 했습니다. 그리고 기간값(period)은 10입니다.
위에것을 그대로 함수로구현한뒤 제가 수정할 부분이있어서 수식을직접작성했는데요
값이 아주 미묘하게 차이가나는데 어디가 문제인지모르겠습니다.
팍스넷 분봉 차트로 확인부탁드립니다
테스트를 3분봉 15분봉 60분봉으로 돌리고있습니다
2017-08-21
265
글번호 112112
답변완료
외국인 선물매수수량 표기
1) 외국인 선물 순매수 수량을 현재까지의 즉 (10분 20분 30분 )의 최저수량 최고수량을 변수로 나타내는 방법을 부탁합니다.
2017-08-21
229
글번호 112109
답변완료
VIDYA지표
안녕하세요
신한,이베스트증권에는 VIDYA라는 지표가 있습니다
지표로 추가할 수도 있고 수식관리자에서 원하는 대로 편집해 쓸수 있습니다(내장함수로 등록되어 있어 그렇겠지요)
VIDYA(C,CMO기간,Smooth)인데요
예를 들어 종가 20일 VIDYA를 쓰고 싶으면
VIDYA(C,20,3) 이렇게 쓰면 됩니다
이베스트에서 잘 사용하고 있는 VIDYA를 예스트레이더 에서 사용하고 싶은데
어떻게 사용 할수 있나요?
내장함수로 정의해 주긴 어렵겠지요
그러면 사용자함수로 지정하는 수식을 알고 싶습니다
2017-08-21
321
글번호 112108
답변완료
지표식 문의드려요.
저가대비 1피오르면 매수 -> 고가대비 1피내리면 매도 -> 저가대비 1피오르면 매수 -> 계속반복 되는 수식인데요.. 지표식으로 볼수있게 부탁드립니다.(매수전환선, 매도전환선)
2017-08-21
160
글번호 112105
답변완료
부탁드립니다.
일봉차트입니다.
조건 1 : (2일전 종가 - 2일전 시가) 가 3포인트보다 크다.
조건 2 : (1일전 시가 - 1일정 종가)의 절대값이 가 0.5보다 작고 -0.5보다 크다.
조건 3 : (1일전 고가 - 1일전 시가)가 1포인트 이상 크다.
조건 4 : (1일전 시가 - 1일전 저가)가 1포인트 이상 크다.
조건 1~4를 모두 만족시 시작가 매도진입, 당일 오후 3시 매도청산
즉 2일전이 3포인트 이상의 양봉이고, 1일전이 윗꼬리 아래꼬리 달린 십자형인 경우 시작가 매도하고 당일 오후 3시 매도 청산입니다.
2017-08-21
190
글번호 112103
답변완료
부탁드립니다
해외선물에서 특정요일의 최고진폭 최저진폭 평균진폭를 알고싶습니다(진폭:최고가-최저가)
예를 들어서 월요일의 N일(N은 변경가,기본 12번의월요일) 동안의 최고진폭 최저진폭 평균진폭,
직전월요일의 진폭을 알고 싶습니다
그리고 월요일 말고 다른 요일도 적용 가능하게 부탁드립니다
2017-08-21
161
글번호 112094
답변완료
검색식 부탁드립니다.
안녕하세요
월봉에서 년봉 검색식 부탁드립니다.
조건1, 10이평[0] < 10이평{1} < 10이평{2]
조건2, 10이평[2] 을 종가상 골드난 종목
잘 살펴서 만들어 주시시 바랍니다.
수고하세요 감사합니다.
2017-08-21
149
글번호 112093
답변완료
수식 부탁드립니다.
안녕하세요
수식 부탁드립니다.
1.매수조건
11시00분에 매수후에 하락시에는 12시에 1개더 매수추가(물타기)후에 0.5피 수익시청산
2.매도조건
11시00분에 매도후에 상승시에는 12시에 1개더 추가매도(물타기)후에 0.5피 수익시청산
감사드립니다.
2017-08-21
160
글번호 112092