커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3598
글번호 230811
답변완료
문제점 확인 부탁드립니다.
안녕하세요?
아래의 수식으로 성능보고서 상에는 아무문제가 없었는데,
실전거래를 해보니 손절이 똑바로 되지가 않는 문제가 발생했습니다.
매매횟수는 2회로 설정해놓았고 2회모두 손실입니다. 그 중에서 1회는 손절이 잘되었고
두번째 들어간것이 손절폭을 넘어가도 계속 가지고있더군요.
어떤문제가 있는지 검토해주시면 감사하겠습니다.
부탁드리겠습니다.
input : b기준선(0.05),s기준선(0.95),n(3);
var : entry(0);
if Bdate != Bdate[1] Then
entry = 0;
var1 = C%1;
var2 = C%1;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if entry < n Then
{
if MarketPosition == 0 and C > O and b기준선 == var1 then
Buy();
if MarketPosition == 0 and C < O and s기준선 == Var2 then
Sell();
}
input : 익절틱수(50),손절틱수(50);
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2020-11-16
556
글번호 143928
답변완료
지표
안녕하세요!
오늘도 부탁드립니다.
[1-1]
분봉]일봉]
당일시가+어제시가(중심가격)
당일시가+어제고가(중심가격)
당일시가+어제저가(중심가격)
당일시가+어제중심(중심가격)
당일시가+어제종가(중심가격)
[1-2]
월봉시가
현재월봉시가+전달시가(중심가격)
+전달고가(중심가격)
+전달저가(중심가격)
+전달중심(중심가격)
+전달종가(중심가격)
[1-3]
월봉]
당일시가+전달시가(중심가격)
+전달고가(중심가격)
+전달저가(중심가격)
+전달중심(중심가격)
+전달종가(중심가격)
1-4
주봉]
현재주봉시가+전주시가(중심가격)
+전주고가(중심가격)
+전주저가(중심가격)
+전주중심(중심가격)
+전주종가
[1-5]
주봉]
당일시가 +전주시가(중심가격)
+전주고가(중심가격)
+전주저가(중심가격)
+전주중심(중심가격)
+전주종가(중심가격)
--------------------------------------
타주기대입
[2-1]일봉시가분봉대입
(1-1일봉/분봉)(작은분봉대입수식)
[2-2]월봉시가
(1-2) 작은주/일/분봉대입수식
[2-3]당/전월
(1-3) 작은주/일/분봉대입수식
[2-4]주봉시가
(1-4)작은주/일/분봉대입수식
[2-5]당/전주
(1-5)작은주/일/분봉대입수식
---------------------------------
총10개 수식이네요
부탁드립니다.
2020-11-17
664
글번호 143921
답변완료
시스템 수식 문의드립니다.
안녕하세요, 수고 많으십니다. 항상 감사드리며 수식 문의드립니다.
아래 간격선 수식에서 매수, 매도조건을 설정하고 싶습니다.
매수진입 : 간격선 + 20틱에 닿을때 실시간 매수진입
매수청산 : 간격선에 닿을 때 실시간 매수청산
매도진입 : 간격선 - 20틱에 닿을때 실시간 매도진입
매도청산 : 간격선에 닿을 때 실시간 매도청산
input : cnt(20) // 20틱을 외부변수로 조정할 수 있도록 부탁합니다.
var : sngMx(12000.00), sngDx(125.00); // 500틱 간격선 중 고점 / sngDx: 500틱 간격(125pt)
v1 = sngMx;
v2 = sngMx - sngDx;
v3 = sngMx - 2 * sngDx;
v4 = sngMx - 3 * sngDx;
v5 = sngMx - 4 * sngDx;
v6 = sngMx - 5 * sngDx;
v7 = sngMx - 6 * sngDx;
v8 = sngMx - 7 * sngDx;
v9 = sngMx - 8 * sngDx;
v10 = sngMx - 9 * sngDx;
v11 = sngMx - 10 * sngDx;
v12 = sngMx - 11 * sngDx;
v13 = sngMx - 12 * sngDx;
v14 = sngMx - 13 * sngDx;
v15 = sngMx - 14 * sngDx;
v16 = sngMx - 15 * sngDx;
v17 = sngMx - 16 * sngDx;
v18 = sngMx - 17 * sngDx;
v19 = sngMx - 18 * sngDx;
v20 = sngMx - 19 * sngDx;
2020-11-16
666
글번호 143915
답변완료
수식작성 요청합니다
수고가 많으십니다.
1.매수
매수 손절 청산시 손절가에서 15틱이상 지나서 양봉에 매수진입
매수 익절 청산시 양봉에 매수진입
2.매도
매도 손절 청산시 손절가에서 15틱 이상 지나서 음봉에 매도진입
매도 익절 청산시 음봉에 매도진입
수식 부탁드립니다.
2020-11-16
662
글번호 143907
대구어린울프 님에 의해서 삭제되었습니다.
2020-11-16
2
글번호 143906
답변완료
15분상 고가 돌파 부탁드려요
당일 15분 분봉에서 고가 돌파 식을 알고 싶어요 부탁드려요
2020-11-16
613
글번호 143904
답변완료
문의드립니다
안녕하세요.
SetStopTrailing 함수를 사용하면 봉가정 오류가 자주 발생하는데
이미 완성된 이전봉 기준으로 이 함수를 적용하는 방법을 좀 알려주세요.
현재봉 말고 바로 이전봉에서 SetStopTrailing 조건을 만족하면 청산하는 방법이
있을까요?
SetStopTrailing(수익감소값,최소수익값,Method,tr_Method);
의 형식에서 뒤에 Method 값을 하나더 넣어서 이전봉을 지정할수 있으면 좋겠습니다.
Method 0은 현재봉, 1은 직전봉 이런식으로...
수고하세요.
2020-11-16
574
글번호 143897
답변완료
수식 문의 드립니다.
안녕하세요.
추가 설명 감사드립니다.
그런데 정말 죄송하지만,
추가로 설명 주신 부분도 어려워서
잘 이해를 못하고 있는 상황입니다.
if sDate != sDate[1] Then
Condition1 = true;
이 부분이 어떻게 오늘 날짜의 봉인지 아닌지를
체크하는 것으로 이해하면 될지 조금만 더 쉽게
알려주실 수 없으실까요?
제가 저 수식을 이해하기로는
sDate가 오늘 날짜이고
sDate[1]라는 변수가 현재캔들의 날짜로 보이는데
이것이 서로 다를 경우 (즉 오늘이 아닐 경우)
Condition1 이 true가 된다면
서로 다른 날짜일때 조건이 충족되는 것이 아닌지요?
첫 부분에서부터 어려움이 많아
도움 꼭 부탁드립니다.
감사합니다
=======================================
안녕하세요
예스스탁입니다.
1
if sDate != sDate[1] Then
Condition1 = true;
예 맞습니다
날짜가 변경되면 condition1변수는 true로 초기화 하는 내용입니다.
당일 조건이 계속 유지중인것을 판단하기 위해
당일 첫봉에서 변수에 값을 초기화한 부분입니다.
종목검색은 각 종목에 대해 지정한 봉수의 차트를 열어 수식을 적용해서
현재기준으로 조건이 퉁족되는 종목을 추출하는 것과 같습니다.
차트에 전일 데이타까지 있으면 이전일에 변수에 저장된 값이 오늘까지 유지되므로
날짜 변경식에 초기화하는 내용을 추가한 것입니다.
2
수식에 var1 = ma(C,5);가 빠져있었습니다.
var1 = ma(C,5);
if sDate != sDate[1] Then
Condition1 = true;
if C < var1 Then
Condition1 = False;
if Condition1 == true Then
Find(1);
즐거운 하루되세요
> ywesry 님이 쓴 글입니다.
> 제목 : 수식문의 드립니다
> 안녕하세요.
이전에 주신 답변 먼저 감사드립니다.
그런데 제가 잘 이해가 안되는 부분이 있어 다시 문의드립니다.
1) 아래의 수식은 어떤 의미일까요?
if sDate != sDate[1] Then
Condition1 = true;
지금 현재 날짜가 오늘과 같지 않다면, (해석이 맞는지요?)
조건을 만족한다는 것일지요?
저는 오늘 캔들들에 대해서만
조건 만족하는 수식을 찾고 있었는데
위의 해석으로는 뭔가 이상해서요..
2) 아래 수식에서,
if C < var1 Then
Condition1 = False;
var1 은 이평선 함수가 들어갈 부분일지요?
예를 들어 이평선 5를 넣는다면,
var1 = ma(C, 5)가 되는 것일지요?
감사합니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식 문의 드립니다.
>
안녕하세요
예스스탁입니다.
분봉주기에서 검색하시면 됩니다.
종목검색의 속성에서 검색에 필요한 최소기간에
해당 분봉의 하루치 봉수 이상을 지정해 주셔야 합니다.
종목검색은 최대 500봉 제공되므로 500봉 지정하고 검색하시면 됩니다.
if sDate != sDate[1] Then
Condition1 = true;
if C < var1 Then
Condition1 = False;
if Condition1 == true Then
Find(1);
즐거운 하루되세요
> ywesry 님이 쓴 글입니다.
> 제목 : 수식 문의 드립니다.
> 안녕하세요.
종목검색 수식이 필요한데
아래와 같은 수식 구현이 가능할지요?
만약 현재시간이 오전 10시라고 가정하면
장시작한 시간부터 현재까지의 분봉 캔들들이
이평선 위에 있으면 검색
즉 그 이전의 봉들 (가령 어제 봉들)은
하나도 포함시키지 않고
오늘 날짜의 장시작 이후 캔들들만을 조건으로
검색을 하고 싶습니다.
도움 부탁드립니다.
2020-11-16
713
글번호 143896
답변완료
문의드립니다.
강제청산 기능에 최대 수익대비 하락기능이
시가-저가-고가-종가 혹은 시가-고가-저가-종가로 세팅되어 시뮬레이션 시에 오류가 발생한다는 것을 알게되었습니다.
진입봉은 포함하지 않고 트레일링 스탑 방식으로 코드 작성 부탁드립니다.
감사합니다.
2020-11-16
616
글번호 143895