커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8162
글번호 230811
답변완료
수식 부탁 드립니다
항상 수고 많으십니다.
아래와 같이 수식을 부탁합니다.
1.매수조건
5이평이 10 이평을 크로스하면 1계약 매수
수익률이 -5%이상 손실중이고, 5이평이 10 이평을 크로스하면 (보유수량 * 2)배로 추가매수한다.
2.청산조건 [수익시만 청산]
계좌수익이 5% 이상 수익이면 전량 청산한다.
2016-10-19
158
글번호 103098
답변완료
50128번 재질문
50128번 답변에 대한 추가 질문입니다.
한 절반정도만 이해가 되는거 같습니다.
1) 어제 미국장의 결과에 따라서 매매를 해야하니, 연결선물의 날짜와 다우의 최근봉의 date가 같을때"가 아니라 다우의 최근 날짜가 하루 전날일때 매매를 하도록 짜는게 맞지 않는지요?
- 즉, "if data1(sdate) == data2(date) Then" 이 아니라
"if data1(sdate) - data2(date) == 1 Then" 과 같은 식으로 써야 하는건 아닌지요?
근데 이렇게 날짜와 날짜를 빼는게 가능한건가요?
2) 위 조건을 안 넣으면 전일 미국의 휴장 여부와 상관 없이 가장 가까운 봉으로 판단해서 진입한다고 했는데, 여기에 대해서 두가지 방법으로 시뮬레이션을 하고 싶습니다.
2-1) 가장 가까운 봉의 상승률을 기준으로 한다. => 이건 그냥 알려주신 식에서, 위 조건만 삭제하면 되는 거겠죠?
2-2) 어제 장이 안 열렸으니, 사실 상승률은 0으로 볼 수 있다. 그러므로 어제 장이 안열린 경우의 상승률은 0으로 가정한다. => 요걸 구현하려면 어떻게 해야할까요?
- 즉, 2-2)질문의 요지는. 어제 장이 열렸으면, 어제 상승률 값을 기준으로 하고, 어제 장이 안열렸으면 이전일의 상승률이 아니라, 그냥 0을 상승률로 보고 거래 여부를 선택하도록 하는 것입니다.
3) 마지막 추가 질문에 대해서는 그냥 공백 여부 상관 없이 가장 가까운 봉을 읽는 다는 것으로 이해가 되네요.
감사합니다.
2016-10-19
186
글번호 103096
답변완료
문의 드립니다.
까막눈이라 문의 한번 더 드려야할것 같습니다
만들어 주신 조건에서 문의 드릴께요
1.
var : A1(0),A2(0),V1(0),M1(0),cnt(0),sum(0),mav1(0);
Array : MM[50](0);
a1 = (highest(high,10)+lowest(low,10))/2 ;
a2 = A1[1];
mav1 = ma(c,5);
if bdate != bdate[1] Then{
MM[0] =0;
for cnt = 1 to 49{
MM[cnt] = MM[cnt-1][1];
}
if C > mav1 Then
Condition1 = true;
Else
Condition1 = false;
}
MM[0] = MM[0]+M;
sum = 0;
for cnt = 1 to 10{
sum = sum+MM[cnt];
}
M1 = sum/10;
V1 = 0;
for cnt = 1 to 30{
if DayClose(cnt) >= DayClose(cnt+1)*1.15 Then
V1 = V1+1;
}
if V1 >= 1 and
M1 >= 7000000000 and MM[10] > 0 and
(a1*1.1 <= MA(c,5) or a2*1.1 <= MA(c, 5)[1]) and
C <= a2 *1.005 and C >= a2 then
buy();
if MarketPosition == 1 and C < a2*0.97 Then
exitlong("bx1");
if MarketPosition == 1 and Condition1 == false and c >= mav1*1.01 Then
exitlong("bx2");
if MarketPosition == 1 and Condition1 == true Then{
exitlong("bx31",atlimit,EntryPrice*1.05,"",Floor(MaxContracts*0.5),1);
exitlong("bx32",atlimit,EntryPrice*1.10,"",Floor(MaxContracts*0.5),1);
}
이 조건에서 수익 -5% 하락시 추가매수 하려면
if MarketPosition == 1 and MaxEntries == 1 Then
buy("bb",atlimit,EntryPrice*0.95);
이것만 붙히면 되는지요~
그리고 예전에 공부할때 어려워서 포기했는데요.
예스차트에서 종목검색을 조건을 넣어서 할수 있다고 하는데 저는 어려워서
못하겠드라구요.
조건은
1.
30일 평균 거래대금 30억이상
30일중 하루라도 종가가 15% 이상인 종목
2.
10봉전 30일 거래대금 30억이상
30일중 하루라도 종가가 15% 이상인 종목
이렇게 찾는 조건식을 만들고
이걸 어떻게 해서 종목검색을 하는지 죄송합니다만 자세하게 설명좀 해주실수 있나요?
저번에도 도저히 못해서 포기했는데 이번에 알려주시면 도전해보겠습니다.
초보하서 죄송합니다 ㅜㅜ
2016-10-19
181
글번호 103095
하루4% 님에 의해서 삭제되었습니다.
2016-10-19
1
글번호 103094
답변완료
자동추세선
자동추세선 시스템트레이딩으로 신호 만들수있나요 ?
2016-10-19
308
글번호 103090
답변완료
vhf지표 문의 드립니다
추세 지표로 vhf지표가 있다고 하는데 현대선물에서는 제공되지 않네요
함수식을 알수 있을까요?
2016-10-19
167
글번호 103089
답변완료
수식문의
안녕하세요
하기 보내주신 답변은 잘 받았습니다. 다시 한 번 감사드립니다.
몇가지 궁금한 것이 있어서 메일 드립니다.
하기 확인 부탁드립니다.
1. 0 ~ 0.1(또는 -0.1)사이에서도 작동을 합니다.왜 이런지요?
첨부 파일 확인 부탁드립니다.
2. b2,b3,s2,s3 가 중복신호가 많이 발생됩니다.
어떤 신호든 최초 한 신호가 발생하고 3개 봉이내에서 다른신호가 발생할 경우
무시할 수 있는지요?
검토 부탁드립니다.
3. 10:56 조금 시나서 MACD 선과 MACD signal 선 교체가 이루어지고 조건이 충족하는데
매수 진입이 되지 않고 있다가, 다른 신호 매도 진입이 들어갑니다....
왜 이런건가요? 확인 부탁드립니다.
4. 10월 14일 07:59 전에 MACD 선과 MACD signal 선 교체가 이루어지고 조전이 충족되는데..
매도 진입이 되지 않고 있다가, 다른 신호 매수 진입이 들어갑니다...
확인 부탁드립니다.
--------------------------------------
안녕하세요
예스스탁입니다.
문의하신 내용은 MACD가 MACD시그널을 상향돌파할때 매수하는데
MACD와 MACD시그널이 모두 -0.1위에 있을때라는 내용입니다.
- 0 과 0.1(또는-0.1) 사이에서의 MACD 선과 MACD signal 선의 교체는 무시합니다.
그런데 추가로 적으신 내용에는 0~-0.1사이에는 신호가 나오지 않게 되어 있습니다.
해당식 MACD와 MACD시그널이 단순 특정값이상이나 이하로 지정하시면 되므로
아래식에서 조건식 원하시는 부등호 방향으로 조정하시기 바랍니다.
1.
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);
ADXV = ADX(P);
DP = Diplus(P);
DM = DiMinus(P);
BBup = BollBandUp(BBP,dv);
BBdn = BollBandDown(BBP,dv);
mav = ma(C,MAP);
MACDV = MACD(short,long);
MACDS = ema(MACDV,sig);
if crossup(ADXV,20) Then{
if DP > DM and dp < 25 Then
buy("b1");
if DP < DM and dm < 25 Then
sell("s1");
}
if MarketPosition == 1 and IsEntryName("b1") == true Then{
if CrossDown(DP,DM) Then
ExitLong();
}
if MarketPosition == -1 and IsEntryName("s1") == true Then{
if CrossUp(DP,DM) Then
ExitShort();
}
if CrossUp(BBdn,mav) and countif(crossdown(BBdn,mav),10) < 1 and DP < 40 Then
buy("b2");
if CrossDown(BBup,mav) and countif(CrossUp(BBup,mav),10) < 1 and DM <40 Then
sell("s2");
if MarketPosition == 1 and IsEntryName("b2") == true Then{
if CrossDown(DP,DM) Then
sell("rs1");
if CrossDown(C,mav) Then
sell("rs2");
}
if MarketPosition == -1 and IsEntryName("s2") == true Then{
if crossup(DP,DM) Then
Buy("rb1");
if Crossup(C,mav) Then
buy("rb2");
}
if crossup(MACDV,MACDS) and MACDV >= -0.1 and MACDS >= -0.1 Then
buy("b3");
if CrossDown(MACDV,MACDS) and MACDV <= -0.1 and MACDS <= -0.1 Then
Sell("s3");
2016-10-19
284
글번호 103086
답변완료
수식문의 드립니다
수고하십니다.
수식 몇가지 질문드립니다.
1.
a1 = (highest(high,10)+lowest(low,10))/2 ;
a2 = (highest(high,10,1)+lowest(low,10,1))/2 ;
키움수식 기준 입니다.
매수조건.
전일기준 30봉 이내에서 전일종가대비종가가 15%가 한번이라도 나온종목
전일기준 15일동안 평균 거래대금 70억이상
(a1*1.1 <= MA(c,5) or a2*1.1 <= MA(c, 5, 1))
and 당일저가 <= a2 *1.005
and c >= a2
손절조건
C < a2*0.97
수익조건
당일시가가 MA(c,5) 보다 낮을때 MA(c,5)*1.01 매도
당일시가가 MA(c,5) 보다 높을때 5% 절반매도 10% 전량매도
2.
매수조건
전일기준 30봉 이내에서 전일종가대비종가가 15%가 한번이라도 나온종목
전일기준 10일 평균거래대금 50억이상
and
MA(c,20)*1.1 <= MA(c,10) 또는 MA(c,20,1)*1.1 <= MA(c,10,1)
and
당일저가 < (avg(c,5) + avg(c,20)) / 2
and
(MA(c,20)*1.1 < MA(c,5)
or MA(c,20,1)*1.1 < MA(c,5,1)
or (MA(c,20) < MA(c,5) and MA(c,20) >= MA(c,5)))
and
!(당일기준 10이평 하락추세 2회이상)
and
당일기준 5이평 하락추세 1일이상
-5% 추가매수
손절조건
MA(c,20)*0.99 >= c
수익조건
당일시가가 MA(c,5) 보다 낮을때 MA(c,5)*1.01 매도
당일시가가 MA(c,5) 보다 높을때 5% 절반매도 10% 전량매도
3.
매수조건
전일 기준 2일 평균거래대금 75억이상
and
[{c(2) > ((highest(high,10,2)+lowest(low,10,2))/2)
and c(3)*1.15 < c(2) and 시가*0.8 < C }
or
{c(1) > ((highest(high,10,1)+lowest(low,10,1))/2)
and c(2)*1.15 < c(1)}]
and 당일저가 <= ((highest(high,10)+lowest(low,10))/2)*1.01
and c > ((highest(high,10)+lowest(low,10))/2)
손절기준
-3% 매도
수익매도
제가 시스템을 잘 몰라서 그런데요
당일 수익조건이 되지 않으면 익일조건을 틀리게 해서 설정할수 있는지요
예를 들어 당일 수익매도조건이 5% 이면
당일 5% 수익이 도달하지 않았을경우
익일 시가가 갭상승일때 5% 절반 10% 나머지매도
갭하락일때 시가 전량매도
가능하지 않으면 수익분할 5% 10% 매도로 식 부탁드립니다
그리고 차트에는 당일저가라고 표현했는데 봉이 진행중에 표시가 되나요?
아니면 완성으로 나오나요?
저는 진행중에 매수를 하고 싶은데요
감사합니다....
2016-10-19
202
글번호 103083
답변완료
예비신호
예스랭귀지의 예비신호(미완성신호)에 의하여 예스스팟 구현이 가능 한가요?
2016-10-19
170
글번호 103076