커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4328
글번호 230811
답변완료
시작시간 오류
아래 수식을 사용 중입니다.
시작시간 변화를 주기 위해 진입시간 조절을 사용 중인데
10시 진입설정에는 9월 20일에 진입하는데(첨부1)
11시 진입설정에는 9월 20일에 진입하지 않습니다(첨부2)
시뮬레이션 해보니 09시에서 10시까지는 100프로 반응하는데
11시이후부터는 반응이 없고 어쩌다 한 두번 진입합니다.
시간 변경에 모두 반응하는 수식이 되게 살펴주세요
고맙습니다.
***********************************************************************
input : 상승(0.65), 하락(0.65), 상승청산(0.75), 하락청산(0.75), 진입시작(090000), 진입종료(130000);
var : entry(false);
if Bdate != Bdate[1] Then
entry = false;
if stime >= 진입시작 and stime < 진입종료 then{
if entry == false and Bdate == Bdate[1] and HighD(0) > HighD(0)[1] and HighD(0)-LowD(0) >= 상승 Then{
entry = true;
buy("b");
}
if entry == false and Bdate == Bdate[1] and Lowd(0) < LowD(0)[1] and HighD(0)-LowD(0) >= 하락 Then{
entry = true;
sell("s");
}
}
if MarketPosition == 1 and C <= EntryPrice-상승청산 then
ExitLong("bx");
if MarketPosition == -1 and C >= EntryPrice+하락청산 then
ExitShort("sx");
2017-09-21
127
글번호 112942
답변완료
청산문의드립니다.
input : len(0.50);
# 진입전략
var1 = DayHigh(1)-DayLow(1);
if NextBarOpen > OPen Then
buy("두번째매수", atstop, nextbarOpen + var1*len);
if NextBarOpen < OPen Then
sell("두번째매도", atstop, NextBarOpen - var1*len);
이 수식에 손절5틱은 봉 완성시 청산
목표30틱은 조건만족시 청산
외부변수로 부탁합니다.
감사합니다.
2017-09-21
125
글번호 112941
답변완료
부탁드립니다..
n봉고가 돌파 수식 - ValueWhen(1, Date!=Date(N), H)
n봉저가 붕괴 수식 - ValueWhen(1, Date!=Date(N), L)
키움용 수식인데 예스에서 구현하게 해주세요.
n값은 제가 지정하게 해 주시고요.
n봉 고가를 돌파할때 매수
n봉 저가를 붕괴할때 매도
시스템도 부탁드립니다..
2017-09-21
161
글번호 112940
답변완료
수식 요청 드립니다.
항상 도움 주심에 감사드립니다.
하루에 각 경우별 1번씩
1% 떨어지면 1차 매수, 2% 떨어지면 2차 매수, 3% 떨어지면 3차 매수, 4% 떨어지면 4차 매수하였다가 (경우마다 매수가 반복되는 것을 막는 것이 목표입니다. 하루 총 4번 매수면 끝~!)
다음날도 똑같이 4차 매수까지 있을 수 있고 (계속 피라미딩)
그러다가 어느날 평단가보다 높고, 전일 종가대비 30% 오른날 전체 청산하도록 요청드려요.
대단히 감사드립니다.
2017-09-21
109
글번호 112939
답변완료
볼린져 상한 매매 수식부탁드립니다.
최근 주가가 10일이내 종가가 상한선을 뚤지 않다가 상한선을 뚫을때 매수
매수할떄 거래량은 전봉보다 크고 시가대비종가 5%이상 볼린져안에서 횡보할떄 주가등락이 10%이내 횡보할것
청산은 3%익절
손절 종가가 볼린져상한선 이탈시 손절
2017-09-21
172
글번호 112938
답변완료
수식이 맞는지 확인좀 부탁합니다.
아래 수식에서 하단의 매도2 수식 "추가진입 조건" 적용이 안됩니다.
차트상에서는 확실히 추가진입조건을 만족하는데 신호 발생은 안되는군요.
추가진입 조건식에 어떤 문제가 있는지 확인좀 부탁드립니다.
추가진입 조건식을 삽입한 의도는
Condition1 의 조건과 Condition2의 조건을 하나의 봉에서 동시에 만족하지않고
시간차를 두고 서로 다른 봉에서 각 각 만족하더라도 진입하기 위해서입니다.
input : P(20),Period(20), D(2);
Var : BBup(0),BBdn(0),T(0),T1(0),T2(0);
value = 0;
BBup = BollBandUp(Period,D);
BBdn = BollBandDown(Period,D);
value10 = (highest(H,52)+lowest(L,52))/2;
value11 = BollBandUp(Period,D);
value12 = BollBandDown(Period,D);
if CrossUp(H,BBup) Then
T = 1;
if CrossDown(L,BBdn) Then
T = -1;
if BBup >= BBup[1] Then
T1 = 1;
if BBup <= BBup[1] Then
T1 = -1;
if BBdn >= BBdn[1] Then
T2 = 1;
if BBdn <= BBdn[1] Then
T2 = -1;
if T == 1 and T1 == 1 and T2 == -1 and countif(C<O,2) >= 2 Then {
sell("매도",OnClose);
}
#추가 진입 조건
Condition1 = H >= Value11;
Condition2 = Value11[1] >= Value11 and countif(C<O,2) == 2 and C > Value10 ;
if Condition1 == true and Condition2 == true Then
sell("매도2",OnClose);
2017-09-20
115
글번호 112937
답변완료
부탁 드립니다.
도움주심에 감사 드립니다.
1)
월요일의 해선 시간(15:00)부터
거래량의 합계(현재 요일의 현재 시각 까지_가능하다면 지정한 요일의 지정한 시각 까지 )에서
2)
위와 같은 방법으로 (위와 같이 월요일 부터 현재 시각까지_지정한 요일의 지정한 시각까지)
1주전의 거래량 합계
2주전의 거래량 합계
3주전의 거래량 합계
.
.
.
n주전의 거래량 합계중에서
3) 위와 같이(지정된 일시, 시각 동안에)
n주 기간 동안의 거래량의 평균
n주 기간 동안에서 최대 거래량
n주 기간 동안에서 최소 거래량
현재 주간의 거래량을
text로 나타 내고 싶습니다.
미리 감사 드립니다.
2017-09-21
126
글번호 112936
답변완료
다시부탁드립니다
아래식에서
진입하여 청산하고
손실이100틱이상이면 다음신호는 진입하지않게 수정부탁합니다
(진입중에는 손실이100틱이어도 강제청산하진 않습니다)
Input : shortPeriod(30),longPeriod(500);
value1 =wma(C, shortPeriod);
value2 = wma(C, longPeriod);
var : HH(0),LL(0);
var : cnt(0),count(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
if count < 30
Then{
if stime >= 102000 and stime < 152000 Then{
# 매수/매도청산
If CrossUP(value1, value2) Then
{
buy();
}
# 매도/매수청산
If CrossDown(value1, value2) Then
{
sell();
}
}
}
2017-09-20
106
글번호 112935
답변완료
수식좀 부탁드립니다.
아래수식에서
이평선 크로스 스위칭시에 청산시점과 진입시점을 분리하여 실행하도록 하고
지정시간에 남은잔량모두 자동청산되도록 수식작성 부탁드립니다.
청산은 2번째봉종가완성시 시장가자동청산되고 난후
진입은 3째봉종가완성시에 시장가자동진입되도록 수정하고
지정시간에 남은잔량 모두 자동청산된후
시스템을 재시작하지 않으면 재진입되지 않도록
(= 시스템을 재시작해야 자동진입 되도록)
수식추가 부탁드립니다
(예를들면 지정시간은 2017년 9월20일 05시 55분으로 정한다면)
input : 진입계약수(5);
var : T(0),B(0),S(0);
var1 = ma(c,5);
var2 = ma(c,20);
if crossup(var1,var2) Then
B = 0;
if CrossDown(var1,var2) Then
S = 0;
if var1 > var2 Then{
B = B+1;
if B == 3 Then
buy("매수진입",OnClose,def,진입계약수);
}
if var1 < var2 Then{
S = S+1;
if S == 3 Then
sell("매도진입",OnClose,def,진입계약수);
}
if MarketPosition == 1 Then{
ExitLong("1차매수익절",atlimit,EntryPrice+PriceScale*321,"",1,1);
}
if MarketPosition == -1 Then{
ExitShort("1차매도익절",atlimit,EntryPrice-PriceScale*321,"",1,1);
}
2017-09-20
105
글번호 112934