커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3520
글번호 230811
답변완료
문의드립니다!
항상 수고해주심에 너무 감사드립니다
아래"수식1"을 적용시 4개의 선이 발생되는데요
아침에 장이 시작되면 캔들의 움직임에 따라서 이 선들이 위아래로 이동을 합니다
* 그림에서 캔들 위아래의 빨간선을 기준으로 문의 드립니다 (Plot1, Plot2 선입니다)
캔들의 하방이동에 의거 그림의 1과 2사이의 구간에서는 선도 같이 하방으로 이동을 합니다
* 이런 패턴이 반복되며 이선이 계속 하방이동되는 경우도 자주 있습니다
헌데 이후 3번 캔들이 완성시에는 이선을 그대로 하방 돌파하고 이후 이선은 장이 끝날때까지 캔들의 움직임과 상관없이 이 가격선을 그대로 유지합니다
즉, 2번자리에서 이선이 고정되었다는것을 알수있습니다
1, 이렇게 선이 캔들의 이동에의거 같이 이동하는 경우와 돌파하는 경우로 나뉘는것은 어떤 원리에의한것인지요?
2, 이 2번자리가 선의 고정자리라는것을 2번캔들이나 그다음 캔들이 완성시 알수있는 방법은 없을까요?
3, 만약 위 2번 내용이 가능하다면 이자리에 세로선과 알람신호가 발생되는 수식도 가능할런지요?
* 물론 위아래 2개의 빨간선이 모두 해당이 되겠죠
가능한 알기쉽게 자세한 설명 부탁드립니다
4, 아래 "수식2"에서 음성신호가 발생되도록 수정 부탁드립니다
매번 도움주심에 항상 감사드립니다!!!
-------------------------------------------------------------------------------
( 수식 1)
if sTime < 93000 Then
{
var1 = DayHigh;
Var2 = DayLow;
Var3 = (var1-Var2);
}
Plot1(var1);
Plot2(var2);
Plot3(var1+Var3);
Plot4(var2-Var3);
(수식 2)
var : tl1(0,data1),tl24(0,data1);
if CrossDown(data1(L),data2(H)) or
Crossup(data1(h),data2(L)) Then
{
tl1 = TL_New(sdate,stime,9999999,sdate,stime,0);
TL_SetColor(tl1,YELLOw);
TL_SetSize(tl1,4);
}
2021-01-28
1028
글번호 145885
답변완료
간단한 지표식 부탁드립니다.
data1, 2, 3에
각각 1분봉, 일봉, 1시간봉이 들어있습니다.
1) data3을 이용해서, 각 봉(즉 1시간 동안의)의 고가-저가를 구합니다.
2) 1)의 값을 1일 평균값으로 구합니다. 즉, 하루에 7개의 1시간 봉이 존재하므로 7개 봉의 고가-저가를 모두 더한 후 7로 나누어줍니다. => 이것을 일중변동성이라고 가정합니다.
3) 이 일중변동성의 30거래일 이평선을 지표식으로 구하고 싶습니다.
감사합니다
2021-01-28
797
글번호 145884
답변완료
문의 드립니다
실행시키자마자 '한 번만' 현재가에 100주를 매수하고
그 뒤로는 비교식에 의해 매수, 매도하려면 어떻게 해야하나요?
2021-01-27
763
글번호 145883
답변완료
키움신호를 종목검색식으로 변환 부탁드립니다.
안녕하세요.
키움에서 사용중인 신호수식인데 예스랭귀지 종목검색식으로 변환 부탁드립니다.
미리 감사드립니다.
M=MACD(200,400)-eavg(MACD(200,400),9);
A=(if(eavg(c,20)>eavg(c,20,1)*(1.003),1,0)+ if(eavg(c,21)>eavg(c,21,1)*(1.003),1,0)+ if(eavg(c,22)>eavg(c,22,1)*(1.003),1,0)+ if(eavg(c,23)>eavg(c,23,1)*(1.003),1,0)+ if(eavg(c,24)>eavg(c,24,1)*(1.003),1,0)+ if(eavg(c,25)>eavg(c,25,1)*(1.003),1,0)+ if(eavg(c,26)>eavg(c,26,1)*(1.003),1,0)+ if(eavg(c,27)>eavg(c,27,1)*(1.003),1,0)+ if(eavg(c,28)>eavg(c,28,1)*(1.003),1,0)+ if(eavg(c,29)>eavg(c,29,1)*(1.003),1,0)+ if(eavg(c,30)>eavg(c,30,1)*(1.003),1,0)+ if(eavg(c,31)>eavg(c,31,1)*(1.003),1,0)+ if(eavg(c,32)>eavg(c,32,1)*(1.003),1,0)+ if(eavg(c,33)>eavg(c,33,1)*(1.003),1,0)+ if(eavg(c,34)>eavg(c,34,1)*(1.003),1,0)+ if(eavg(c,35)>eavg(c,35,1)*(1.003),1,0))/16*100;
B=(if(eavg(c,20)>eavg(c,20,1)*(0.997),1,0)+ if(eavg(c,21)>eavg(c,21,1)*(0.997),1,0)+ if(eavg(c,22)>eavg(c,22,1)*(0.997),1,0)+ if(eavg(c,23)>eavg(c,23,1)*(0.997),1,0)+ if(eavg(c,24)>eavg(c,24,1)*(0.997),1,0)+ if(eavg(c,25)>eavg(c,25,1)*(0.997),1,0)+ if(eavg(c,26)>eavg(c,26,1)*(0.997),1,0)+ if(eavg(c,27)>eavg(c,27,1)*(0.997),1,0)+ if(eavg(c,28)>eavg(c,28,1)*(0.997),1,0)+ if(eavg(c,29)>eavg(c,29,1)*(0.997),1,0)+ if(eavg(c,30)>eavg(c,30,1)*(0.997),1,0)+ if(eavg(c,31)>eavg(c,31,1)*(0.997),1,0)+ if(eavg(c,32)>eavg(c,32,1)*(0.997),1,0)+ if(eavg(c,33)>eavg(c,33,1)*(0.997),1,0)+ if(eavg(c,34)>eavg(c,34,1)*(0.997),1,0)+ if(eavg(c,35)>eavg(c,35,1)*(0.997),1,0))/16*100;
Y=(if(eavg(c,20)>eavg(c,20,1)*(1.0005),1,0)+ if(eavg(c,21)>eavg(c,21,1)*(1.0005),1,0)+ if(eavg(c,22)>eavg(c,22,1)*(1.0005),1,0)+ if(eavg(c,23)>eavg(c,23,1)*(1.0005),1,0)+ if(eavg(c,24)>eavg(c,24,1)*(1.0005),1,0)+ if(eavg(c,25)>eavg(c,25,1)*(1.0005),1,0)+ if(eavg(c,26)>eavg(c,26,1)*(1.0005),1,0)+ if(eavg(c,27)>eavg(c,27,1)*(1.0005),1,0)+ if(eavg(c,28)>eavg(c,28,1)*(1.0005),1,0)+ if(eavg(c,29)>eavg(c,29,1)*(1.0005),1,0)+ if(eavg(c,30)>eavg(c,30,1)*(1.0005),1,0)+ if(eavg(c,31)>eavg(c,31,1)*(1.0005),1,0)+ if(eavg(c,32)>eavg(c,32,1)*(1.0005),1,0)+ if(eavg(c,33)>eavg(c,33,1)*(1.0005),1,0)+ if(eavg(c,34)>eavg(c,34,1)*(1.0005),1,0)+ if(eavg(c,35)>eavg(c,35,1)*(1.0005),1,0))/16*100;
Z=(if(eavg(c,20)>eavg(c,20,1)*(0.99995),1,0)+ if(eavg(c,21)>eavg(c,21,1)*(0.99995),1,0)+ if(eavg(c,22)>eavg(c,22,1)*(0.99995),1,0)+ if(eavg(c,23)>eavg(c,23,1)*(0.99995),1,0)+ if(eavg(c,24)>eavg(c,24,1)*(0.99995),1,0)+ if(eavg(c,25)>eavg(c,25,1)*(0.99995),1,0)+ if(eavg(c,26)>eavg(c,26,1)*(0.99995),1,0)+ if(eavg(c,27)>eavg(c,27,1)*(0.99995),1,0)+ if(eavg(c,28)>eavg(c,28,1)*(0.99995),1,0)+ if(eavg(c,29)>eavg(c,29,1)*(0.99995),1,0)+ if(eavg(c,30)>eavg(c,30,1)*(0.99995),1,0)+ if(eavg(c,31)>eavg(c,31,1)*(0.99995),1,0)+ if(eavg(c,32)>eavg(c,32,1)*(0.99995),1,0)+ if(eavg(c,33)>eavg(c,33,1)*(0.99995),1,0)+ if(eavg(c,34)>eavg(c,34,1)*(0.99995),1,0)+ if(eavg(c,35)>eavg(c,35,1)*(0.99995),1,0))/16*100;
D1=dema(A,5);
T1=tema(A,5);
F1=eavg(tema(A,5),5);
D2=dema(B,5);
T2=tema(B,5);
F2=eavg(tema(B,5),5);
D3=dema(Y,5);
T3=tema(Y,5);
F3=eavg(tema(Y,5),5);
D4=dema(Z,5);
T4=tema(Z,5);
F4=eavg(tema(Z,5),5);
E1=countsince(M>0 and crossup(D3, max(T3,F3)), C>ma(c,5,단순) and C>O);
E2=countsince(M<0 and max(D3,T3,F3)==D3 and ((crossup(D3,50) and max(D4,T4,F4)<50) or
(crossdown(max(D4,T4,F4),50) and D3>50)),C>ma(c,5,단순) and C>O);
M>0
and
c>ma(c,60)
and
max(D1,T1,F1)==D1 and max(D2,T2,F2)==F2
and
BiWave(20,12,5,3)>0
and
HIGH - eavg(C,15)>0
and
Stochasticsslow(12,26)-eavg(Stochasticsslow(12,26),5)>0
and
(
crossup(M,0) or
crossup(c,ma(c,60)) or
crossup(D1,max(T1,F1)) or crossup(F2,max(D2,F2)) or crossup(BiWave(20,12,5,3),0) or
crossup(HIGH,eavg(c,15)) or crossup(Stochasticsslow(12,26),eavg(Stochasticsslow(12,26),5))
)
and
(
if(max(T3,F3)>D3,0,if(E1(1)==1,0,E1==1))
or
if(max(T3,F3)>D3,0,if(E2(1)==1,0,E2==1))
)
2021-01-27
1344
글번호 145882
답변완료
분봉의 중심선 긋기
항상 도움주심에 감사합니다^^
시간봉(60분봉)의 분봉 중심값을 차트에 라인과 텍스트를 표시하고 싶습니다.
제가 지금 사용하는 지표는 아래와 같은데 라인이 이전봉 뒤로 선이 길게 표시되는데
직전봉의 중심값에서 부터 우측으로 표시되게하고 차트 여백에 텍스트로 수치를 표시
할 수 있으면 좋겠습니다.
1.라인과 수치 표시
2.150틱 이상만 표시되게(시가와 종가의 틱수가 150틱 미만일때는 이전 150틱에 표시)
3.시가와 종가의 중간에 표시(고가와 저가는 카운팅 제외), 텍스트 표시는 작게
input : N(150);
if Bdate != Bdate[1] Then{
TL_Delete(var4);
var1 = sdate[1];
var2 = stime[1];
}
if abs(C-O) >= PriceScale*N Then{
var3 = (C+O)/2;
TL_Delete(var4);
var4 = TL_New(var1,var2,var3,sdate,stime,var3);
TL_SetExtRight(var4,true);
}
2021-01-27
1362
글번호 145881
답변완료
예스트레이더코인 수식작성문의
예스트레이더 코인 수식작성 문의 드립니다.
예스트레이더에서 정상 작동 되는데 코인에서는 오류 뜨더라고요 수식 수정좀 부탁드리겠습니다.
매수 조건 : 이동평균선 120 이동평균선 골드크로스 상태에서 + Aroon 10 매수 신호 발생시 매수
매도 조건 : 이동평균 120 이동평균선 데드크로스, 또는
Aroon 10 매도 신호발생
둘중 먼저 매도 신호가 발생하면 매도 수식추가 부탁드리겠습니다.
감사드립니다~
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식작성문의
>
안녕하세요
예스스탁입니다.
input : P(120),Period(10);
var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ;
var : mav(0);
mav = ma(C,120);
Lowval= Lowest(Low, Period+1);
Highval = Highest(High, Period+1);
For counter= 0 To Period {
If Low[counter] == Lowval Then
DownVel = counter;
If High[counter] == highval Then
UpVel = counter;
}
UpAroon = 100*(Period-UpVel)/Period;
DnAroon = 100*(Period-DownVel)/Period;
if c > mav Then
{
if crossup(UpAroon,DnAroon) Then
buy("Aroon_LE");
if CrossDown(UpAroon,DnAroon) Then
sell("Aroon_SE");
}
2021-01-27
1162
글번호 145880
답변완료
성능보고서 문의
안녕하세요?
이제 예스랭귀지 공부를 시작하려고 각종 샘플을 따라하고있습니다.
그런데 시스템 샘플을 차트에 적용하고 성능보고서를 보면
매수진입/청산시 청산과 동시에 매도진입이 이루어 지고, 매도청산시
매수진입이 동시에 실행되고 계속 이렇게 거래가 진행되는데
샘플 시스템의 로직설명은 그렇지가 않습니다.
성능보고서 한개를 첨부합니다.
상세한 설명 부탁드리겠습니다.
감사합니다.
2021-01-27
881
글번호 145879
답변완료
주식선물 1분봉 데이터 다운로드
모든 개별 주식선물 종목의 최대 조회가 가능한 1분봉 데이터(open,high,low,close)를
다운 받으려하는데
print("C:UsersUserDesktodata.csv","시가,%.2f,고가,%.2f,저가,%.2f,종가,%.2f,거래량,%.0f", open,high,low,close,v);
여기서 저장 파일이름을 해당종목으로 되게끔 코딩이 가능한지 궁금합니다.
혹은 일일이 종목을 열어서 지표적용을 하지않고 모든종목의 데이터를 한번에 받을 수 있는 코딩이 되는지도 궁금합니다.
2021-01-27
1544
글번호 145877
브라이안 님에 의해서 삭제되었습니다.
2021-01-27
0
글번호 145876