커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7888
글번호 230811
답변완료
수식 문의드립니다.
안녕하세요.
수식 문의 드립니다.
StocasticK(5,3) 이 50 을 하향시나 혹은(or) StocasticK(5.5) 가 50을 하향시에
매도(매수청산)
예)--(StocasticK(5,3) DownCross 50) or (StocasticK(5,5) DownCross 50) : Sell
StocasticK(5,3) 이 50 을 상향시나 혹은(or) StocasticK(5.5) 가 50을 상향시에
매수(매도청산) 하는 식입니다.
예)--(StocasticK(5,3) UpCross 50) or (StocasticK(5,5) UpCross 50) : Buy
2004-03-11
1387
글번호 2746
답변완료
질의
안녕하십니까
종가가 선행스팬2 돌파시 매수
붕괴시 청산하는 시스템수식을 의뢰합니다
감사합니다
2004-03-10
1342
글번호 2745
답변완료
dayhigh(1)과 predayhigh()는 같은 것인가요??
수고하십니다~~~
수식 예제를 보다보니
predayhigh()라는 표현이 변수선언도 안되고 사용되던데요...
이미 내재되어 있는 함수인가요???
전일의 고가라는 의미로???
느낌은 그런 것 같은데....이런 표현에 대한 설명을 사이트 어디에서도
못찾겠네요....
2004-03-10
1403
글번호 2744
답변완료
재질문입니다.
다시 질문 드리게 되어 죄송합니다.
그림1은 답변해주신 수식에 의한 그래프입니다.
그림2는 원래 제가 의도한 지표를 나타내는 그림입니다. (60분봉, 이평은 10과 20)
현재 간인 구간0를 기준으로 나타내어질 지표를 갖도록 부탁드립니다.
빨간선은 각 구간의 최고가입니다.
파란선은 각 구간의 최저가입니다.
고동색선은 각 구간의 크로스가입니다.
지금 상태가 데드이던 골든이든 상관없이 현재구간을 포함하여 이전 4개 구간의
각각 지표의 4개를 그려질 수 있으면 감사하겠습니다. (4*3=12개)
--------------------------------------------------------------
안녕하세요? 예스스탁입니다.....
이평선 골든/데드 크로스의 각 구간의 최대, 최소값 및 골든 데드크로스 시점의 가격을 파악하려 한다면 다음과 같이 식을 작성하시면 될 것입니다.
input : shortP(10), midP(20);
var : 단기이평(0), 중기이평(0);
var : GoldHigh(0), GoldLow(0), DeadHigh(0), DeadLow(0), HighI(0), LowI(0), GoldI(0), DeadI(0), deadindex(0), GoldValue(0), DeadValue(0);
단기이평 = ma(C, shortP);
중기이평 = ma(C, midP);
if date != date[1] then {
GoldHigh = H; //당일 분봉에만 적용
GoldLow = L;
DeadHigh = H;
DeadLow = L;
LowI = i;
}
### 골든 크로스 시점에서의 고가및 저가값 초기화 작업
if crossup(단기이평, 중기이평) and stime < 150000 then {
GoldHigh = H; // 당일 중 골든 크로스 발생한 시점에서 고가를 초기화 함
GoldLow = L; // 당일 중 골든 크로스 발생한 시점에서 저가를 초기화 함
GoldI = i;
GoldValue = C;
}
### 데드 크로스 시점에서의 고가및 저가값 초기화 작업
if crossdown(단기이평, 중기이평) and stime < 150000 then {
DeadHigh = H; // 당일 중 데드 크로스 발생한 시점에서 고가를 초기화 함
DeadLow = L; // 당일 중 데드 크로스 발생한 시점에서 저가를 초기화 함
DeadI= i;
DeadValue = C;
}
### 골든 크로스 구간에서의 고가값
if accumN(iff(crossup(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 > 중기이평 and H > GoldHigh and stime < 150000 then {
GoldHigh = H; //당일 중 이전에 골든 크로스 난 적이 있어야 하며 단기가 중기보다 클 경우에만 고가를 그림
HighI = i;
}
else {
GoldHigh = GoldHigh;
HighI = HighI;
}
### 골든 크로스 구간에서의 저가값
if accumN(iff(crossup(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 > 중기이평 and L < GoldLow and stime < 150000 then {
GoldLow = L; //당일 중 이전에 골든 크로스 난 적이 있어야 하며 단기가 중기보다 클 경우에만 저가를 그림
HighI = i;
}
else {
GoldLow = GoldLow;
HighI = HighI;
}
### 데드 크로스 구간에서의 고가값
if accumN(iff(crossdown(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 < 중기이평 and H > DeadHigh and stime < 150000 then {
DeadHigh = H; // 당일 중 이전에 데드 크로스 난 적이 있어야 하며 단기가 중기보다 작을 경우에만 고가를 그림
LowI = i;
}
else {
DeadHigh = DeadHigh;
LowI = LowI;
}
### 데드 크로스 구간에서의 저가값
if accumN(iff(crossdown(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 < 중기이평 and L < DeadLow and stime < 150000 then {
DeadLow = L; //당일 중 이전에 데드 크로스 난 적이 있어야 하며 단기가 중기보다 작을 경우에만 저가를 그림
LowI = i;
}
else {
DeadLow = DeadLow;
LowI = LowI;
}
plot1(GoldHigh); //골드크로스와 데드크로스간의 최고가값
plot2(GoldLow); //골드크로스와 데드크로스간의 최저가값
plot3(DeadHigh); //데드크로스와 골드크로스간의 최고가값
plot4(DeadLow); //데드크로스와 골드크로스간의 최저가값
plot5(GoldValue);
plot6(DeadValue);
즐거운 하루 되세요....
> lakepine 님이 쓴 글입니다.
> 제목 : 답변이 질문 의도와는 좀 거리가 있어서 재질문합니다.
> 안녕하세요? 죄송하지만 다시 한번 부탁드립니다.
질문의도는.........현재의 시점(골든크로스 또는 데드크로스 시작된 시점부터-다시 데드크로스 또는 골든크로스 되기 직전,예를들면 선물 일봉에서 최근 2월13일에 10 이평과 20 이평이 골든크로스 되었으면,,,현구간(구간0)은 2월13일부터 오늘 현재 진행중인 골든크로스구간입니다.) 에서
구간1은 2004년 2월10일- 2월13일
구간2은 2003년 12월30일-2004년 2월10일
구간3은 2003년 12월24일-2003년 12월 30일 이 될 것입니다.
구하고자 하는 것은
구간 0의 최저가, 최고가, 골든 및 데드크로스 가격
구간 1의 최저가, 최고가, 골든 및 데드크로스 가격 (최고가
구간 2의 최저가, 최고가, 골든 및 데드크로스 가격
구간 3의 최저가, 최고가, 골든 및 데드크로스 가격
(구간0의 골든크로스가=구간1의 골든크로스가이겟지요?
2004년 2월 13일 크로스 지점)
이 경우, 2월 13일 이후부터 오늘 현재까지는 구간0의 각 값은 계속 변하겠지만, 다른 구간의 값들은 새로운 데드크로스가 나기 전까지는 일정한 가격이 유지되겠지요?
그리고 새로운 데드크로스가 나오면 각 구간은 한단계씩 이동되겠지요. 원래 구간3의 값들은 없어지고 구간2의 값들은 구간3의 값으로 변할 것입니다. 구간 4의 값들은 필요 없습니다.
좀 복잡하겠지만 여기에 맞게 다시한번 설명해 주신다면 감사하겠습니다.
답변 주신 내용은 일별 기준으로 고가(예)가 바뀌는군요. 참고로 데이 매매용이 아니고 포지션 매매를 위해 필요합니다.
알기 쉽게 일봉으로 설명했지만 실제로는 60분봉에서 10 이평과 20 이평을 기준으로 ...설명해 주시면 감사하겠습니다. 3시 이후봉 제외 설명은 생략해 주셔도 좋습니다.
---------------------------------------------------------------------------------
(전 답변 내용)
안녕하세요? 예스스탁입니다....
문의하신 식을 작성하면 다음과 같으며 3시 이후봉을 제외하려면 다음의 구문 "stime < 150000"을 아래와 같이 조건문에 넣으시면 됩니다...
input : shortP(5), midP(20), longP(120);
var : 단기이평(0), 중기이평(0), 장기이평(0);
var : HighV(0), LowV(0), HighI(0), LowI(0), GoldI(0), DeadI(0), deadindex(0), GoldValue(0), DeadValue(0);
단기이평 = ma(C, shortP);
중기이평 = ma(C, midP);
장기이평 = ma(C, longP);
if date != date[1] then {
HighV = H; //당일 분봉에만 적용
HighI = i;
LowV = L;
LowI = i;
}
if crossup(단기이평, 중기이평) and stime < 150000 then {
HighV = H; // 당일 중 골든 크로스 발생한 시점에서 고가를 초기화 함
GoldI = i;
GoldValue = C;
}
if crossdown(단기이평, 중기이평) and stime < 150000 then {
LowV = L; // 당일 중 데드 크로스 발생한 시점에서 저가를 초기화 함
DeadI= i;
DeadValue = C;
}
if accumN(iff(crossup(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 > 중기이평 and H > HighV and stime < 150000 then {
HighV = H; // 당일 중 이전에 골든 크로스 난 적이 있어야 하며 단기가 중기보다 클 경우에만 고가를 그림
HighI = i;
}
else {
HighV = HighV;
HighI = HighI;
}
if accumN(iff(crossdown(단기이평, 중기이평),1,0),dayindex()+1) >= 1 and
단기이평 < 중기이평 and L < LowV and stime < 150000 then {
LowV = L; // 당일 중 이전에 데드 크로스 난 적이 있어야 하며 단기가 중기보다 작을 경우에만 저가를 그림
LowI = i;
}
else {
LowV = LowV;
LowI = LowI;
}
plot1(HighV); //골드크로스와 데드크로스간의 최고가값
plot2(LowV); //데드크로스와 골드크로스간의 최저가값
plot3(GoldValue);
plot4(DeadValue);
2. 지표 산출 시 3시 이후의 봉은 제외하고 산출할 수 없나요?
> lakepine 님이 쓴 글입니다.
> 제목 : 수식 문의
> 상황 : 10 이평과 20 이평이 있을 경우, 이 두 이평선은 계속해서 골든 크로스와 데드 크로스를 번갈아 형성하면서 진행될 것입니다. 이 경우......현 시점은 골든 크로스로 막 전환된 이후 시점이라고 가정할 경우, 지난 그래프 모습은 데드크로스(구간3), 골든크로스(구간2), 데드크로스 구간(구간1), 골든크로스구간(구간0-현재 위치)의 순서로 구분하여 나눌 수 있을 것입니다.
질문1) 각각의 구간(구간0, 구간1, 구간2, 구간3)의 최고가격, 최저가격, 크로스가격 값을 표시하는 식(4구간*3개 해서 총 12개의 값이 나오겠죠?)
-------------------------------------------------------------------------
질문2) 지표 산출 시 3시 이후의 봉은 제외하고 산출할 수 없나요?
2004-03-10
1371
글번호 2743
답변완료
선물시스템식에서 순서..
시스템식에서 매수 매수청산후 다시 매수조건이 되었는데 나오지 않는데 어떻게 해야 되나요 매수-매수청산-매도-매도청산...이런식으로만 되는데 매수-매수청산후 매수조건이되어도 매수가 안뜨거든요 피라미딩은 모든거래허용해놓았고 진입신호도 모든거래허용으로 해놓고 시점은 onclose로 했음
부탁드립니다
[
2004-03-10
1432
글번호 2742
답변완료
이격도에 기준선1,2이 없어요
이격도 사용에 불편합니다.
기준선이 없어요
투자심리선처럼 기준선1,2 처럼 만들어서 알려주세요
빨리요
답변바람
2004-03-10
1538
글번호 2741
답변완료
조건 만족시 최근 20개봉의 최저가
조건 a가 발생했을 경우, 그 봉을 포함해서 최근 20개 봉(당일 및 전일의 봉 포함, 60분 봉 이용시 )의 저가중 최저가를 구하는 식을 부탁드립니다.
2004-03-10
1479
글번호 2737
소실대탐 님에 의해서 삭제되었습니다.
2004-03-10
9
글번호 2731
답변완료
★다시한질문드립니다★긴급
늘 투자자를 위하여 수고하시는 관계자님께 감사드립니다.
질의내용]
MACD에의한 수식을 요청합니다.
macd(shortPeriod,LongPeriod) 의 short은 12 이고, Long은 26 을 기준선으로하고,
eavg(macd(shortPeriod,LongPeriod),sigPeriod)의 signal선을 3개이상 추가한 기술적지표입니다.
즉, 시그널선을 4개를 추가하여서, macd기준선이 추가한 시그널선을 교차시마다
신호를 발생하는 시스템식을 구합니다.
기술적지표는 한개의 macd기준선에 차등적용한 시그널선을 적용하여,사용하고있으며,
이것을 시스템으로 구현하여 신호를 유발코저합니다.
아래 signal(n일의 지수이동평균선)를 순차적으로, 교차시에 신호를
발생 할 수 있는 시스템수식을 부탁드립니다.
1차'발생신호'signal선
eavg(macd(shortPeriod1,LongPeriod1),sigPeriod1)에 short1은12,long1은26,sig1은9값
2차'발생신호'signal선
eavg(macd(shortPeriod2,LongPeriod2),sigPeriod2)에 short2는18,long2는26,sig2는12값
3차'발생신호'signal선
eavg(macd(shortPeriod3,LongPeriod3),sigPeriod3)에 short3은18,long3은26,sig3은15값
4차'발생신호'signal선
eavg(macd(shortPeriod4,LongPeriod4),sigPeriod4)에 short4는20,long4는26,sig4는18값
입니다.
이에따른 시스템식
매수진입/매수청산/매도진입/매도청산식을 구하오니, 처리부탁드립니다.
감사합니다.
"관계자님의 요청으로, 재질의 하오며, 설명이미비하면, 011-9813-2580 번으로
전화주시면 감사하겠습니다."
수고를 부탁드립니다.
2004-03-10
1521
글번호 2730