커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7021
글번호 230811
회원 님에 의해서 삭제되었습니다.
2022-07-14
195
글번호 160744
답변완료
시스템
안녕하세요
가령 아래식에서
Input : shortPeriod(5), longPeriod(20);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
# 매수/매도청산
If CrossUP(value1, value2) Then
{
Buy();
}
매수신호발생 봉의 종가기준으로 실제 진입은 그다음봉의 갯수와 상관없이
(봉의종가 가격 - 10틱)에서 즉시 혹은 그봉의 종가에서 매수진입
매도진입발생때까지 10틱아래까지 현재가가 오지않으면 그매수진입진입은 패스
부탁드립니다
수고하세요
2022-07-14
1477
글번호 160739
답변완료
수식 문의
기간값이 다른 임의의지표 (ex 스토캐스틱류) 지표 두 개를 서로 겹쳐서
그 차이를 구했습니다.
var1 - var2 ; 지표1과 지표2의 차이값
signal : (var1 - var2) 를 지수이동평균 함.
그 값을 바탕으로 강조식과 시스템식을 구하고 싶습니다.
항상 친절한 답변 감사드립니다.
########## 강조식 :
var1 - var2 가 양수일 때 @@색
var1 - var2 가
0보다 크긴하지만 n값보단 작을 때 회색
var1 - var2 가 음수일 때 ##색
var1 - var2 가
0보다 작긴하지만 -n값보단 클 때 회색
######### 시스템식 :
var1이 var2를 크로스업하면 매수 하되
단,
var1[1] 이 n값 이하 여야 함.
var1이 var2를 크로스다운하면 매도 하되
단,
var1[1] 이 n값 이상 여야 함.
(var1-var2)가 signal 선보다 n봉 이상 연속으로 높다면 매수 하되
단,
var1 값이 매수신호 발생 n1봉전, 한번이라도 x값 아래 있어야 함.
(var1-var2)가 signal 선보다 n봉 이상 연속으로 낮다면 매도
단,
var1 값이 매도신호 발생 n1봉전, 한번이라도 x값 위에 있어야 함.
###### 질문
(var1-var2)가 signal 선보다 n봉 이상 연속으로 낮다면...
이런 식의 조건이면,
조건이 부합하는 한 신호가 계속 나올 것 같거든요?
위 조건이 만족하는 순간 한번만 신호를 내려면 어떻게 해야 하나요?
2022-07-14
1968
글번호 160736
oni 님에 의해서 삭제되었습니다.
2022-07-14
3
글번호 160735
답변완료
수식작성 부탁드립니다.
안녕하십니까
항상 수고해주시는 점 먼저 감사드립니다.
이전에 부탁드린 수식을 최대한 간소화 하여 다시 부탁드립니다.
ㅇ 매수
1. 일봉상 당일 시초가가 5일선 위에서 시작하면 일봉 5일 이동평균선에 닿거나 하향 후 다시 5일선 위로 올라오면 바로매수
2. 일봉상 당일 시초가가 5일선 아래에서 시작하면 시초가로 매수
3. 매수는 전일 종가대비 시초가가 +-20% 이내일때만 발생
ㅇ 매도
1. 1분봉 20선 이격도 110상향 돌파
* 주문은 1일 1회만 발생 할수있게 부탁드립니다.
--------------------------------------------------------------------------------------------------------------------------------
ㅇ 매수
1. 일봉상 당일 시초가가 5일선 위에서 시작하면 일봉 5일 이동평균선에 닿거나 하향하면 바로매수
2. 일봉상 당일 시초가가 5일선 아래에서 시작하면 시초가로 매수
3. 매수는 전일 종가대비 시초가가 +-20% 이내일때만 발생
ㅇ 매도
1. 1분봉 20선 이격도 110상향 돌파
* 주문은 1일 1회만 발생 할수있게 부탁드립니다.
위 두가지 버전으로 부탁드립니다.
더운날씨 항상 건강하십시오.
잘부탁 드립니다.
감사합니다.
2022-07-14
2243
글번호 160730
답변완료
문의드립니다
안녕하세요수고하십니다
시스템 차트에서 익절의경우 매수로 익절하던 매도로 익절하던
신호에색깔이 똑같이 나오는데
매수 익절과 매도 익절의 색깔을 각각 다르게 표현 하는 방법이 있나요?
2022-07-14
1728
글번호 160729
답변완료
종목검색식 문의드려요
수고하십니다 종목검색 문의드립니다
전에 문의드려서 사용중인 종목 검색식인데요 아래는
input : 기간1(5),기간2(20);
var : m1(0),m2(0),A(0);
M1 = ma(C,기간1);
M2 = ma(C,기간2);
if CrossUp(M1,M2) Then
A = H;
if A > 0 and crossup(M1, A) Then
Find(1);
위에 검색식에서 검색되는 종목의 고점을 종가로 돌파 마감하는 종목을 검색하고싶습니다
부탁드립니다~~
2022-07-14
1509
글번호 160728
답변완료
지표 수정
안녕하세요
64674번(5.5).(20.20)2개를 한지표 에서나타내고
싶어요
변수는 바꿀수있게 잘 부탁드립나다
2022-07-14
1684
글번호 160727
답변완료
지그재그 차트
안녕하세요 개발자님. 첨부된 사진은 예전에 개발자님께서 작성해주신 지그재그 차트입니다. 주봉에 적용되었고, length(기간) 은 2 입니다.
혹시 이 주봉에 적용된 지그재그 차트와 함수를 일봉에 그대로 옮겨와 적용시키는게 가능할까요?
아래는 지그재그 함수 입니다. 항상 도움 주셔서 감사합니다!
input:length(12);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),process(0),T(0);
Array:HH[10,2](0),LL[10,2](0);
process = 0;
If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then
{
If LL[1,1] > L Then process = -1;
If HH[1,1] < H Then process = 1;
}
Else If Highest(H,length) == H and lastHiVal <> H Then process = 1;
Else If Lowest(L,length) == L and lastLoVal <> L Then process = -1;
If process == 1 Then
{
T = 1;
lastHiVal = H;
If HH[1,2] < LL[1,2] Then
{
For j = 10 DownTo 2
{
HH[j,1] = HH[j-1,1];
HH[j,2] = HH[j-1,2];
}
}
If HH[1,2] < LL[1,2] or HH[1,1] < H Then
{
HH[1,1] = H;
HH[1,2] = Index;
sBar = Index - LL[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
if LL[1,1] > 0 Then
{
TL1 = TL_New(sDate[sBar],sTime[sBar],LL[1,1],sDate[eBar],sTime[eBar],HH[1,1]);
Text1 = Text_New(sDate[eBar],sTime[eBar],HH[1,1],NewLine+NumToStr(HH[1,1],2));
Text_SetStyle(Text1, 2, 1);
}
Else
{
Text_Delete(text1);
Text1 = Text_New(sDate[eBar],sTime[eBar],HH[1,1],NewLine+NumToStr(HH[1,1],2));
Text_SetStyle(Text1, 2, 1);
}
Text_SetStyle(Text1, 2, 1);
}
}
If process == -1 Then
{
T = -1;
lastLoVal = L;
If LL[1,2] < HH[1,2] Then
{
For j = 10 DownTo 2
{
LL[j,1] = LL[j-1,1];
LL[j,2] = LL[j-1,2];
}
}
If LL[1,2] < HH[1,2] or LL[1,1] > L Then
{
LL[1,1] = L;
LL[1,2] = Index;
sBar = Index - HH[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
if HH[1,1] > 0 Then
{
TL1 = TL_New(sDate[sBar],sTime[sBar],HH[1,1],sDate[eBar],sTime[eBar],LL[1,1]);
Text1 = Text_New(sDate[eBar],sTime[eBar],LL[1,1],NumToStr(LL[1,1],2));
Text_SetStyle(Text1, 2, 0);
}
Else
{
Text_Delete(text1);
Text1 = Text_New(sDate[eBar],sTime[eBar],LL[1,1],NumToStr(LL[1,1],2));
Text_SetStyle(Text1, 2, 0);
}
}
}
if T == 1 and CrossUp(C,HH[2,1]) Then
Buy();
if T == -1 and CrossDown(C,LL[2,1]) Then
Sell();
2022-07-14
1608
글번호 160726