커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1725
글번호 230811
2wnwn 님에 의해서 삭제되었습니다.
2024-08-10
38
글번호 182432
답변완료
종목검색
키움 신호수식입니다
1,
가=MA(C,5);
나=(highest(high,9)+lowest(low,9))/2;
다=(highest(high,6)+lowest(low,6))/2;
라=(highest(high,5)+lowest(low,5))/2;
C>가&&
C>나&&
C>다&&
C>라
2,
가=sum(v*
((Pow((C-L),2) - Pow((H-C),2))
/
(H-L)),9
);
BI=sum(v*
((Pow((C-L),2) - Pow((H-C),2))
/
(H-L)),9
);
나=eavg(BI,16);
crossUP(가, 나)
3
가=shift(close,-13+1);
나=(highest(high,9)+lowest(low,9))/2;
CROSSUP(가, 나)
키움신호입니다
1, 2 ,3 동시 만족 되는 종목을 찾고싶습니다
항상 감사드립니다
2024-08-10
543
글번호 182431
다대 님에 의해서 삭제되었습니다.
2024-08-10
28
글번호 182430
답변완료
수식오류 정정부탁드립니다.
아래 숫식 오류정정 부탁드립니다.
Inputs: 기준선기간(26);
Variables: 기준선(0), varp(0), varm(0), var02(0), var03(0), var04(0), var05(0);
기준선 = (Highest(High, 기준선기간) + Lowest(Low, 기준선기간)) / 2;
// Define varx as binary values for logical operations
var2 = IIf((Highest(High, 9) + Lowest(Low, 9)) / 2 < (Highest(High, 9)[1] + Lowest(Low, 9)[1]) / 2 and Close > (Highest(High, 9) + Lowest(Low, 9)) / 2, 1, 0);
var5 = IIf((Highest(High, 9) + Lowest(Low, 9)) / 2 >= (Highest(High, 9)[1] + Lowest(Low, 9)[1]) / 2 and Close > (Highest(High, 9) + Lowest(Low, 9)) / 2, 1, 0);
var12 = IIf((Highest(High, 17) + Lowest(Low, 17)) / 2 < (Highest(High, 17)[1] + Lowest(Low, 17)[1]) / 2 and Close > (Highest(High, 17) + Lowest(Low, 17)) / 2, 1, 0);
var15 = IIf((Highest(High, 17) + Lowest(Low, 17)) / 2 >= (Highest(High, 17)[1] + Lowest(Low, 17)[1]) / 2 and Close > (Highest(High, 17) + Lowest(Low, 17)) / 2, 1, 0);
var22 = IIf((Highest(High, 26) + Lowest(Low, 26)) / 2 < (Highest(High, 26)[1] + Lowest(Low, 26)[1]) / 2 and Close > (Highest(High, 26) + Lowest(Low, 26)) / 2, 1, 0);
var25 = IIf((Highest(High, 26) + Lowest(Low, 26)) / 2 >= (Highest(High, 26)[1] + Lowest(Low, 26)[1]) / 2 and Close > (Highest(High, 26) + Lowest(Low, 26)) / 2, 1, 0);
var32 = IIf((Highest(High, 33) + Lowest(Low, 33)) / 2 < (Highest(High, 33)[1] + Lowest(Low, 33)[1]) / 2 and Close > (Highest(High, 33) + Lowest(Low, 33)) / 2, 1, 0);
var35 = IIf((Highest(High, 33) + Lowest(Low, 33)) / 2 >= (Highest(High, 33)[1] + Lowest(Low, 33)[1]) / 2 and Close > (Highest(High, 33) + Lowest(Low, 33)) / 2, 1, 0);
var42 = IIf((Highest(High, 42) + Lowest(Low, 42)) / 2 < (Highest(High, 42)[1] + Lowest(Low, 42)[1]) / 2 and Close > (Highest(High, 42) + Lowest(Low, 42)) / 2, 1, 0);
var45 = IIf((Highest(High, 42) + Lowest(Low, 42)) / 2 >= (Highest(High, 42)[1] + Lowest(Low, 42)[1]) / 2 and Close > (Highest(High, 42) + Lowest(Low, 42)) / 2, 1, 0);
var52 = IIf((Highest(High, 51) + Lowest(Low, 51)) / 2 < (Highest(High, 51)[1] + Lowest(Low, 51)[1]) / 2 and Close > (Highest(High, 51) + Lowest(Low, 51)) / 2, 1, 0);
var55 = IIf((Highest(High, 51) + Lowest(Low, 51)) / 2 >= (Highest(High, 51)[1] + Lowest(Low, 51)[1]) / 2 and Close > (Highest(High, 51) + Lowest(Low, 51)) / 2, 1, 0);
var62 = IIf((Highest(High, 65) + Lowest(Low, 65)) / 2 < (Highest(High, 65)[1] + Lowest(Low, 65)[1]) / 2 and Close > (Highest(High, 65) + Lowest(Low, 65)) / 2, 1, 0);
var65 = IIf((Highest(High, 65) + Lowest(Low, 65)) / 2 >= (Highest(High, 65)[1] + Lowest(Low, 65)[1]) / 2 and Close > (Highest(High, 65) + Lowest(Low, 65)) / 2, 1, 0);
var72 = IIf((Highest(High, 77) + Lowest(Low, 77)) / 2 < (Highest(High, 77)[1] + Lowest(Low, 77)[1]) / 2 and Close > (Highest(High, 77) + Lowest(Low, 77)) / 2, 1, 0);
var75 = IIf((Highest(High, 77) + Lowest(Low, 77)) / 2 >= (Highest(High, 77)[1] + Lowest(Low, 77)[1]) / 2 and Close > (Highest(High, 77) + Lowest(Low, 77)) / 2, 1, 0);
var82 = IIf((Highest(High, 88) + Lowest(Low, 88)) / 2 < (Highest(High, 88)[1] + Lowest(Low, 88)[1]) / 2 and Close > (Highest(High, 88) + Lowest(Low, 88)) / 2, 1, 0);
var85 = IIf((Highest(High, 88) + Lowest(Low, 88)) / 2 >= (Highest(High, 88)[1] + Lowest(Low, 88)[1]) / 2 and Close > (Highest(High, 88) + Lowest(Low, 88)) / 2, 1, 0);
var92 = IIf((Highest(High, 100) + Lowest(Low, 100)) / 2 < (Highest(High, 100)[1] + Lowest(Low, 100)[1]) / 2 and Close > (Highest(High, 100) + Lowest(Low, 100)) / 2, 1, 0);
var95 = IIf((Highest(High, 100) + Lowest(Low, 100)) / 2 >= (Highest(High, 100)[1] + Lowest(Low, 100)[1]) / 2 and Close > (Highest(High, 100) + Lowest(Low, 100)) / 2, 1, 0);
var02 = IIf((Highest(High, 126) + Lowest(Low, 126)) / 2 < (Highest(High, 126)[1] + Lowest(Low, 126)[1]) / 2 and Close > (Highest(High, 126) + Lowest(Low, 126)) / 2, 1, 0);
var05 = IIf((Highest(High, 126) + Lowest(Low, 126)) / 2 >= (Highest(High, 126)[1] + Lowest(Low, 126)[1]) / 2 and Close > (Highest(High, 126) + Lowest(Low, 126)) / 2, 1, 0);
var3 = IIf((Highest(High, 9) + Lowest(Low, 9)) / 2 >= (Highest(High, 9)[1] + Lowest(Low, 9)[1]) / 2 and Close > (Highest(High, 9) + Lowest(Low, 9)) / 2, 1, 0);
var4 = IIf((Highest(High, 9) + Lowest(Low, 9)) / 2 >= (Highest(High, 9)[1] + Lowest(Low, 9)[1]) / 2 and Close < (Highest(High, 9) + Lowest(Low, 9)) / 2, 1, 0);
var13 = IIf((Highest(High, 17) + Lowest(Low, 17)) / 2 > (Highest(High, 17)[1] + Lowest(Low, 17)[1]) / 2 and Close > (Highest(High, 17) + Lowest(Low, 17)) / 2, 1, 0);
var14 = IIf((Highest(High, 17) + Lowest(Low, 17)) / 2 >= (Highest(High, 17)[1] + Lowest(Low, 17)[1]) / 2 and Close < (Highest(High, 17) + Lowest(Low, 17)) / 2, 1, 0);
var23 = IIf((Highest(High, 26) + Lowest(Low, 26)) / 2 >= (Highest(High, 26)[1] + Lowest(Low, 26)[1]) / 2 and Close > (Highest(High, 26) + Lowest(Low, 26)) / 2, 1, 0);
var24 = IIf((Highest(High, 26) + Lowest(Low, 26)) / 2 >= (Highest(High, 26)[1] + Lowest(Low, 26)[1]) / 2 and Close < (Highest(High, 26) + Lowest(Low, 26)) / 2, 1, 0);
var33 = IIf((Highest(High, 33) + Lowest(Low, 33)) / 2 >= (Highest(High, 33)[1] + Lowest(Low, 33)[1]) / 2 and Close > (Highest(High, 33) + Lowest(Low, 33)) / 2, 1, 0);
var34 = IIf((Highest(High, 33) + Lowest(Low, 33)) / 2 >= (Highest(High, 33)[1] + Lowest(Low, 33)[1]) / 2 and Close < (Highest(High, 33) + Lowest(Low, 33)) / 2, 1, 0);
var43 = IIf((Highest(High, 42) + Lowest(Low, 42)) / 2 >= (Highest(High, 42)[1] + Lowest(Low, 42)[1]) / 2 and Close > (Highest(High, 42) + Lowest(Low, 42)) / 2, 1, 0);
var44 = IIf((Highest(High, 42) + Lowest(Low, 42)) / 2 >= (Highest(High, 42)[1] + Lowest(Low, 42)[1]) / 2 and Close < (Highest(High, 42) + Lowest(Low, 42)) / 2, 1, 0);
var53 = IIf((Highest(High, 51) + Lowest(Low, 51)) / 2 >= (Highest(High, 51)[1] + Lowest(Low, 51)[1]) / 2 and Close > (Highest(High, 51) + Lowest(Low, 51)) / 2, 1, 0);
var54 = IIf((Highest(High, 51) + Lowest(Low, 51)) / 2 >= (Highest(High, 51)[1] + Lowest(Low, 51)[1]) / 2 and Close < (Highest(High, 51) + Lowest(Low, 51)) / 2, 1, 0);
var63 = IIf((Highest(High, 65) + Lowest(Low, 65)) / 2 >= (Highest(High, 65)[1] + Lowest(Low, 65)[1]) / 2 and Close > (Highest(High, 65) + Lowest(Low, 65)) / 2, 1, 0);
var64 = IIf((Highest(High, 65) + Lowest(Low, 65)) / 2 >= (Highest(High, 65)[1] + Lowest(Low, 65)[1]) / 2 and Close < (Highest(High, 65) + Lowest(Low, 65)) / 2, 1, 0);
var73 = IIf((Highest(High, 77) + Lowest(Low, 77)) / 2 >= (Highest(High, 77)[1] + Lowest(Low, 77)[1]) / 2 and Close > (Highest(High, 77) + Lowest(Low, 77)) / 2, 1, 0);
var74 = IIf((Highest(High, 77) + Lowest(Low, 77)) / 2 >= (Highest(High, 77)[1] + Lowest(Low, 77)[1]) / 2 and Close < (Highest(High, 77) + Lowest(Low, 77)) / 2, 1, 0);
var83 = IIf((Highest(High, 88) + Lowest(Low, 88)) / 2 >= (Highest(High, 88)[1] + Lowest(Low, 88)[1]) / 2 and Close > (Highest(High, 88) + Lowest(Low, 88)) / 2, 1, 0);
var84 = IIf((Highest(High, 88) + Lowest(Low, 88)) / 2 >= (Highest(High, 88)[1] + Lowest(Low, 88)[1]) / 2 and Close < (Highest(High, 88) + Lowest(Low, 88)) / 2, 1, 0);
var93 = IIf((Highest(High, 100) + Lowest(Low, 100)) / 2 >= (Highest(High, 100)[1] + Lowest(Low, 100)[1]) / 2 and Close > (Highest(High, 100) + Lowest(Low, 100)) / 2, 1, 0);
var94 = IIf((Highest(High, 100) + Lowest(Low, 100)) / 2 >= (Highest(High, 100)[1] + Lowest(Low, 100)[1]) / 2 and Close < (Highest(High, 100) + Lowest(Low, 100)) / 2, 1, 0);
var03 = IIf((Highest(High, 126) + Lowest(Low, 126)) / 2 >= (Highest(High, 126)[1] + Lowest(Low, 126)[1]) / 2 and Close > (Highest(High, 126) + Lowest(Low, 126)) / 2, 1, 0);
var04 = IIf((Highest(High, 126) + Lowest(Low, 126)) / 2 >= (Highest(High, 126)[1] + Lowest(Low, 126)[1]) / 2 and Close < (Highest(High, 126) + Lowest(Low, 126)) / 2, 1, 0);
// Correctly define logical variables for varp and varm
varp = (
((var2 or var5) and (var12 or var15)) and
((var22 or var25) and (var32 or var35)) and
((var42 or var45) and (var52 or var55)) and
((var62 or var65) and (var72 or var75)) and
((var82 or var85) and (var92 or var95)) and
(var02 or var05)
);
varm = (
((var3 or var4) and (var13 or var14)) and
((var23 or var24) and (var33 or var34)) and
((var43 or var44) and (var53 or var54)) and
((var63 or var64) and (var73 or var74)) and
((var83 or var84) and (var93 or var94)) and
(var03 or var04)
);
Plot1(varp, "상승");
Plot2(varm, "하락");
2024-08-10
716
글번호 182429
답변완료
안녕하세요 수식 부탁드립니다~
안녕하세요 무더위에 수고많으십니다.
RSI와 볼린저밴드를 결합하여 종목 검색과 지표를 만들고 싶습니다.
RSI(9), 볼린저밴드(20,2)
RSI(RSI_Period)
볼린저밴드 상단선
avg(RSI(RSI_Period),BB_Period)+D1*stdev(RSI(RSI_Period),BB_Period)
볼린저밴드 하단선
avg(RSI(RSI_Period),BB_Period)-D1*stdev(RSI(RSI_Period),BB_Period)
1. RSI가 볼린저밴드 상단선 크로스업돌파 종목검색식.
2. RSI가 볼린저밴드 상단선 이상인 종목검색식.
3. RSI 볼린저밴드를 차트에 구현할 지표식.
4. 종가가 (지수25이평 앤드 데마25이평 앤드 테마25이평)을 동시에 돌파 종목검색식.
5. 지수25이평 > 데마더블EMA25이평 >= 테마트리플EMA25이평 정배열 종목검색식.
부탁드립니다.
늘 감사드립니다.
고맙습니다!!
2024-08-10
814
글번호 182428
답변완료
시스템 수식 부탁합니다.
매수 : MACD 가 SIGNAL 상향돌파
매도 : MACD 가 SIGNAL 하향돌파
매수 강제청산 : 현재봉을 포함하여 20봉중 "최저가격"보다 5틱 이하시 청산
매도 강제청산 : 현재봉을 포함하여 20봉중 "최고가격"보다 5틱 이상시 청산
손절 : 진입가격대비 -100틱 청산
익절 : 진입가격대비 +150틱 청산
2024-08-09
813
글번호 182427
답변완료
진입청산 시간설정 재문의
항상 친절한 답변에 감사를 드립니다.
지난번 해외선물 진입청산 시간설정을 문의한바 있으나
청산을 익일 시간으로 했더니 청산이 되지 않는 것 같아 재문의 드립니다.
제가 사용하는 증권회사는 한국투자증권회사이고 이곳은 한국시간으로 설정이 되어 있습니다.
진입시간은 16시로 마감시간(마지막청산)은 익일 10시 30분으로 하고자 합니다.
올바른 로직을 부탁드립니다.
2024-08-09
892
글번호 182415
답변완료
valuewhen yes로 변환좀 부탁드려요 감사합니다.
A=LRS(C,기간);
B=LRL(C,기간);
valuewhen(1,crossup(A,0),C) // LRS 0선돌파시 종가라인
먼저 LRS 0선을 돌파할때의 종가라인을 그리는 "지표식"과 그 종가라인을 LRL선이 돌파하는
"종목검색식"을 예스랭귀지로 변환 부탁드립니다.
2024-08-09
1086
글번호 182410
답변완료
보조지표 부탁드려요
1. ADX(11) 시그널(9) 지표 부탁드려요
침체(20) 과열(80) 침체과열선 표시요망
차트에 보조지표 사용예정입니다.
2024-08-09
826
글번호 182407