커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5407
글번호 230811
답변완료
지표수식
안녕하세요.
일봉의 5.10.20.60 이평을 역이평 수평으로 만들어 주실수 있으시면 부탁 드립니다.
2019-10-03
231
글번호 132482
답변완료
키움 보조지표 → 예스수식 전환
수고많으십니다^^
예스트레이더 입문합니다^^
많은 도움 청하겠습니다
고맙습니다...
=================================
수식1.
disparity(period1)
수식2.
a=disparity(period1);
tema(a,t1)
수식3.
a=disparity(period1);
tema(a,t2)
수식4.
a=disparity(period1);
tema(a,t3)
수식5.
수식3.
a=disparity(period);
bb=tema(a,t1):
cc=tema(a,t3):
valuewhen(1,crossup(bb,cc) or crossdown(bb,cc),cc);
======================================================
[지표조건]
period1 = 12
t1 = 2
t2 = 4
t3 = 5
=======================================================
2019-10-03
502
글번호 132481
답변완료
문의드립니다
Input:기간(100),매물대개수(10),선두께(1);
Var:j(0),k(0),구간최고가(0),구간최저가(0),가격단위(0),
총거래량(0),최대거래량(0),최대매물대(0),비중(0),TL1(0),TL2(0);
Array:매물대[30,3](0); // 열번호 1:가격이상,2:가격미만,3:수량
//============= 매물대 계산 =======================//
구간최고가 = Highest(H,기간);
구간최저가 = Lowest(L,기간);
If !(구간최고가[1] == 구간최고가 and 구간최저가[1] == 구간최저가) Then {
가격단위 = (구간최고가 - 구간최저가)/매물대개수;
매물대[1,1] = 구간최저가;
매물대[1,2] = 매물대[1,1] + 가격단위;
매물대[1,3] = 0;
For j = 2 To 매물대개수 {
매물대[j,1] = 매물대[j-1,1] + 가격단위;
매물대[j,2] = 매물대[j-1,2] + 가격단위;
매물대[j,3] = 0;
}
총거래량 = 0;
For k = 0 To 기간 - 1 {
총거래량 = 총거래량 + V[k];
For j = 1 To 매물대개수 {
If 매물대[j,1] <= C[k] and C[k] < 매물대[j,2] Then {
매물대[j,3] = 매물대[j,3] + V[k];
j = 매물대개수;
}
}
}
} Else {
총거래량 = 총거래량 + V;
For j = 1 To 매물대개수 {
If 매물대[j,1] <= C and C < 매물대[j,2] Then {
매물대[j,3] = 매물대[j,3] + V;
j = 매물대개수;
}
}
}
최대거래량 = 0;
최대매물대 = 0;
For j = 1 To 매물대개수 {
If 최대거래량 < 매물대[j,3] Then {
최대거래량 = 매물대[j,3];
최대매물대 = j; // 값이 큰 행의 번호
}
}
//============= 매물벽 출력 =======================//
If 최대매물대 > 0 Then {
TL1 = TL_New(sDate[1],sTime[1],매물대[최대매물대,1],sDate,sTime,매물대[최대매물대,2]);
TL_SetSize(TL1,선두께);
비중 = int(최대거래량 / 총거래량 * 200);
TL_SetColor(TL1,RGB(200 - 비중, 200 - 비중, 200 - 비중)); // 비중이 클수록 더 진해집니다.);
TL_SetColor(TL1,GRAY);
TL_SetSize(TL1,1);
}
위수식으로 맨마지막것만 수평선으로 나오게 수정부탁드립니다~`매번감사드립니다
2019-10-03
298
글번호 132480
답변완료
타주기 참조하여 이평선 상승/하락 색상 구분하기
안녕하세요, 코드 작성을 매번 해주셔서 너무 감사드립니다.
제가 요청드릴 사항은 아래와 같습니다.
기본적인 컨셉은 타주기의 모든 이평선이 상승(하락)일때, 최소단위 주기상 이평선은 타주기를 참조하여 상승(하락)을 색상을 구분하여 표시를 하는 것입니다.
# 상승 추세
1. 30분봉, 5분봉 20이평선 각도가 상향과 동시에 가격이 20이평 상단 위치 시,
2. 1분봉 상 20이평선 또한 각도가 상향 및 가격이 20이평 상단 위치 시, 20이평선 색상이 붉은색으로 바뀌고,
3. 위 조건 중 하나라도 만족하지 않으면 1분봉 상 20이평의 각도가 상향 및 가격이 20이평에 위치하더라도 파란색으로 전환(1분봉 상 20이평의 각도가 하향이거나 가격이 20이평 아래이면 당연히 파란색 시현)
# 하락 추세는 위의 컨셉과 정반대입니다.
수식 작성 부탁드립니다.
2019-10-02
350
글번호 132478
답변완료
진입가 바로 표시 되는 수식
Input : shortPeriod(12), longPeriod(26);
Var : value(0);
value = MACD(shortPeriod, longPeriod);
# 매수/매도청산
If CrossUP(value, 0) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value, 0) Then
{
Sell();
}
진입가 바로 표시 되는 수식으로 부탁 드립니다 수고하세요
2019-10-02
217
글번호 132477
미운오리 님에 의해서 삭제되었습니다.
2019-10-02
2
글번호 132475
답변완료
수식 변경 가능할까요??
안녕하세요. 항상 도움에 감사드립니다.
아래 수식은 특정 기간동안 매물대를 표현하는 수식지왕님의 사용자 함수인데.
1. 특정 기간이 아닌 일단위 매물대로 변경( 시작 시간 변경 가능 하게)
2. 원하는 날짜 부터 매물대 표현 ( ex, 19.09.25 ~ 현재 까지 )
==================== 아래 ===========================
Input:기간(NumericSimple),개수(NumericSimple),
매물대[MaxSize1,MaxSize2](NumericArrayRef); // 행번호는 순위, 열번호=1:가격이상,2:가격미만,3:수량,4:비율
Var:j(0),k(0),q(0),구간최고가(0),구간최저가(0),총거래량(0),가격단위(0);
//============= 매물대 계산 =======================//
구간최고가 = Highest(H,기간);
구간최저가 = Lowest(L,기간);
총거래량 = AccumN(V,기간);
가격단위 = (구간최고가 - 구간최저가)/개수;
매물대[1,1] = 구간최저가;
매물대[1,2] = 매물대[1,1] + 가격단위;
매물대[1,3] = 0;
매물대[1,4] = 0;
For j = 2 To 개수 {
매물대[j,1] = 매물대[j-1,1] + 가격단위;
매물대[j,2] = 매물대[j-1,2] + 가격단위;
매물대[j,3] = 0;
}
For k = 0 To 기간 - 1 {
For j = 1 To 개수 {
If 매물대[j,1] <= C[k] and C[k] < 매물대[j,2] Then {
매물대[j,3] = 매물대[j,3] + V[k];
매물대[j,4] = 매물대[j,3] / 총거래량 * 100;
j = 개수;
}
}
}
// 수량순으로 소팅
For j = 1 To 개수 - 1 {
For k = j + 1 To 개수 {
If 매물대[j,3] < 매물대[k,3] Then {
For q = 1 To 4 { // 열번호 1~4
var1 = 매물대[j,q]; // 데이터를 맞바꾸기
매물대[j,q] = 매물대[k,q];
매물대[k,q] = Var1;
}
}
}
}
VolProfile = 1;
2019-10-02
555
글번호 132474
회원 님에 의해서 삭제되었습니다.
2019-10-02
13
글번호 132471
답변완료
수식수정부탁드립니다.
input : sig(5),카운팅시작일자(20191001),카운팅시작시간(070000),n(0);
var : OBVv(0),OBVs(0),OBVo(0);
var : XClose(0),Xopen(0),Xhigh(0),Xlow(0),Tcond(false),DO(0);
if sdate >= 카운팅시작일자 and stime >= 카운팅시작시간 Then
Tcond = true;
OBvv = OBV;
OBVs = ma(OBVv,sig);
OBVo = OBVv-OBVs;
xClose = (Open+High+Low+Close)/4;
if CurrentBar <= 1 Then
Xopen = (O+C)/2;
Else
xOpen = (XOpen[1] + xClose[1])/2;
xHigh = Max(High, xOpen, xClose);
xLow = Min(Low, xOpen, xClose);
var1=xHigh;
var2=xLow;
if Tcond == true then
{
if bdate != bdate[1] Then
DO = DayHigh;
if var1>=0 then
{
plot12(var1, "상",red);
Plot22(do, "하",blue);
}
Else
{
Plot12(do, "상",red);
Plot22(var1, "하",blue);
}
PlotBaseLine1(do, "중심",black);
}
상기수식을
기준선 중심으로 위쪽은 빨간색 아래쪽은 파란색으로 우측 텍스트색상도 동일하게
표시될수있도록
수식 수정 부탁드립니다 감사합니다
2019-10-02
279
글번호 132463