커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3450
글번호 230811
답변완료
검색식 부탁 드려요(재문의 드려요)
1. 아래수식을 참조하여(일봉기준),
주봉 20이평 (단순) 밑에서, 수식1) 이 수식2) 를 골든크로스
할때 종목검색식 부탁드려요.
누락부분 : (단, 0봉전~10봉전 모든종목)
확인 부탁드려요
--------아래-----
(수식1)
tenkan=If(Sum(거래량, ConvPeriod) > 0,
Sum(((고가 + 저가) / 2) * 거래량, ConvPeriod) / Sum(거래량, ConvPeriod),
(Max(고가, ConvPeriod) + Min(저가, ConvPeriod)) / 2);
(수식2)
kijun = If(Sum(거래량, BasePeriod) > 0,
Sum(((고가 + 저가) / 2) * 거래량, BasePeriod) / Sum(거래량, BasePeriod),
(Max(고가, BasePeriod) + Min(저가, BasePeriod)) / 2);
(수식3)
shift(close,-25)
(수식4)
spanA = (tenkan + kijun) / 2;
//SHIFT(spanA,25)
(수식5)
spanB = tenkan=If(Sum(거래량, SpanBPeriod) > 0,
Sum(((고가 + 저가) / 2) * 거래량, SpanBPeriod) / Sum(거래량, SpanBPeriod),
(Max(고가, SpanBPeriod) + Min(저가, SpanBPeriod)) / 2);
//SHIFT(spanB,25)
- 지표조건설정
ConvPeriod : 9
BasePeriod : 26
SpanBPeriod : 52
Shift : 26
---------------------
<보내주신 검색식>
input : ConvPeriod(9),BasePeriod(26),SpanBPeriod(52);
input : P(20);
var : tenkan(0),kijun(0);
var : cnt(0),sum(0),mav(0);
Array : CC[100](0);
tenkan=Iff(AccumN(v, ConvPeriod) > 0,
AccumN(((H + L) / 2) * v, ConvPeriod) / AccumN(v, ConvPeriod),
(highest(H, ConvPeriod) + Lowest(L, ConvPeriod)) / 2);
kijun = Iff(AccumN(V, BasePeriod) > 0,
AccumN(((H + L) / 2) * V, BasePeriod) / AccumN(V, BasePeriod),
(highest(H, BasePeriod) + Lowest(L, BasePeriod)) / 2);
if DayOfWeek(Bdate)< DayOfWeek(Bdate[1]) Then
{
for cnt = 99 downto 1
{
CC[cnt] = CC[cnt-1];
}
}
CC[0] = C;
if CC[P-1] > 0 Then
{
sum = 0;
for cnt = 0 to P-1
{
sum = sum+CC[cnt];
}
mav = sum/P;
if CrossUp(tenkan,kijun) Then
Find(1);
}
2025-08-01
272
글번호 192920
답변완료
문의
지표문의
엔벨로프하단선과
오늘 저가가 엔벨로프하단선과의 가격차이가 10%선인 가격을 표시하고 싶습니다.
또한
엔벨로프 하단선과
30%높은 가격에 선을 표시하고 싶습니다.
종목검색식문의
오늘 저가가 엔벨로프하단선보다 밑에 있는 종목검색식부탁드리고요.
오늘 저가가 엔베로프하단선과의 가격차이가 10%인 종목검색식도 부탁드리고요
2025-08-01
238
글번호 192918
답변완료
종목 검색식 정리
불필요한 종목 검색식을 정리하고 싶은데
정리 삭제하는 방법 부탁드립니다
2025-08-01
223
글번호 192913
2wnwn 님에 의해서 삭제되었습니다.
2025-08-01
28
글번호 192912
답변완료
수식 완성 부탁드립니다.
INPUT:
Period(20), // 장기 이동평균 기간
Period1(5), // 단기 이동평균 기간
Period2(20), // 중기 이동평균 기간
A(0); // 이격률 기준값
VAR:
maShort(0), // 단기 이동평균
maMid(0), // 중기 이동평균
maLong(0), // 장기 이동평균
Disparity(0), // 이격률
EntryPrice(0), // 매수 가격 저장
TradeOpen(FALSE), // 포지션 보유 여부
CurrTime(0), // 현재 시간 (HHMM)
ProfitRate(0), // 현재 수익률 (%)
ProfitPreserveActive(FALSE); // 수익보존 활성화 여부
// 이동평균 계산
maShort = MA(C, Period1);
maMid = MA(C, Period2);
maLong = MA(C, Period);
// 이격률 계산
Disparity = (maShort - maMid) / C * 100;
// 현재 시간 구하기 (HHMM)
CurrTime = TIME;
// --- 매수 조건 (09:00 ~ 11:40) ---
IF (CurrTime >= 900) AND (CurrTime <= 1140) THEN
BEGIN
IF (TradeOpen = FALSE) AND
// 이동평균 조건 (골든크로스 예시)
(C > maLong) AND (C[1] <= maLong[1]) AND
(maMid > maMid[1]) AND
(maMid[1] < maMid[2])
AND
// 이격률 조건
(Disparity > A) AND (Disparity[1] <= A)
THEN
BEGIN
BUY;
EntryPrice = C; // 진입가 기록
TradeOpen = TRUE;
ProfitPreserveActive = FALSE; // 새 거래 시작 시 초기화
END;
END;
// --- 포지션 오픈 상태에서 익절 / 손절 / 수익보존 / 강제매도 체크 ---
IF TradeOpen = TRUE THEN
BEGIN
ProfitRate = (C - EntryPrice) / EntryPrice * 100;
// 익절: +5% 이상 도달 시 매도
IF ProfitRate >= 5 THEN
BEGIN
SELL;
TradeOpen = FALSE;
ProfitPreserveActive = FALSE;
END
// 손절: -3% 이하 도달 시 매도
ELSE IF ProfitRate <= -3 THEN
BEGIN
SELL;
TradeOpen = FALSE;
ProfitPreserveActive = FALSE;
END
ELSE
BEGIN
// 수익보존 활성화 조건: 수익률이 1.2% 이상 도달한 경우
IF ProfitPreserveActive = FALSE AND ProfitRate >= 1.2 THEN
BEGIN
ProfitPreserveActive = TRUE;
END;
// 수익보존 조건: 수익보존 활성화 후 수익률이 1.2% 미만으로 떨어지면 매도
IF (ProfitPreserveActive = TRUE) AND (ProfitRate < 1.2) THEN
BEGIN
SELL;
TradeOpen = FALSE;
ProfitPreserveActive = FALSE;
END;
// 강제 매도: 15:10에 무조건 매도
IF CurrTime = 1510 THEN
BEGIN
SELL;
TradeOpen = FALSE;
ProfitPreserveActive = FALSE;
END;
END;
END;
2025-07-31
306
글번호 192911
행복사랑채 님에 의해서 삭제되었습니다.
2025-07-31
0
글번호 192910
답변완료
일봉 음봉
더운날씨에 수고가 정말 많으십니다.
1, 일봉상 음봉을 검색 할 수 있을 까요?
없다면 따로 수식을 부탁 드립니다.
2.
일봉상 시가 대비 종가가 등락률이 2% 미만인 종목을 찾고 싶습니다. 등락률은 input 로 변경 가능하게 부탁드립니다.
1. 과 2 각각 부탁드립니다. 감사합니다.
2025-07-31
216
글번호 192909
답변완료
종목검색식 부탁드립니다
1. 아래수식을 참조(일봉기준)하여,
수식2) 가 주봉 20 이평(단순) 돌파할때 검색식 부탁드려요.
2. 아래수식을 참조하여(일봉기준),
주봉 20이평 (단순) 밑에서, 수식1) 이 수식2) 를 골든크로스
할때 종목검색식 부탁드려요.(단, 0봉전~10봉전 모든종목)
3. 수식1) 이 전일대비 상승할때 종목검색식 부탁드려요
4. 수식2) 가 전일대비 상승할때 종목검색식 부탁드립니다.
--------아래-----
(수식1)
tenkan=If(Sum(거래량, ConvPeriod) > 0,
Sum(((고가 + 저가) / 2) * 거래량, ConvPeriod) / Sum(거래량, ConvPeriod),
(Max(고가, ConvPeriod) + Min(저가, ConvPeriod)) / 2);
(수식2)
kijun = If(Sum(거래량, BasePeriod) > 0,
Sum(((고가 + 저가) / 2) * 거래량, BasePeriod) / Sum(거래량, BasePeriod),
(Max(고가, BasePeriod) + Min(저가, BasePeriod)) / 2);
(수식3)
shift(close,-25)
(수식4)
spanA = (tenkan + kijun) / 2;
//SHIFT(spanA,25)
(수식5)
spanB = tenkan=If(Sum(거래량, SpanBPeriod) > 0,
Sum(((고가 + 저가) / 2) * 거래량, SpanBPeriod) / Sum(거래량, SpanBPeriod),
(Max(고가, SpanBPeriod) + Min(저가, SpanBPeriod)) / 2);
//SHIFT(spanB,25)
- 지표조건설정
ConvPeriod : 9
BasePeriod : 26
SpanBPeriod : 52
Shift : 26
2025-08-01
263
글번호 192908
답변완료
kospi200 현물
kospi200 현물의 주체별 순매수 데이터는 없나요? 참조데이터에도 없고 사용자함수 등으로 출력할 수도 없는건가요?
2025-07-31
225
글번호 192907