커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6630
글번호 230811
답변완료
수식 부탁합니다
안녕하세요
가중이평을 쓸려고 하니 고가 저가 종가 등으로 구분 할수 없네요.
기본이 종가로 셋팅 되있나요 ?
가중이평에 5일고가, 5일 저가 , 20일 고가, 20일 저가 이평선을 만들고 싶어서요
부탁드립니다
2015-03-31
192
글번호 84596
답변완료
안녕하세요
안녕하세요.반갑습니다
2가지 문의할까합니다
가)
1.파라볼릭 양신호
2.trix 기준선 상향돌파
1.2항동시 만족시: 매수
반대:매도
나)
1.파라볼릭 양신호
2.trix 시그널 상향돌파
1.2항동시 만족시: 매수
반대:매도
감사합니다
2015-03-31
189
글번호 84595
답변완료
수식 부탁드립니다.
질의 응답에 수고가 많으십니다.
다음 2 가지 경우의 수식을 부탁드립니다.
1. 가격이 상승하여 볼린저밴드 상단선 밖으로 상향돌파(1) 했다가
다시 하락하면서 볼린저밴드 상단선 안쪽으로 재진입(2) 하여
중심선은 붕괴하지 않고 재상승하여 볼린저밴드 내에서 고가갱신 후 재하락(3) 조건
⇒ (1) and (2) and (3)
첨부파일1(질문 - 1) 챠트 참조
2. 볼린저밴드 상하단 밴드폭을 기준으로
일정 기간 평균 상하단 폭의 20% 미만(1)으로 수축되어
일정 시간 동안 그 수축된 상태로 횡보 유지(2) 되다가
변동성이 증가 되면서 평균 상하단 폭의 20% 이상(3)으로 확산 조건
⇒ (1) and (2) and (3)
첨부파일2(질문-2) 챠트 참조
2015-03-31
192
글번호 84594
답변완료
시뮬에서 entryprice가 0으로 나오는 현상
틱 시뮬차트의 다른 매수신호에선 제대로 진입가격이 표시되었으나
캡쳐화면의 저신호만 유독 진입가격이 0으로 표시됩니다.
그러다보니 entryprice가 변수로 들어간 청산식이 제대로 작동하질 않습니다.
해결방안을 부탁드립니다.
감사합니다.
2015-03-30
227
글번호 84593
답변완료
부탁드립니다.
호가잔량이 6000개 이상이고 미결이 10000개 이상일때 적용하는 매수/매도식과
그렇지 않을때 적용하는 매수/매도식을 다르게 가져가려고합니다.
어떻게 작성하면 되는지 좀 알려주시기 바랍니다.
감사합니다.
2015-03-30
184
글번호 84592
답변완료
수식관련
조건검색식을 수식으로 어떻게 바꾸는지 알려주세요. 부탁드립니다.
아직 초보라 많이 어렵네요
2015-03-30
197
글번호 84591
답변완료
조금 수정해 주세요~
아래식을 조금 수정해 주세요.
<진일>
-당일 거래량 중 시초가 보다 높은 가격에서 매매된 거래량이 30%미만이고.... 를
-->당일 거래량 중 "시초가 +5%" 보다 높은 가격에서 매매된 거래량이 30%미만이고...로
수정해 주세요... 감사합니다.
------------------------------------------
input : p1(5);
var : cnt(0),PreDayV(0),mav1(0),sumv1(0),dis(0),Didx(0),mav2(0),sumv2(0);
Var : Pivot(0),R1(0),R2(0),S1(0),S2(0);
var : 상한가(0), UpLimit(0);
var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),Up7(0);
if date >= 19981207 then {
if date < 20050328 && CodeCategory() == 2 then
UpLimit = (BP[0] * 1.12);
Else
UpLimit = (BP[0] * 1.15);
if CodeCategory() == 2 then {
if date >= 20030721 then {
up1 = int(UpLimit/100+0.00001)*100;
up2 = int(UpLimit/100+0.00001)*100;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/5+0.00001)*5;
up7 = int(UpLimit/1+0.00001)*1;
}
else {
up1 = int(UpLimit/1000+0.00001)*1000;
up2 = int(UpLimit/500+0.00001)*500;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/10+0.00001)*10;
up7 = int(UpLimit/1+0.00001)*1;
}
}
Else {
up1 = int(UpLimit/1000+0.00001)*1000;
up2 = int(UpLimit/500+0.00001)*500;
up3 = int(UpLimit/100+0.00001)*100;
up4 = int(UpLimit/50+0.00001)*50;
up5 = int(UpLimit/10+0.00001)*10;
up6 = int(UpLimit/5+0.00001)*5;
up7 = int(UpLimit/1+0.00001)*1;
}
if CodeCategory() == 1 || CodeCategory() == 2 then {
if sdate < 20101004 Then{
If BP >= 500000 Then
상한가 = up1;
Else If BP >= 100000 Then
상한가 = iff(up2>=500000, up1, up2);
Else If BP >= 50000 Then
상한가 = iff(up3>=100000, up2, up3);
Else If BP >= 10000 Then
상한가 = iff(up4>=50000, up3, up4);
Else If BP >= 5000 Then
상한가 = iff(up5>=10000, up4, up5);
Else If BP >= 1000 Then
상한가 = iff(up5>=5000, up5, up6);
Else
상한가 = iff(up6>=1000, up6, up6);
}
Else{
If BP >= 500000 Then
상한가 = up1;
Else If BP >= 100000 Then
상한가 = iff(up2>=500000, up1, up2);
Else If BP >= 50000 Then
상한가 = iff(up3>=100000, up2, up3);
Else If BP >= 10000 Then
상한가 = iff(up4>=50000, up3, up4);
Else If BP >= 5000 Then
상한가 = iff(up5>=10000, up4, up5);
Else If BP >= 1000 Then
상한가 = iff(up5>=5000, up5, up6);
Else
상한가 = iff(up6>=1000, up6, up7);
}
}
else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF
상한가 = up6;
}
}
Pivot = (DayHigh(1)+DayLow(1)+DayClose(1))/3;
R1 = 2*Pivot-DayLow(1);
R2 = Pivot+DayHigh(1)-DayLow(1);
S1 = 2*Pivot-DayHigh(1);
S2 = Pivot-DayHigh(1)+DayLow(1);
for cnt = 1 to 2500 {
if stime[cnt] <= stime and sdate != sdate[cnt] then{
PreDayV = DayVolume[cnt];
cnt = 1000000;
}
}
sumV1 = 0;
sumv2 = 0;
for cnt = 0 to P1-1 {
sumV1 = sumV1+DayClose(cnt);
if cnt > 0 then
sumV2 = sumV2+DayClose(cnt);
}
maV1 = sumV1 / P1;
maV2 = (sumV2+상한가)/ P1;
dis = C/mav1*100;
if date != date[1] Then{
var1 = 0;
var2 = 0;
Condition1 = false;
Didx = Didx+1;
value1 = mav2;
value2 = dis;
}
if C > dayopen Then
var1 = var1+V;
Else
var2 = var2+V;
if dis <= 102 Then
Condition1 = true;
if MarketPosition == 0 and
ExitDate(1) != sdate and
var1 <= DayVolume*0.3 And
DayVolume <= preDayv*1.2 And
Condition1 == false And
stime >= 123000 and stime <= 144000 And
dis >= 102.5 and dis < 104 Then
buy();
if MarketPosition == 1 Then
{
if sdate == EntryDate then
{
ExitLong("bx11",atlimit,EntryPrice*1.05,"",Floor(CurrentContracts*0.5),1);
ExitLong("bx12",atlimit,EntryPrice*1.15);
if CrossDown(dis,100.3) Then
ExitLong("bx13");
}
if sdate > EntryDate and didx == Didx[BarsSinceEntry]+1 then
{
if dayopen > pivot and CrossDown(c,mav2-PriceScale*2) Then
exitlong("bx21");
if dayopen > pivot and Crossup(c,R2) Then
exitlong("bx22",OnClose,def,"",Floor(CurrentContracts*0.5),1);
if dayindex == 0 and dayopen >= pivot and dayopen > value1 Then
exitlong("bx23",OnClose,def,"",Floor(CurrentContracts*0.5),1);
if dayopen >= pivot and dayopen > value1 and crossup(c,R1) Then
exitlong("bx24");
if dayopen >= pivot and dayopen > value1 and CrossDown(c,mav2-PriceScale*4) Then
exitlong("bx25");
if dayindex == 0 and value2 >= 99 and dayopen < value1 Then
exitlong("bx26");
if value2 < 99 and CrossDown(c,mav1-PriceScale*2) Then
exitlong("bx27");
if stime == 144800 or (stime > 144800 and stime[1] < 144800) and C < 상한가 Then
exitlong("bx28");
}
if sdate > EntryDate and didx == Didx[BarsSinceEntry]+2 then
{
if dayindex == 0 Then
exitlong("bx31");
}
}
즐거운 하루되세요
> 쌀사비팔 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 현물 틱 매매입니다.
<진입>
-일일 진입 1회로 제한
-당일 거래량 중 시초가 보다 높은 가격에서 매매된 거래량이 30%미만이고,
-전일 동일시간 거래량 대비 당일 거래량은 120% 미만이고,
-당일 주가는 5일선(일봉) 이격도 102이하로 내려간 적이 없어야 하고,
-진입시간 : 12:30부터 14:40까지이고
-5일선(일봉) 이격도 102.5이상 104이하면, 진입
<진입 당일 청산>
-진입가 대비 +5%이상 이면, 다음 첫봉에 잔고의 50% 청산
-진입가 대비 +15%이상이면, 다음 첫봉에 잔고 모두 청산
-5일선(일봉) 이격도 100.3이하면, 잔고 모두 청산
<진입 +1일 청산>
*참조, "상한간주 5일선(일봉)" : 당일 상한가라고 가정할때, 일봉상의 5일선.
-시초가가.. 피봇기준선 이상이면, "상한간주 5일선(일봉)-3틱"이하로 하락시 모두 청산
-시초가가.. 피봇기준선 이상이면, 피봇 2차저항선을 상향 돌파시, 잔고의 50%를 청산
-시초가가.. "상한간주 5일선(일봉)" 이상이고, 피봇기준선 이하이면, 시초가(첫봉)에 잔고의 50%청산
-시초가가.. "상한간주 5일선(일봉)" 이상이고, 피봇기준선 이하이면, 피봇 1차 저항선 상향돌파시 잔고 모두 청산
-시초가가.. "상한간주 5일선(일봉)" 이상이고, 피봇기준선 이하이면, "상한간주 5일선(일봉) -4틱" 이하로 하락시 잔고 모두 청산
-시초가가.. 5일선(일봉) 이격도 99이상이고 "상한간주 5일선(일봉)"이하면, 시초가(첫봉)에 모두 청산
-시초가가.. 5일선(일봉) 이격도 99미만이면, "5일선(일봉) 이격도 100 -2틱"을 상향동파시, 모두 청산
-14:48시에 상한가가 아니면, 잔고 모두 청산
<진입 +2일 청산>
-시초가(첫봉)에 조건없이 잔고 모두 청산
2015-03-30
212
글번호 84590
답변완료
수식 좀 부탁드립니다
질문 01)
일목균형표에서
선행스팬1과 선행스팬2의 차이가 10%이상이 종목을 찾고 싶습니다.
수식 좀 부탁드립니다.
--------------------------
질문 02)
당일 종가 0봉 기준...
20봉전부터 30봉전 사이에
당일시가보다 당일종가가 3회 이상 발생한 종목을 검색하고 싶습니다.
2015-03-30
207
글번호 84588
답변완료
답변부탁드립니다.
1봉전 파라볼릭(0.02.0.99) 1봉 연속상승
이란 조건을 수식으로 어떻게 풀어야 하는지 부탁드립니다.
또한 10일중 3일 기관 순매수발생 최소순매수량 5000주 이상 이것도 부탁드립니다.
2015-03-30
203
글번호 84578