커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4611
글번호 230811
답변완료
문의
전고점 전저점 을 수평으로 선을 긋고 싶습니다
전저점이 형성되면 수평으로 선을 긋되 전고점이 형성되는곳까지
전고점이 형성되면 수평으로 선을 긋되 전저점이 형성되는곳까지
수고하세요~~
2016-06-08
110
글번호 98856
답변완료
재문의
input : per(5),n(5),X(10),short(12),long(26),sig(9);
var : macdv(0),macds(0);
var1 = ma(C,5);
var2 = ma(C,20);
var3 = ma(C,60);
value1 = highest(var2,n);
value2 = lowest(var2,n);
value3 = highest(H,X);
value4 = lowest(L,X);
MACDV = MACD(short,long);
MACDS = ema(MACDV,sig);
#전일기준 5이평 n일 최고값이 최저값 대비 per%이상이고
#n일 연속 하락
if value1[1] >= value2[1]*(1+Per/100) and
countif(var2 < var2[1],n) == n Then{
#5-20 골드
if crossup(var1,var2) Then
buy();
#20 > 60 상태에서 5-20 골드
if var2 > var3 and crossup(var1,var2) Then
buy();
#5 < 20 상태이고 주가는 상승전환, 종가는 n일 최고가와 최저가 사이
if var1 < var2 and C > C[1] and C[1] < C[2] and value3 > C and C > value4 Then
buy();
}
if MarketPosition == 1 Then{
#5< 20 인 상태에서 n일최저가 하향이탈
if var1 < var2 and CrossDown(c,value4[1]) Then
exitlong();
#MACD데드크로스
if CrossDown(MACDv,MACDS) Then
ExitLong();
}
즐거운 하루되세요
> 상큼한아침 님이 쓴 글입니다.
> 제목 : 수식부탁합니다
> 종목검색식
직전5거래일동안 20이평선의 등락률이 -n%이상이고 n거래일동안 하락중인 종목검색식.
시스템식
매수조건- 1).검색조건을 충족하고 5이평선이 20이평선을 상향돌파하면 매수
2).20이평이 60이평보다크고 5이평선이 20이평선을 상향돌파하면 매수
3).5이평선이 20이평선을 하향돌파하고 주가가 전고점과 전저점 사이에서
상승반전하면 매수
매도조건- 1).5이평선이 20이평선을 하향돌파하고 주가가 전저점을 하향이탈하면 매도
2).MACD가 데드크로스면 매도
주석까지 부탁합니다
위의 매수식은 매수조건이 3항목이 있는데 3항목 모두 충족한 매수식인것 같습니다
저의 의도는 3개항 각각 개별 충족한 매수식입니다 설명이 맞나 모르겟네요~~
수정부탁합니다~~
수고하세요~~
2016-06-08
114
글번호 98854
답변완료
문의드립니다.
안녕하세요~!!
수고가 많습니다~!!
15분봉 기준으로,
하루 첫 15분봉의 고가 저가를
다음 봉부터 장 종료시까지 하루종일 깨지 않은 날
즉, 첫봉의 고가를 상향돌파하지 않고, 첫봉의 저가를 하향돌파하지 않는 날의 수를
카운트해서
20일 내에 5일 이상인 종목을 검색하는 수식을 알고싶습니다.
부탁드립니다~~^^
2016-06-08
95
글번호 98853
답변완료
문의
죄송.....
밑에수식에 하루수익틱수식부탁합니다
하루수익10틱설정시
처음에진입에수익10틱이면 청산과동시진입금지
손절시는진입횟수까지만진입....감사
1..
var : diff(0);
var : TT(0),T1(0),entry(0);
TT = TotalTrades;
if bdate != bdate[1] then
T1 = TT;
if MarketPosition == 0 Then
entry = TT-T1;
Else
entry = TT-T1+1;
diff = bids-asks;
if entry < 2 and crossup(diff,1000) Then
buy();
if CrossDown(diff,0) Then
exitlong();
if entry < 2 and CrossDown(diff,-1000) Then
sell();
if crossup(diff,0) Then
ExitShort();
2...
var : diff(0,data2);
var : TT(0,data1),T1(0,data1),entry(0,data1);
TT = TotalTrades;
if bdate != bdate[1] then
T1 = TT;
if MarketPosition == 0 Then
entry = TT-T1;
Else
entry = TT-T1+1;
diff = data2(bids-asks);
if entry < 2 and crossup(diff,1500) Then
buy();
if CrossDown(diff,0) Then
exitlong();
if entry < 2 and CrossDown(diff,-1500) Then
sell();
if crossup(diff,0) Then
ExitShort();
2016-06-08
94
글번호 98851
답변완료
문의드려요
수고하십니다.
아래식을 사용해 여러 종목으로 '시험적용"을 해보았더니
신호가 발생했다가 사라지는 현상이 계속 생깁니다.
- 예, 신호발생후 가격이 더 올라 가면 사라졌다가 동일가격 또는 더 좋은 가격으로
신호가 다시 나타나거나 아예 안나타나는 현상
(다른 예가 더 있는지는 시험적용 기간이 짧아 잘 모르겠습니다.)
실제 주문시엔 맨 처음 발생신호에 주문이 나갈텐데 말이죠...
문제가 무엇이며 보완할려면 어떻게 해야 하는지 고견 부탁드립니다.
if MarketPosition == 0 Then
buy("b1",atstop,진입가,진입수량);
if MarketPosition == 1 Then
if 청산조건1 or 청산조건2 Then
ExitLong("s1");
SetStopLoss(a);
SetStopTrailing(b,c);
2016-06-08
99
글번호 98849
답변완료
재질문드립니다
안녕하세요
예스스탁입니다.
var : idx(0);
var1 = ema(c,5);
var2 = ema(c,20);
if stime == 200000 or (stime > 200000 and stime[1] < 200000) Then
idx = 0;
if stime >= 200000 Then{
idx = idx+1;
if idx == 1 && var1 > var2
Then buy ();
Else
if CrossUp(var1,var2)
then buy();
if idx == 1 && var1 < var2
Then sell();
Else
if crossdown(var1,var2)
Then sell();
}
즐거운 하루되세요
> 비상8 님이 쓴 글입니다.
> 제목 : 수식 보완 부탁드립니다
> if DayIndex ==0 && ema(c,5)>ema(c,20)
Then buy ();
Else
if CrossUp(ema(c,5),ema(c,20))
then buy();
if DayIndex==0 && ema(c,5)<ema(c,20)
Then sell();
Else
if crossdown(ema(c,5),ema(c,20))
Then sell();
20일 이평 위면 매수 아래면 매도 돌파시 진입 코드인데요
위의 코드를 20 시부터 24시까지실행시키려 합니다
시간 보완 부탁 드립니다 ㄳ 합니다
위에 보완해주신 수식에 24시가 보이질 않네요 맞게 된것인지 다시 확인부탁 드립니다
감사 합니다
2016-06-08
96
글번호 98848
답변완료
재질문 드립니다.
앞서 작성해 주신 서식 감사합니다.
그럼 추세조건이 ma_p11 ~ ma_p17중 ma_p14를 제외한 나머지는 고정값으로 두고
ma_p14 값을 1~100 까지로 지정했을 때는 어느 부분을 수정해야 하는지도 알려 주시면
감사하겠습니다.
수정해 보려하니 계속 에러가 나서...
input:b_time1(000000), e_time1(240000);
Var: ma_p11(25),ma_p12(5),ma_p13(15),ma_p14(100),
ma_p15(10),ma_p16(20),ma_p17(15);
var : ma11(0),ma12(0),ma13(0),ma15(0),ma16(0),ma17(0);
var : j(0),매수강도(0),매도강도(0);
var : ma_P14_1(0),ma_P14_2(0),ma_P14_3(0),ma_P14_4(0),ma_P14_5(0);
var : ma_P14_6(0),ma_P14_7(0),ma_P14_8(0),ma_P14_9(0),ma_P14_10(0);
Array : ma14[11](0),추세[11]("");
ma11 = ma(C,ma_P11);
ma12 = ma(C,ma_P12);
ma13 = ma(C,ma_P13);
ma15 = ma(C,ma_P15);
ma16 = ma(C,ma_P16);
ma17 = ma(C,ma_P17);
ma_P14_1 = ma_P14+1;
ma_P14_2 = ma_P14+2;
ma_P14_3 = ma_P14+3;
ma_P14_4 = ma_P14+4;
ma_P14_5 = ma_P14+5;
ma_P14_6 = ma_P14+6;
ma_P14_7 = ma_P14+7;
ma_P14_8 = ma_P14+8;
ma_P14_9 = ma_P14+9;
ma_P14_10 = ma_P14+10;
ma14[1] = ma(C,ma_p14_1);
ma14[2] = ma(C,ma_p14_2);
ma14[3] = ma(C,ma_p14_3);
ma14[4] = ma(C,ma_p14_4);
ma14[5] = ma(C,ma_p14_5);
ma14[6] = ma(C,ma_p14_6);
ma14[7] = ma(C,ma_p14_7);
ma14[8] = ma(C,ma_p14_8);
ma14[9] = ma(C,ma_p14_9);
ma14[10] = ma(C,ma_p14_10);
매수강도 = 0;
매도강도 = 0;
If b_time1 <= Time and Time <= e_time1 Then
{
For j = 1 TO 100
{
If countif(ma11[1] < ma11 ,1) == 1
and (ma12[1] <= ma13[1] and ma12 > ma13)
and countif(ma14[j][1] < ma14[j],1) == 1
and countif(ma15[1] < ma15 ,1) == 1
and countif(ma16[1] < ma16 ,1) == 1
and countif(ma17[1] < ma17 ,1) == 1
Then
{
추세[j] = "매수추세";
}
If countif(ma11[1] > ma11 ,1) == 1
and (ma12[1] >= ma13[1] and ma12 < ma13)
and countif(ma14[j][1] > ma14[j],1) == 1
and countif(ma15[1] > ma15 ,1) == 1
and countif(ma16[1] > ma16 ,1) == 1
and countif(ma17[1] > ma17 ,1) == 1
Then
{
추세[j] = "매도추세";
}
If 추세[j] == "매수추세" Then 매수강도 = 매수강도 + 1;
If 추세[j] == "매도추세" Then 매도강도 = 매도강도 + 1;
}
If 매수강도 == 100 Then 추세[0] = "매수추세";
If 매도강도 == 100 Then 추세[0] = "매도추세";
Plot1(iff(추세[0]== "매수추세" , 100 , iff(추세[0]== "매도추세" , -100,0)));
PlotBaseLine1(0);
}
2016-06-08
124
글번호 98840
답변완료
거래량음봉양봉
안녕하세요
예스스탁 지표식중에 거래량(음봉양봉)식을 아래와 같은 조건의 식으로 만들고 싶습니다
3가지 차트(120틱,480틱,840틱)에서 동시에 거래량이 양봉일때 양봉막대표시 반대로 동시에 거래량이 음봉일때 음봉막대표시{* 3차트 동시 음봉,양봉이 아니면 막대발생없음}
부탁드립니다
그리고 거래량(음봉양봉)식도 부탁드립니다
감사합니다
2016-06-08
146
글번호 98834
답변완료
작성해주신 수식 시물레이션 해보니 이상합니다.
안녕하세요?
지난번에 해외선물을 거래를 08:00부터 거래를 시작하는데 하루에 한번만 거래를 하는
식을 아래와 같이 답변을 받아서 그식으로 테스트를 해봤는데 첨부파일 처럼 테스트
전체기간중(5/31~6/4) 한번만 거래가 됩니다. 다시한번 문의드립니다.
var : TT(0),T1(0),entry(0);
TT = TotalTrades;
if stime == 080000 and (stime > 08000 and stime[1] < 080000) Then
T1 = TT;
if MarketPosition == 0 Then
entry = TT-T1;
Else
entry = TT-T1+1;
if entry < 1 and 매수조건 Then
buy();
if entry < 1 and 매도조건 Then
sell();
2016-06-08
119
글번호 98833