커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6404
글번호 230811
답변완료
지표와 종목검색식 수정 문의드립니다.
1. 먼저 지표 수식인데요. 1차 고점보다 2차 고점이 높아야합니다. 2차저점은 1차 저점보다 높아야합니다. hh[n] < hh[x] 이렇게 해야할지 어떻게 해야할지 모르겠네요.
Input : Period(20), Percent(3);
var : UPline(0),DNline(0),cnt(0),TL1(0),TL2(0),TL3(0),TL4(0);
Array : HH[10](0),HD[10](0),HT[10](0);
Array : LL[10](0),LD[10](0),LT[10](0);
UPline = EnvelopeUp(Period, Percent);
Dnline = EnvelopeDown(Period, Percent);
#고가가 상단선 돌파
if crossup(H,upline) Then{
#상단 위 최고가의 기준값
HH[0] = H; #고가저장
HD[0] = sdate; #날짜 저장
HT[0] = stime; #시간저장
#최고가 이후 최저가의 기준값
LL[0] = L; #저가저장
LD[0] = sdate; #저가날짜저장
LT[0] = stime;
#이전의 값들
for cnt = 1 to 9{
HH[cnt] = HH[cnt-1][1];
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
}
}
#고가가 상단선 위해서 최고가 갱신
if H > upline and H > HH[0] Then{
#최고가값과 날짜 시간을 현재봉으로 변경
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
#최고가 이후 최저가의 기준값과 날짜 시간 현재봉으로 변경
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
HH[1] < HH[0];
}
#최저가가 갱신되면 최저가 값과 날짜시간 변경
if L < LL[0] Then{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
}
TL_Delete(TL1);
TL_Delete(TL2);
TL_Delete(TL3);
TL_Delete(TL4);
#고가가 상단밴드 위에 있는 경우에는
#직전과 전전을 기준으로 그림
if H > upline Then{
TL1 = TL_New(HD[1],HT[1],HH[1],LD[1],LT[1],LL[1]);
TL2 = TL_New(LD[2],LT[2],LL[2],HD[1],HT[1],HH[1]);
TL3 = TL_New(HD[2],HT[2],HH[2],LD[2],LT[2],LL[2]);
TL4 = TL_New(LD[3],LT[3],LL[3],HD[2],HT[2],HH[2]);
}
Else{ #고가가 상단밴드 아래있는 경우에는 최근과 직전을 연결해 그림
TL1 = TL_New(HD[0],HT[0],HH[0],LD[0],LT[0],LL[0]);
TL2 = TL_New(LD[1],LT[1],LL[1],HD[0],HT[0],HH[0]);
TL3 = TL_New(HD[1],HT[1],HH[1],LD[1],LT[1],LL[1]);
TL4 = TL_New(LD[2],LT[2],LL[2],HD[1],HT[1],HH[1]);
}
2. 종목검색식입니다.
1차고점보다 2차고점이 높아야 하며, 그리고 현재가가 2차고점을 돌파해야합니다. 1차저점보다 2차저점이 높아야 합니다.이런 파동이 발생한지 30봉이내로 검색하고싶습니다. 검색에 필요한 최소기준봉과는 다른 개념이겠지요. 노고에 감사드립니다.
Input : Period(20), Percent(3);
var : UPline(0),DNline(0),cnt(0);
Array : HH[10](0),LL[10](0);;
UPline = EnvelopeUp(Period, Percent);
Dnline = EnvelopeDown(Period, Percent);
#고가가 상단선 돌파
if crossup(H,upline) Then{
#상단 위 최고가의 기준값
HH[0] = H; #고가저장
#최고가 이후 최저가의 기준값
LL[0] = L; #저가저장
#이전의 값들
for cnt = 1 to 9{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
CP_HaramiCrossDnTrend(Num, Num, Num)
#고가가 상단선 위해서 최고가 갱신
if H > upline and H > HH[0] Then{
#최고가값과 날짜 시간을 현재봉으로 변경
HH[0] = H;
#최고가 이후 최저가의 기준값과 날짜 시간 현재봉으로 변경
LL[0] = L;
}
#최저가가 갱신되면 최저가 값과 날짜시간 변경
if L < LL[0] Then{
LL[0] = L;
}
#현재 상단위에서 고가가 있으면 직전 고점보다 큰종목
#현재 상단아래에 고가가 있으면 최근 고점보다 큰종목
if (H > upline and C > HH[1] and HH[1] > 0) or (H < upLine and C > HH[0] and HH[0] > 0) Then
find(1);
2016-08-10
145
글번호 100898
답변완료
수정 부탁 드려요.
아래 적은식은 기존에 알려주신식에서
시가 5틱 상승 후 매도, 5틱 하락 후 매수로 바꿔봤는데요..
익절된 곳에서 StopLoss , 손절된 곳에서 StopProfittarge로 표시되네요.
그 외의 표현은 제대로 쓴것인가요?
수정 부탁드리겠습니다~
input : 차이틱수(5),손절틱수(5),익절틱수(5);
#시가에서 5틱 상승하면 즉시 매도
if MarketPosition >= 0 then
Buy("b",AtStop,NextBarOpen+PriceScale*차이틱수);
#시가에서 5틱 하락하면 즉시 매수
if MarketPosition <= 0 then
Sell("s",AtStop,NextBarOpen-PriceScale*차이틱수);
#5틱 손실시 즉시 손절
SetStopLoss(PriceScale*손절틱수,PointStop);
#5틱 수익시 즉시 익절
SetStopProfittarget(PriceScale*익절틱수,PointStop);
수고하세요!
2016-08-10
122
글번호 100897
답변완료
검색시..
1.장이 열리는 시간(9시~3:30분)외에는 검색이 되질 않습니다.원래 그런가요?
2.또,분,일,주봉은 검색이 되는데, 월봉이 검색이 되질 않네요.
월봉 검색도 가능하게 부탁드림니다.
3.현제의 검색식은 역사적 최저가 검색으로 되어 있는데,
역사적 최저 종가로도 검색되게 수정 부탁드림니다.
var : sum1(0),sum2(0),avgv(0),LL(0),ii(0);
if index == 0 Then{
LL = L;
sum1 = 0;
sum2 = 0;
ii = 0;
}
if L < LL Then{
LL = L;
sum1 = 0;
sum2 = 0;
ii = 0;
}
sum1 = sum1 + (v*c);
sum2 = sum2 + v;
avgv = sum1/sum2;
ii = ii +1;
if ii >= 3 and C >= avgv and avgv >= L and O > avgv Then
find(1);
2016-08-10
124
글번호 100890
답변완료
소리가 제가 설정한 소리가 아닌데..
plot1(V,"거래량");
PlotBaseLine1(20000,"2만");
PlotBaseLine2(30000,"3만");
if (V >= 20000 and V <= 20500) or (V >= 30000 and V <= 30500) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩시세포착1.wav");
소리가 제가 설정한 소리가 안나오고 엉뚱한 소리가 나오는데..뭐가 문제인지..소리가 나오긴 하는데..
2016-08-10
118
글번호 100885
답변완료
작성 부탁드립니다.
아래 작성하신 대로 해 보니 매일 장 시작 시점에 매수 혹은 매도 신호가 나옵니다.
매일 장 종료시 청산하고 장시작시 아래 로직으로 다시 시작하는 것으로 수정 부탁드립니다.
그리고 한가지 질문은 data3 은 변수로 선언하지 않아도 되나요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템 작성 부탁드립니다.
> 안녕하세요
예스스탁입니다.
코스피와 선물의 순매수 데이터를
참조데이터 data2, data3으로 추가하고 식 적용하시면 됩니다.
참조데이터는 차트왼쪽 상단의 종목선택버튼 중 오른쪽 클릭하시면
선택해서 추가할수 있고 수급데이터는 참조탭에 있습니다.
동일포지션에 대해 누적하므로
피라미딩을 모든진입신호 허용으로 설정하고 적용하시면 됩니다.
var : VV(0,data2),sum(0,data2);
sum = data2(c)+data3(c);
if data2(date != date[1]) Then{
VV = 0;
}
if sum >= VV+1000 Then{
VV = sum;
if MarketPosition >= 0 Then
buy("b",OnClose,def,1);
Else
ExitShort("sx",OnClose,def,"",1,2);
}
if sum <= VV-1000 Then{
VV = sum;
if MarketPosition <= 0 Then
Sell("s",OnClose,def,1);
Else
ExitLong("bx",OnClose,def,"",1,2);
}
즐거운 하루되세요
> wisdom 님이 쓴 글입니다.
> 제목 : 시스템 작성 부탁드립니다.
> 실시간 증권사의 (코스피 + 선물) 순매수의 합이
매 1000억 증가시마다 1계약 매수
매 1000억 감소시마다 1계약 순매도
하는 시스템 부탁드립니다.
예를 들어 다음과 같이 작동되도록 하는 것입니다.
예1)
실시간 순매수금액합 매수/매도
+ 700
+ 1000 +1
+ 1200
+ 2000 +1
+ 2200
+ 1200 -1
+ 1500
+ 200 -1
예2)
실시간 순매수금액합 매수/매도
- 500
- 1000 -1
- 1300
- 300 +1
+ 100
+ 700 +1
2016-08-10
127
글번호 100880
답변완료
종목검색 부탁드려요.
대상종목은 코스피 와 코스탁이며, 제외종목은 관린종목입니다.
주봉에서 찾고 싶습니다.
2015년도의 최저가(1)를 구해서
10봉전 종가(2)가 비교해서 5% ~ 10% 상승한 종목(3)을 찾은 후
(3)과 현재 봉과 비교해서 5% 이상 상승종목을 찾는 식을 부탁드립니다.
그리고 nh트레이더에서 어떻게 적용해야하는지도 알려주세요.
2016-08-10
122
글번호 100879
답변완료
수식 부탁드립니다.
input : Per1(0.0),Per2(23.6),Per3(38.2),Per4(50.0),Per5(61.8),Per6(76.4),Per7(100);
var : HH(0),LL(0);
HH = dayhigh;
LL = daylow;
var1 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per1/100));
var2 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per2/100));
var3 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per3/100));
var4 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per4/100));
var5 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per5/100));
Var6 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per6/100));
Var7 = 10^(LOG10(HH)-(LOG10(HH)-LOG10(LL))*(Per7/100));
plot1(var1,"0.0");
plot2(Var2,"23.6");
plot3(Var3,"38.2");
plot4(Var4,"50.0");
plot5(Var5,"61.8");
plot6(Var6,"76.4");
plot7(Var7,"100");
무더위에 수고많으십니다.
위 수식은 일봉상 자동으로 로그피보나치를 표시하는 수식입니다. 이 수식을 툴바같이 틱봉. 분봉상 임의의 구간에 사용할 수 있는 수식으로 만들어 주시면 감사하겠습니다.
2016-08-10
170
글번호 100878
답변완료
추가 문의드립니다.
안녕하세요.
49062 질문에서 추가 질문입니다.
답변 주신 수식에
동그라미봉 후 현재봉까지 동그라미봉이 최고가이고
현재봉의 종가가 동그라미봉 이후 최저종가이다 를 추가한 수식 부탁드립니다.
수고하세요.
2016-08-09
127
글번호 100877
답변완료
문의드립니다
1.
input : 기간(20);
var : T(0);
var1 = Highest(h,기간);
var2 = Lowest(L,기간);
var3 = var1-var2;
value1 = var1-var3*0.382;
value2 = var1-var3*0.500;
value3 = var1-var3*0.618;
if value2 > value2[1] Then
T = 1;
if value2 < value2[1] Then
T = -1;
if T == 1 then{
plot1(value1,"1");
plot2(value2,"2");
}
else{
plot1(value3,"1");
plot2(value2,"2");
}
2.
INPUT : LENGTH(10),N(2);
VAR : TCHAN(0), BCHAN(0),diff(0),T(0);
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
diff = TCHAN-BCHAN;
if TCHAN > TCHAN[1] or BCHAN > BCHAN[1] Then
T = 1;
if TCHAN < TCHAN[1] or BCHAN < BCHAN[1] Then
T = -1;
if T == 1 Then{
PLOT1(TCHAN, "TOP");
PLOT2(BCHAN, "BOT");
PLOT3(BCHAN+diff*0.500);
PLOT4(BCHAN+diff*0.318);
}
if T == -1 Then{
PLOT1(TCHAN, "TOP");
PLOT2(BCHAN, "BOT");
PLOT3(BCHAN+diff*0.500);
PLOT4(BCHAN+diff*0.618);
}
위 2가지 복합 수식을원합니다
위 1번 수식과 2번수식이 같을때 다를떄 시스템신호발생
1. 위 1번 1번선이 2번선을 교차했을경우
위 2번 PlotNo3선이 PlotNo4선을 교차했을경우
2가지 가 일치할떄 매수,매도 신호발생
2가지 중 하나라도 다를경우 매수,매도 청산신호발생
예시: 1번수식에서 2번선 위 1번선이 있을경우
2번수식에서 No4선 위 No3선이 있을경우
매수신호발생
1번수식에서 2번선 밑 1번선이 있을경우
2번수식에서 No4선 밑 No3선이 있을경우
매도신호발생
둘중 하나라도 다를경우 신호에 맞는 청산신호발생
2. 2번수식 에 No4선 위 No3 선이 있을경우 매수신호발생
2번수식 에 No4선 밑 no3 선이 있을경우 매도신호발생
말그대료 교차될때 신호발생
혹여나 봉이 완성되는 종가에서 말고
시가에서도가능한지도 좀알고싶습니다
시가에 가능하다면 시가 시스템 신호도 좀 부탁드립니다
2016-08-10
160
글번호 100876