커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4446
글번호 230811
답변완료
검색 코드 작성 후 디버깅 문의
안녕하세요,
시스템을 만들때는 특정 종목으로 한정되어 있어서,
MessageLog를 통해 디버깅 하는데 문제가 없었는데요,
검색 경우에는 어떤식으로 디버깅을 하면 좋을까요?
특정 종목이 검색시 노출이 되어야 하는데 안나와서
조건들을 하나하나 확인해보려 하는데, MessageLog를 쓸수 있을까요?
시험삼아 넣어봤더니 종목검색 자체가 안됩니다.
- 검색에 필요한 정보가 부족하거나 외부 입력 변수의 (짤림)
이런 메세지가 나오면서 안되네요. MessageLog 를 지우면 검색이 잘 됩니다.
감사합니다.
2017-01-23
129
글번호 106218
답변완료
수식 부탁드립니다
아래와 같은 피라미딩 시스템 청산식을 사용할 경우 그림과 같이 최초진입가에서 5p 이상인 지점에서만 청산이 이루어집니다.
만들고자 하는 청산식은
최초 진입가(buy)에서 피라미딩하여 5p 이상인 지점에서 청산이 이루어지고 또한 bs, sb지점에서 추가 진입한 후 피라미딩하여 5p 이상인 지점에서도 청산이 이루어지는 시스템입니다.
부탁드립니다
if MarketPosition == 1 Then
{
if MaxContracts < 20 and (entryprice >= LatestEntryPrice) or (entryprice <= LatestEntryPrice) Then
buy("bb",atstop,LatestEntryPrice(0)+1.5,1);
if MaxContracts < 20 Then
buy("bs",atlimit,latestEntryPrice(0)-5,1);
}
if MarketPosition == -1 Then
{
if MaxContracts < 20 and (entryprice <= LatestEntryPrice) or (entryprice >= LatestEntryPrice) Then
sell("ss",atstop,LatestEntryPrice(0)-1.5,1);
if MaxContracts < 20 Then
sell("sb",atlimit,latestEntryPrice(0)+5,1);
}
if MarketPosition == 1 Then
ExitLong("bp",atlimit,AvgEntryPrice+7.0);
if MarketPosition == -1 Then
ExitShort("sp",atlimit,AvgEntryPrice-7.0);
if MarketPosition == 1 and c > entryprice + 5 and Relative1 >= 65 Then
exitlong("bx1",AtStop,c);
if MarketPosition == -1 and c < entryprice - 5 and Relative1 <= 35 Then
exitShort("sx1",AtStop,c);
2017-01-23
131
글번호 106217
답변완료
수식 문의
안녕하세요
input : P(14),BBP(20),dv(2),MAP(60);
input : short(12),long(26),sig(9);
var : ADXV(0),DP(0),DM(0),T(0),BBup(0),BBdn(0),mav(0);
var : MACDV(0),MACDS(0),Bcond(false),Scond(False),bbmd(0),diff(0),cnt(0),count(0);
ADXV = ADX(P);
DP = Diplus(P);
DM = DiMinus(P);
bbmd = ma(c,BBP);
BBup = BollBandUp(BBP,dv);
BBdn = BollBandDown(BBP,dv);
mav = ma(C,MAP);
MACDV = MACD(short,long);
MACDS = ema(MACDV,sig);
diff = C-O;
Bcond = TotalTrades == 0 or (MarketPosition == 0 and BarsSinceExit(1) >= 4) or (MarketPosition == -1 and BarsSinceEntry >= 4);
Scond = TotalTrades == 0 or (MarketPosition == 0 and BarsSinceExit(1) >= 4) or (MarketPosition == 1 and BarsSinceEntry >= 4);
if MarketPosition <= 0 and diff+diff[1] >= PriceScale*30 Then
buy("b1");
if MarketPosition >= 0 and diff+diff[1] <= -PriceScale*30 Then
sell("s1");
상기 수식은 봉 완성 후 진입하는 것 같습니다.
수식에 맞는 가격에 도달하면 바로 진입하는 것으로 변경가능한지요?
즉 두 봉의 합이 30틱이 넘으면 31틱에서 바로 진입하는 것으로 부탁드립니다.
그리고 추가사항으로 하기 부대조건도 부탁드립니다.
1.
macd 가 macd signal보다 위에 있을때 매도 금지...
macd 가 macd signal보다 아래에 있을때 매수 금지...
2. ADX 15 이하, 35 이상에서는 상기 수식이 적용되지 않게 부탁드립니다.
ADX 15~35 사이에만 적용되게 끔 부탁드립니다.
3. 기존에 같은 방향으로 신호가 있더라도 이 수식에 한해서는,
재진입 할 수 있게 부탁드립니다. 즉 피라미딩 진입 부탁드립니다.
상기 수식에 한해서 손절은 30틱만 정하도록 부탁드립니다.
확인 부탁드립니다.
한가지 더 부탁드립니다.
어떠한 신호에 진입을 하더라도 (매도, 매수 상관없음)
진입후 10봉이 지나고,최초 진입가격 +1틱으로 오게되면 청산할 수 있는 수식 부탁드립니다.
진입가격+1틱 가격으로 오지 않는다면, 정상적인 다음 신호대기하고 포지션 유지합니다.
감사합니다.
2017-01-24
110
글번호 106216
답변완료
51460 질문에 대한 추가질문입니다
51460 질문의 요지는 일부 종목의 경우 거래량이 너무 적어서 시스템 신호가 원활하게 발생하지 않아서, 생각한것이 마지막봉 이후 60분동안 거래가 없으면 제 시스템에서 1주의 매도 신호가 자동으로 나가게 되어 최소 60분 간격으로 봉을 1개씩 만들어서 메인 시스템신호가 원할하게 작동하기 위함이었습니다.
그런데 알려주신대로 시스템에 추가로 "봉생성"기능을 추가해보니 마지막봉 이후 60분이 지나면 매도 신호가 발생해서 대기상태를 유지하다가 다음 봉 신호가 들어오면 비로소 1주 매도 신호가 나가게 되어 인위적인 봉생성 효과가 없는것으로 판단됩니다. 결국 추가적인 거래가 없을 경우에는 60분이 지나도 매도 대기상태를 계속 유지하게 되어 제가 원하는 봉생성 효과가 없었습니다.
결론적으로 다시 질문을 드립니다.
마지막 거래봉 생성후 60분이 지나면 매도대기신호가 발생하는것이 아니고, 시간베이스로 다음 봉을 기다리지 말고 즉시 1주의 매도신호가 나가게 할 수 있는 방법을 알고 싶습니다.
감사합니다.
2017-01-24
107
글번호 106215
답변완료
글로벌 예스트레이더
제가 국선은 하이투자증권이용하고
해선은 이프렌드 글로벌 예스트레이더를 이용하는데
시스템차트로하면
국선은 1년전 틱봉도 봐지는데
해선은 틱봉이 얼마 안봐지네요?
이거 길게 볼 방법없나요?
한국투자증권이 안된다면 농협이나 그런곳은 되나요?
2017-01-24
128
글번호 106213
답변완료
부탁드립니다
수고 많으십니다.
혼자서 하기 힘드네요
1. 5분선 깨고 음봉 중심을 돌파할때 신호 부탁드립니다.(그림참조)
2. macd 기준선 아래로 이탈 후 5분선깨고 음봉중심을 돌파할때 신호
3. macd 기준선 위로 돌파하고 20-60 골드 날때 신호
4. macd 데드지점 첫음봉에 신호
2017-01-24
121
글번호 106211
답변완료
부탁드립니다
수고하십니다
번호:51620 주석좀 부탁드립니다
2017-01-23
116
글번호 106210
답변완료
부탁합니다
input : ntime(300),sig(100),Period1(5),Period2(20);
var : mav1(0),mav2(0);
var1 = Accum(iff(ma(c-c[1],ntime) > 0,1,-1) * pow((ma(pow(c-c[1],2),ntime)+1),0.5)+
pow((pow(c-c[1],2) +1),0.5) * iff(c>c[1],1,-1));
var2 = ma(var1,sig);
mav1 = ma(c, Period1);
mav2 = ma(c, Period2);
if MarketPosition <= 0 and
(crossup(var1,var2) or var1 > var2 and mav1 > mav1[1]) Then
buy("b",OnClose,def,1);
if MarketPosition == 1 Then{
if var1 > var2 and mav1 > mav1[1] and CurrentContracts < 5 Then
buy("bb",OnClose,def,1);
if mav2 < mav2[1] then{
ExitLong("bx");
}
}
if MarketPosition >= 0 and
(CrossDown(var1,var2) or var1 < var2 and mav1 < mav1[1]) Then
sell("s",OnClose,def,1);
if MarketPosition == -1 then{
if var1 < var2 and mav1 < mav1[1] and CurrentContracts < 5 Then
sell("ss",OnClose,def,1);
if mav2 > mav2[1] Then
ExitShort("sx");
}
위식에 아래를 삽입하여 주세요
매수진입 후 평단가 대비 일괄 매수청산(8틱)
--- 매수청산 후 매수진입 조건이 만족하면 매수진입
매수진입후 평단가 대비 일관 손절(8틱)
---- 손절 후 위 시스템 정상 추진
매도진입후 평단가 대비 일괄 매도청산(8틱)
--- 매도청산 후 매도진입 조건이 만족하면 매도진입
매도진입후 평단가 대비 일관 손절(8틱)
---- 손절 후 시스템 정상 추진
아울러 input : 매수,매도 진입틱수, 매수, 매도 청약틱수 2가지 추가 부탁합니다
매번 감사합니다
2017-01-23
110
글번호 106208
답변완료
51614 재문의
51614의 식을 구현하면 plot4-plot9선이 안나타는데 다시한번 체크부탁드립니다
2017-01-23
106
글번호 106204