커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1586
글번호 230811
사공하늘 님에 의해서 삭제되었습니다.
2025-03-18
10
글번호 189274
답변완료
문의
k200 지수선물
데이트레이딩 기준입니다.
data1 k200선물 5분봉
data2 k200선물 일봉
어제까지 연속 3번(연속 3일이 아님) 일간 손익이 마이너스일 경우 거래를 중지하고
마이너스를 3번째 기록한 날부터 4영업일 이후부터는 거래 허용하는 필터 수식을 부탁드립니다.
input : 적자연속(3);
input : 거래시작(4);
if 필터 and 진입수식 then
buy();
항상 고맙습니다.
2025-03-18
344
글번호 189272
답변완료
종목검색식 부탁드립니다
1. 캔들의 몸통이 전체길이의 절반이하인 종목검색식(양봉,음봉 모두포함)
(단,0봉전~30봉전 모든종목)
2. 캔들의 윗꼬리가 전체길이의 절반 이상인 종목검색식 (양봉,음봉 모두포함)
(단,0봉전~30봉전 모든종목)
3. 지수이평 240을 돌파한 종목검색식 부탁드려요
(단, 0봉전~20 봉전 모든종목)
2025-03-18
390
글번호 189271
답변완료
질문 드리겠습니다
수고가 많으십니다
상장한지 ~이내의 종목을 검색하고 싶습니다
개월 단위로 검색을 하려고 합니다
n=개월로 해서 예를들어 상장한지 6개월 이내 종목을 찾는 식을 부탁드립니다
감사합니다
2025-03-18
372
글번호 189270
답변완료
지표 질문입니다
1.
당일이 52캔들 최저가인 경우 52캔들 최고가를 표시한다
당일이 52캔들 최저가인 경우 52캔들 최고가인 날의 시가와 종가 중 높은 가격을 표시한다
2.
당일이 52캔들 최고가인 경우 52캔들 최저가를 표시한다
당일이 52캔들 최고가인 경우 52캔들 최저가인 날의 시가와 종가 중 낮은 가격을 표시한다
감사합니다.
2025-03-17
365
글번호 189269
답변완료
문의
1) 청산수식 부탁드립니다.
리버스 거래이고
진입은 2번 입니다. ( 매수진입명 "a", 매도진입명 "b" )
매수신호가 먼저 나오면 매수거래 매도거래 하고 거래 종료
매도신호가 먼저 나오면 매도거래 매수거래 하고 거래 종료
매수신호가 먼저 나왔을 때와 매도신호가 먼저 나왔을 때를
구분하여 손절을 적용하고 싶습니다.
input : 손절1(1.25),손절2(2.50);
input : 손절3(2.50),손절4(1.25);
매수진입이 먼저 발생했을 때
진입명이 "a"
SetStopLoss(손절1,PointStop);
진입명이 "b"
SetStopLoss(손절2,PointStop);
매도진입이 먼저 발생했을 때
진입명이 "a"
SetStopLoss(손절3,PointStop);
진입명이 "b"
SetStopLoss(손절4,PointStop);
항상 고맙습니다.
2025-03-17
314
글번호 189268
답변완료
원 글(91906) 시스템 (수정) 문의 드립니다.
첫째, S&P500선물로 매매하려면,
S&P500선물을 기본차트로
나스닥100선물을 참조데이터로 추가하고 나에차식을 반대로 하여 적용하면 될까요?
원: 나에차 = R1-R2;
수정: 나에차 = R2-R1;
둘째, 당일손실틱수를 수정(사례에선 100을 2000으로)하려면 당일손실틱수 다음의 괄호 안 숫자를 바꿔주면 될까요? 만약 당일손실틱수가 넘어 청산됐다면 더 이상 매매가 없는 게 맞을까요?
이상을 반영하여 시스템 수식을 다음과 같이 수정하면 될까요?
input : 기준(1),일중최대진입횟수(2),당일손실틱수(2000);
var : ST(0,Data1),ET(0,Data1);
var : C1(0,Data1),C2(0,Data2);
var : R1(0,Data1),R2(0,Data2),나에차(0,Data1);
var : Tcond(False),count(0,Data1);
var : TT(0,Data1),N1(0,Data1),dayPL(0,Data1),Xcond(False),당일손실(0,Data1);
TT = TotalTrades;
if ET > 0 and Data1(sDate != sDate[1]) Then
SetStopEndofday(ET);
if data1(Bdate != Bdate[1]) Then
{
SetStopEndofday(0);
if sTime >= 80000 Then
{
ST = 233000;
ET = 060000;
}
Else
{
ST = 223000;
ET = 050000;
}
Xcond = False;
N1 = TT[1];
C1 = Data1(c[1]);
}
daypl = NetProfit-N1;
당일손실 = data1(PriceScale)*당일손실틱수;
if TotalTrades > TotalTrades[1] then
{
if daypl <= -당일손실 Then
Xcond = true;
if (IsExitName("dbl",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
}
if Data2(Bdate != Bdate[1]) Then
C2 = Data2(c[1]);
R1 = Data1((C-C1)/C1*100);
R2 = Data2((C-C2)/C2*100);
나에차 = R2-R1;
if data1(ET > 0 and
((sdate != sdate[1] and stime >= ET) or
(sdate == sdate[1] and stime >= ET and stime[1] < ET))) Then
{
Tcond = False;
}
if data1(ST > 0 and
((sdate != sdate[1] and stime >= ST) or
(sdate == sdate[1] and stime >= ST and stime[1] < ST))) Then
{
Tcond = true;
count = 0;
if MarketPosition == 0 and 나에차 >= 기준 then
{
count = count+1;
Buy();
}
if MarketPosition == 0 and 나에차 <= 기준 Then
{
count = count+1;
Sell();
}
}
Else
{
if Tcond == true and Xcond == False Then
{
if MarketPosition == 1 and 나에차 < 0 and 나에차[1] < 0 and count < 일중최대진입횟수 Then
{
count = count+1;
Sell("bs");
}
if MarketPosition == -1 and 나에차 > 0 and 나에차[1] > 0 and count < 일중최대진입횟수 Then
{
count = count+1;
Buy("sb");
}
if MarketPosition == 1 and 나에차 < 0 and 나에차[1] < 0 and count == 일중최대진입횟수 Then
{
ExitLong("bx");
}
if MarketPosition == -1 and 나에차 > 0 and 나에차[1] > 0 and count == 일중최대진입횟수 Then
{
ExitShort("sx");
}
}
}
if MarketPosition == 1 then
{
ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts));
}
다시 한번 감사드립니다.
꾸벅^^
2025-03-17
810
글번호 189267
ujkl 님에 의해서 삭제되었습니다.
2025-03-17
5
글번호 189266
답변완료
검색식 문의 드립니다.
종목검색식 문의 드립니다.
Period1(9), Period2(13), Period3(3), Period4(3), Period5(6),Period6(12)
A=((RSI(Period1)-Lowest(RSI(Period1),Period2))
/(Highest(RSI(Period1),Period2)-(Lowest(RSI(Period1),Period2))));
B=avg(A,Period3);
X=avg(B,Period4);
Y=DEMA(X,Period5);
Z=TEMA(X,Period6);
Lowest(L,30,1)>= Lowest(L,5,1) && Y(1)>Z(1) && X(1)< 0.2 && Z(1)< 0.2
&& X(2)>X(1) && X(1)< X(0)
부탁드립니다.
2025-03-18
373
글번호 189265