커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1739
글번호 230811
답변완료
N일간 N거래대금 이상인 거래일이 N회 이상인 종목
감사합니다
전일기준
N일간
N거래대금 이상인 거래일이
N회 이상인 종목
예)
전일기준
60일간 거래대금이
백억이상이었던 날이 3회 이상인 종목을 찾는 검색식을 부탁합니다
2021-02-25
804
글번호 146649
답변완료
감사합니다....복받으실꺼에요~~~
안녕하세요?
늘 감사합니다.
문의 드립니다.
1.
아래 수식중 진입신호에 의해 진입된후
청산식에서
다음봉이 진행중일 때 강제 청산처럼 바로 해당비율로 청산되는 식으로 변경 부탁드립니다.
지금상태는 진입후 다음봉이 완성되고, 다음 봉에서 청산됩니다. 해서 수익이 발생해도 봉이 완성되지 않아 손실로 마무리 되는 경우가 있습니다.
고맙습니다.
2.
1일 1회로 진입제한이 되어 있는데,
전략에 보여지는 봉수(300) 안에 24일날 진입청산이 되어 있으면 25일 진입을 하지 않습니다.
그렇다고 전략의 봉의 갯수를 줄이면 전일 종가가 전략에 표시되지않아 다른곳에서 진입을 합니다.
해결 방법이 없을까요?
var: T1(0),ENTRY(0);
if Bdate != Bdate[1]Then
T1 = TotalTrades[1];
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
////////////////////////////////////////////
Input : shortPeriod(5), longPeriod(20);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
if DayOpen >= DayClose(1) and Value1 < c Then
{
if entry < 1 Then
Buy("매수");
Else ExitShort();
}
# 매도청산
If CrossDown(c , value1) Then
{
if entry < 1 Then
Sell("매도");
Else ExitLong();
}
if MarketPosition == 1 Then
{
ExitLong("bx1",AtStop,EntryPrice*1.03,"",Floor(MaxContracts*0.25),1);
ExitLong("bx2",AtStop,EntryPrice*1.04,"",Floor(MaxContracts*0.25),1);
ExitLong("bx3",AtStop,EntryPrice*1.05,"",Floor(MaxContracts*0.25),1);
ExitLong("bx4",AtStop,EntryPrice*1.06,"",Floor(MaxContracts*0.25),1);
ExitLong("bx5",AtStop,EntryPrice*1.07);
if Highest(H,BarsSinceEntry) >= EntryPrice*1.01 Then
ExitLong("bx",AtStop,Highest(H,BarsSinceEntry)*0.96);
}
2021-02-25
970
글번호 146648
답변완료
지표 질문입니다
바닥 포함 7캔들 고가를 그린다
천정 포함 7캔들 저가를 그린다
7캔들내 음봉 고가 가운데 2번째 높은 음봉 고가를 그린다
7캔들내 천정 포함 우측으로 3번째 음봉 고가를 그린다
7캔들내 양봉 저가 가운데 2번째 낮은 양봉 저가를 그린다
7캔들내 바닥 포함 우측으로 3번째 양봉 저가를 그린다
감사합니다
2021-02-25
834
글번호 146642
답변완료
문의 2가지
첫번째)
kospi선물
if 미결제 이동평균선 5 crosss up 미결제 이동평균선 10 and
거래량 이동평균선 5 crosss up 거래량 이동평균선 10 then
buy();
두번째)
첨부파일은 아래수식으로 시뮬레이션한 결과입니다.
리버스 거래를 원해서 조합해보았는데
buy는 피라미딩이 3개가 되는데
sell 진입은 피라미딩이 되지 않습니다.
동일한 컨셉의 리버스 거래를 원합니다.
수식 살펴주세요.
input : 일(0.30),이(0.30),삼(0.30);
input : 사(0.30),오(0.30),육(0.30);
var : b1(0,Data2),b2(0,data3),gap1(0,Data2);
b1 = Data2((C-CloseD(1))/CloseD(1)*100);
b2 = Data3((C-CloseD(1))/CloseD(1)*100);
gap1 = b1-b2;
if MarketPosition == 0 and gap1 > 일 then
buy("b1");
if MarketPosition == 1 and MaxEntries == 1 and gap1 > 이 then
buy("b2");
if MarketPosition == 1 and MaxEntries == 2 and gap1 > 삼 then
buy("b3");
if MarketPosition == 0 and gap1 < 사 then
Sell("s1");
if MarketPosition == 1 and MaxEntries == 1 and gap1 < 오 then
Sell("s2");
if MarketPosition == 1 and MaxEntries == 2 and gap1 < 육 then
Sell("s3");
2021-02-25
743
글번호 146641
답변완료
문의드립니다
> if MarketPosition <= 0 Then
{
if 조건수식 Then
{
if CurrentContracts < 1 Then
buy("매수1",OnClose,def,1);
}
Else
{
if 조건수식2 and CurrentContracts < 2 Then
buy("매수2",OnClose,def,1);
}
}
조건수식2 를 특별하게 적용하려고 합니다
예) 이평선이
진입조건 수식100 (mav800 < mav700 and mav700 < mav600 and mav600 < mav500 and mav500 < mav400) 이 만족할 때 진입을 하지 않고
수식100 이 아닌 경우만 수식200 (mav5[2] < mav5[1] and mav5[1] < mav5)을 만족할 때 진입하고자 합니다
예) 수식100(mav800 < mav700 and mav700 < mav600 and mav600 < mav500 and mav500 < mav400) ???????????????? 수식200(mav5[2] < mav5[1] and mav5[1] < mav5) 수식이 있다면
즉 ???????을 어떻게 표기하여야 하나요
2021-02-25
732
글번호 146637
베어샘 님에 의해서 삭제되었습니다.
2021-02-25
364
글번호 146636
답변완료
연속된 신호 제어방법
안녕하십니까?
예를 들어 5일선을 crossup할 때 매수, crossdown할 때 매도하는 시스템식을 작성하여
손절 익절을 설정한 뒤 시물레이션을 해보면 손절되거나 익절된 후 다음 봉에 이전봉에
진입되었던 같은 신호가 연속 발생하여 잦은 매매가 되는데 연속되는 봉에서는 신호가 발생하지 않도록 제어하는 방법이 없을까요? 홀수번째만 신호가 발생하게 한다거나 하는 방법 등
2021-02-25
817
글번호 146635
답변완료
문의드립니다
안녕하세요
항셍 시가.고가.저가라인 지표부탁드립니다
한국시간기준 10시15분 장시작 기준으로 시가 고가 저가 라인
볼수있는 지표 부탁드립니다
2021-02-25
847
글번호 146634
답변완료
종목검색
안녕하세요.항상 감사합니다.
아래의 수식 만들어 주셨는데요..
일봉으로 종목검색 사용해보니 전혀 검색이 되지 않습니다..ㅜ
==================================================================
수식의 주석 참고하시기 바랍니다.
이평골드구간에서 상승하던 5이평이 하락해서 20이평대비 1틱 이내 접근한후에
현재봉은 5이평이 20이평대비 3% 이상 큰 경우를 지정한 식입니다.
input : P1(5),P2(20),N(1);
var : T(0),mav1(0),mav2(0),hh(0),hl(0),hm(0);
mav1 = ma(C,P1);
mav2 = ma(C,P2);
#골드구간은 1
if mav1 > mav2 Then
T = 1;
#데드구간은 -1
if mav1 < mav2 Then
T = -1;
#골드구간이고
if T == 1 Then
{
#골드 첫봉
if T != T[1] Then
{
#골드이후 최고가저장할 변수에 초기값으로 5이평값 저장
HH = mav1;
#최고가이후 최저가 저장할 변수에 초기값으로 5이평값 저장
HL = mav1;
#최고가이후 최저가일떄 20이평을 저장할 변수에는 초기값으로 20이평값 저장
HM = mav2;
}
Else
{
#5이평 최고가 갱신
if mav1 > HH Then
{
#hh값에 현재5이평저장
HH = mav1;
#최고가이후 최저가 저장할 변수값은 현재봉 5이평으로 초기화
HL = mav1;
#최고가이후 최저가일때 20이평을 저장할 변수에는 현재봉 20이평값으로 초기화
HM = mav2;
}
Else
{
#5이평 최고가이후 최저가 갱신
if mav1 < HL Then
{
#hl에 현재5이평저장
HL = mav1;
#hl에 현재20이평저장
HM = mav2;
}
}
}
if mav1 < HH and #최고가보다 현재 5이평이 작고
HL < HH and #최고가보다 이후 최저가가 작고
hl <= hm+PriceScale*1 and #최고이후최저가는 그때의 20이평대비 1틱 이내이고
mav1 > hl and #현재이평은 최고이추최저가보다는 크고
mav1 >= mav2*1.03 Then #현재이평이 20이평보다 3%이상 크
find(1);
}
2021-02-25
999
글번호 146627