커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3405
글번호 230811
답변완료
외부 프로그램 연동
안녕하세요..
수식을 작성할 때, 외부 프로그램을 연동하여 실행된 결과를 참조하여
매수 매도가 가능하게 할수 있을지요.
이때, 단순 매수/매도 신호만 연동할수도 있고..
혹은, 매수/매도 신호뿐 아니라, 매 봉에서 계산한 값을 연동하는 방법 등도 가능할지요...
2020-04-21
625
글번호 138191
답변완료
시스템 수식전환
다음 수식을 시스템 수식전환 부탁드립니다.
매수
a=(MACD(12,26)-eavg(MACD(12,26),9));
aa=a(1)<a;
bb=eavg(C(1),3)<eavg(C,3);
조건=aa && bb;
매도
a=(MACD(12,26)-eavg(MACD(12,26),9));
aa=a(1)>a;
bb=eavg(C(1),3)>eavg(C,3);
조건=aa && bb;
2020-04-21
619
글번호 138190
답변완료
수식 문의
안녕하세요
거듭 질문드려 죄송합니다
참조 데이타는 1분봉이고 다른 종목입니다
특정시간의 봉조건을 만족하고 이후 다른 조건 만족하면 매수하려고 하는데,
전혀 매매가 되지 않네요
조언 좀 부탁드립니다
감사합니다
var: value(0,data2), nn(0);
if stime>=시간1 and stime[1]<시간1 Then
value = data2(highD(0));
if stime>=시간1 and stime[1]<시간1 and data2((closeD(0)-openD(0))/(highD(0)-lowD(0))>0.5) then
nn=1;
Else
nn=0;
if stime>시간1 and MarketPosition == 0 and nn==1 and data2(C>value) and 조건2 then
buy("b");
2020-04-21
623
글번호 138189
답변완료
매수가 안 되는 문제
아래와 같이 장후반에 매수하고, 그 다음날 장 시작 부근에 매도하는 수식입니다. (주식 매매)
전략실행차트[6101]을 이용하여 시스템식을 실행하고, 자동주문을 설정합니다.
1분봉 차트를 사용하고, 매수 함수가 호출되어서 실제 로그가 출력되는는데 매수는 되지 않습니다. 거래내역에도 나오지 않습니다.
시스템 모니터에서 보면 매수신호가 발생하였는데 실제 주문은 들어가지 않았습니다.
왜 그런지 이유를 모르겠습니다.
Input: buyTime(1515), startTime(901);
Variables: accountNum(""), deposit(0), buyCount(0), sellCount(0), stockCode(""), profit(0);
# 포지션이 있으면 청산
if (stime == startTime*100) and (sdate >= EntryDate(0) + 1) then
{
accountNum = GetAccount(0);
stockCode = GetPositionSymbol(0, accountNum);
sellCount = GetPositionQuantity(stockCode, accountNum);
profit = GetPositionOpenPL(stockCode,accountNum);
MessageLog("Sell: %.f, count: %.f, entrydate: %.f, entry price: %.f, profit: %.f", close, sellCount, EntryDate(0), EntryPrice(0), profit);
if (sellCount > 0) Then
{
MessageLog("Real Sell: %.f, count: %.f", close, sellCount);
ExitLong("Sell", OnClose, DEF, "Buy", sellCount, 1);
}
}
# 장마감 시간에 매수
if (stime == buyTime * 100) and (MarketPosition == 0) then
{
accountNum = GetAccount(0);
buyCount = floor(GetUnclearedDeposits(accountNum)/C);
MessageLog("Buy: %.f, count: %.f", close, buyCount);
if (buyCount > 0) Then
{
MessageLog("Real Buy: %.f, count: %.f", close, buyCount);
Buy("Buy", OnClose, DEF, buyCount);
}
}
2020-04-21
665
글번호 138188
답변완료
수식 부탁 드립니다
키움차트입니다
예스로 전환 부탁 드립니다
수식1
HighestSince(1, CrossUp(Trix(TR1),0), avg(C,EA1) )
수식2
LowestSince(1, CrossDown(Trix(TR1),0), avg(C,EA1) )
지표설정조건
TR 1 10
EA 1 10
2020-04-21
652
글번호 138184
답변완료
문의드립니다.
average = input (title="MA Type", type=input.string, defval="EMA",options=["EMA","SMA"])
len = input(130, minval=1, title="Length")
src = input(close, title="Source")
out = if average == "EMA"
ema(src,len)
else
sma(src,len)
slp = change(out)/out
plot (slp, color=color.white)
plot (0)
EMA를 적용하는 수식으로 변환 문의드립니다. 감사합니다.
2020-04-21
720
글번호 138183
답변완료
이평선 돌파
항상 감사합니다
당일....5분봉 차트에서
5,10,20 이평선을 동시에 모두 돌파한 봉을 찾는 검색을 하고 싶습니다.
2020-04-21
800
글번호 138182
답변완료
급하게 수식 질문드립니다.
1. 5분봉 차트에서 장시작 후 12:00까지의 5분봉 차트들의 종가를 구하고
그 종가의 평균을 구하는 법
2. 14:00의 5분봉 종가가 1번에서 구한 5분봉 평균값 이상이면 매수 진입,
이하면 매도진입.
3. 3:30분에 기존 포지션 청산
위 3개의 로직을 짜고 싶습니다.
1번부터 막혀서요.. 부탁드리겠습니다.
2020-04-21
765
글번호 138159
답변완료
기본 지표를 그대로 활용한 일간 검색식.. 작동이 제대로 안되는데 무엇이 문제일까요?
안녕하세요? 예스트레이더에 내장되어 있는 바이너리 웨이브 세븐값이 일정값을 돌파한 일봉을 찾고자 간단하게 맨뒤에 검색부분만 바꾸었는데 파워종목검색결과 상관없이 이것저것 나옵니다...
제가 식수정을 잘못한것인지.. 아니면 식 내부에서 계산되는것은 검색이 안되는건지 궁금합니다. 감사합니다.
Variables : shortPeriod(12), longPeriod(26), Period(9), maPeriod(20), ROCPeriod(12), stoPeriod1(5),
stoPeriod2(3), CCIPeriod(9),value(0),BW_SEVEN(0),value2(0);
if ema(C,shortPeriod)-ema(C,longPeriod) >= ema(ema(C,shortPeriod)-ema(C,longPeriod),Period) then
value = 1;
else
value = -1;
if C >= ma(C, maPeriod) then
value = value + 1;
else
value = value - 1;
if (C - C[ROCPeriod]) / C[ROCPeriod] * 100 >= 0 then
value = value + 1;
else
value = value - 1;
if ema((C-lowest(L, stoPeriod1)) / (highest(H, stoPeriod1) - lowest(L, stoPeriod1)) * 100, stoPeriod2)>=50 then
value = value + 1;
else
value = value - 1;
if CCI(CCIPeriod) > 0 then
value = value + 1;
else
value = value - 1;
if ema(accum(((C -L)-(H- C))/ (H-L)*V), 3) - ema(accum(((C -L)-(H- C))/(H-L)*V), 10) >=0 then
value = value + 1;
else
value = value - 1;
if SAR(0.02,0.2) < C then
value = value + 1;
else
value = value - 1;
BW_SEVEN = value;
If CrossUp(BW_SEVEN,2) Then value2 = 1;
Else
value2 = 0;
Find(value2);
2020-04-21
761
글번호 138157