커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6062
글번호 230811
답변완료
문의 드립니다.
안녕하세요 항상 노고에 감사드립니다.
사용중인 지푱인데요..
input : Period(14),Period1(20),Period2(30),Period3(40);
var : T(0);
var1 = WMA(2*WMA(c, Period/2) - WMA(c, Period), Sqrt(Period));
var2 = WMA(2*WMA(c, Period1/2) - WMA(c, Period1), Sqrt(Period1));
var3 = WMA(2*WMA(c, Period2/2) - WMA(c, Period2), Sqrt(Period2));
var4 = WMA(2*WMA(c, Period3/2) - WMA(c, Period3), Sqrt(Period3));
if var2 > var2[1] then
T = 1;
else
T = -1;
if T == 1 and T != T[1] Then
buy();
if T == -1 and T != T[1] Then
sell();
여기에서 Period1 에관한 선만으로 상승시 노랑색 하락시 파란색으로 표시중인데요..
이것을 강세 약세로 나타내고 싶어서 수식을 문의 드립니다.
감사합니다.
2021-10-26
649
글번호 153177
답변완료
문의
74432
값 대입에서 문의합니다
1]초기값-
HH 와 LL 에서 값을 대입할수있는 변수나 배열의 요소,입력변수, 입력변수 배열의 요소가 와야합니다
1]예제가 있었으면 합니다.
-----------------------------------------------------------
2]6분봉 왼쪽의 10번째봉사이에서에서(1~10사이)가장높은 봉의 고가 돌파시 매수신호/즉시매수
3]30분봉 왼쪽의 10번째에 해당하는 봉의 고가 돌파시 매수신호/즉시매수
4]6분봉의 왼쪽 10~1사이의 최고가돌파와 30분의 10번째 해당하는 봉의 고가 돌파가
동시에 만족할때 6분에서 매수신호/즉시매수.
5]6분봉의 왼쪽 10~1사이의 최저가돌파와 30분의 10번째 해당하는 봉의 저가 돌파가
동시에 만족할때 6분에서 매도신호/즉시매도.
*6분봉에서 먼저 매수 매도 신호가 나와 있고 후에 30분봉에서 매수 매도 신호가 나오면 그때 매수 매도가 들어가는 경우,
30분봉에서 매수 매도 신호가 나와 있는 상태에서 6분봉 조건에 따라 6분봉에서 매수 매도 신호가 나오면 그때 매수 매도가 들어가는 경우,
비슷한 시간이나 동시에 6분봉과 30분봉에 매수 매도 신호가 나와서 들어가는 경우가 있을 수 있습니다.
어떤 경우의 수든 같은 방향으로 매수 매도 신호가 6분봉과 30분봉에 같이 나올 때 매수 매도 진입하길 원합니다.
감사합니다~~
2021-10-26
833
글번호 153176
베어샘 님에 의해서 삭제되었습니다.
2021-10-26
66
글번호 153175
답변완료
문의 드립니다.~
수고하십니다~
아래와 같이 시간설정을 하였는데
질문1 다른 시간데는 정상적으로 돌아가는데
input : StartTime3(003000),EndTime3(010000);
에서는 0시 30분 부터가 아니고 00시 부터 시작됩니다.
왜 그런지요?
질문2 1분봉 차트에서는 전체시간이 돌아가는데
틱봉에서는
input : StartTime1(183000),EndTime1(193000); 부분만 돌아가고
다른 시간대는 실행되지 않는데 틱봉에서도 설정된 전체시간이
실행되게 하려면 어떻게 해야 하나요?
input : StartTime1(183000),EndTime1(193000);
input : StartTime2(220000),EndTime2(223000);
input : StartTime3(003000),EndTime3(010000);
input : StartTime4(010000),EndTime4(013000);
input : ntime(100000),n(10);
var : Tcond(false);
var : OO(0),HH(0),LL(0);
if (sdate != sdate[1] and stime >= EndTime1) or
(sdate == sdate[1] and stime >= EndTime1 and stime[1] < EndTime1) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime1) or
(sdate == sdate[1] and stime >= StartTime1 and stime[1] < StartTime1) Then
{
Tcond = true;
SetStopEndofday(EndTime1);
}
if (sdate != sdate[1] and stime >= EndTime2) or
(sdate == sdate[1] and stime >= EndTime2 and stime[1] < EndTime2) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime2) or
(sdate == sdate[1] and stime >= StartTime2 and stime[1] < StartTime2) Then
{
Tcond = true;
SetStopEndofday(EndTime2);
}
if (sdate != sdate[1] and stime >= EndTime3) or
(sdate == sdate[1] and stime >= EndTime3 and stime[1] < EndTime3) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime3) or
(sdate == sdate[1] and stime >= StartTime3 and stime[1] < StartTime3) Then
{
Tcond = true;
SetStopEndofday(EndTime3);
}
if (sdate != sdate[1] and stime >= EndTime4) or
(sdate == sdate[1] and stime >= EndTime4 and stime[1] < EndTime4) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime4) or
(sdate == sdate[1] and stime >= StartTime4 and stime[1] < StartTime4) Then
{
Tcond = true;
SetStopEndofday(EndTime4);
}
Tcond = true;
OO = O;
HH = H;
LL = L;
if Tcond == true Then
{
if TotalTrades > TotalTrades[1] Then
{
OO = O;
HH = H;
LL = L;
}
if HH > 0 and H > HH Then
HH = H;
if LL > 0 and L < LL Then
LL = L;
if MarketPosition == 0 and OO > 0 and LL > OO-PriceScale*n Then
Sell("s",AtLimit,LL+PriceScale*n);
if MarketPosition == 0 and OO > 0 and HH < OO+PriceScale*n Then
Buy("b",AtLimit,HH-PriceScale*n);
2021-10-26
921
글번호 153163
신대륙발견 님에 의해서 삭제되었습니다.
2021-10-26
17
글번호 153162
답변완료
수치 범위에 관해서 질문드립니다
안녕하세요
분봉상에서 일봉 이동평균선을 표현하는데
키움에서는 범위지정 방법이 없어서 일일이 수치를 입력해줘야 하는데
예스에서는 간단하게 표현할 수 있는 방법이 있을까요?
예로 20일 이평을 구하려는데 모든 수치를 작성해야되서요
sv1=(npredayclose(4)+npredayclose(3)+npredayclose(2)+
npredayclose(1)+dayclose())/5;
sv2=(npredayclose(19)+npredayclose(18)+npredayclose(17)+
npredayclose(16)+npredayclose(15)+npredayclose(14)+
npredayclose(13)+npredayclose(12)+npredayclose(11)+npredayclose(10)
+npredayclose(9)+npredayclose(8)+npredayclose(7)+
npredayclose(6)+npredayclose(5)+npredayclose(4)+
npredayclose(3)+npredayclose(2)+
npredayclose(1)+dayclose())/20;
2021-10-26
969
글번호 153161
답변완료
시스템 이상 검토의뢰
안녕하세요
예스스탁입니다.
Input : Period1(1), Period2(15), Period3(30), Period4(60), Period5(120),period6(240),Period7(480), Period8(960), Period9(1920), Period10(3840),period11(7680);
var : T(0);
var3 = ma(C,Period3);
var4 = ma(C,Period4);
var8 = ma(C,Period8);
var10 = ma(C,Period10);
if CrossUp(var8,Var10) Then
T = 1;
if CrossDown(var8,Var10) Then
T = -1;
if T == -1 and CrossUp(Var3,Var4) Then
Buy();
if T == 1 and CrossDown(Var3,Var4) Then
Sell();
즐거운 하루되세요
> tnsflwls 님이 쓴 글입니다.
> 제목 : 시스템 작성 의뢰
>
수고 하십니다 !
Input : Period1(1), Period2(15), Period3(30), Period4(60), Period5(120),period6(240),Period7(480), Period8(960), Period9(1920), Period10(3840),period11(7680);
이동평균선 8선 이 이동평균선 10선 을 크로스다운 하고 난 다음에 이동평균선 3선이
이동평균선 4선 을 크로스업 할때는 매수 를 ,
이동평균선 8선 이 이동평균선 10선 을 크로스업 하고 난 다음에 이동평균선 3선이
이동평균선 4선 을 크로스다운 할때는 매도 를 할수있는 수식을 부탁 드립니다.
##### 수식을 적용하였으나 매매 체결이 안되는데요 , 우선 먼저 이평8 선과 10선이
크로즈를 하고 난 다음 , 한참 진행이 된 후에 이평3 선과 4선이 크로즈될때 매매 체결이
되는수식으로 작성을 다시 한번 부탁 드립니다.
*** 수고 하세요 ***
2021-10-26
946
글번호 153157
답변완료
문의 드립니다.
안녕하세요.
시스템 구현에 있어서 어려움을 겪고 있어서 문의 드립니다.
[1]은 지표 구현에 관련된 질문입니다.
[2]은 [1]을 활용한 시스템 설정입니다.
만약 구현이 가능하지 않는다면 몇번 항목이 안되는지, 그리고 대체 방안을 알려 주시면 감사하겠습니다.
[1] 새로운 하루가 시작되었을 시
변수를 모두 초기화를 시키고 해당 조건을 만족한 시점부터
지표를 생성한다.
예) 장 시작 후 양봉이 연속해서 6개 발생 할 경우
6개 봉의 최고점 값과 최저점 값을 표시하는 지표(화면 표시)를 생성.
이후, 새로운 6연속 양봉 생성시 지표 값을 갱신.
다음날 장 시작 시, 어제의 지표 값은 초기화. 양봉 6개 연속해서 발생 시 다시 지표 생성
[2]
A : 최초로 발생한 6연속 양봉의 (최고점)
B : 최초로 발생한 6연속 양봉의 최저점
C : 두번째로 발생한 6연속 양봉의 (최고점)
D : 두번째로 발생한 6연속 양봉의 최저점
거래시간: [진입시간: 금일 오전 11시부터 익일 오전 1:00,
청산시간: 금일 오전 11시부터, 익일 오전 5:30분 (장종료 30분전까지)]
1. 지표 값이 생성(최초로 발생한 6연속 양봉) 된 이후
-> A 돌파 시 한번의 매수 기회 / B 돌파 시 한번의 매도 기회가 주어진다.
예) A돌파 후 B에서 손절 -> B 스위칭 -> A도달시 손절 후 스위칭을 하지 않는다.
예) A돌파 후 목표가 청산 - > B돌파 이후 목표가 청산
- > A 또는 B 다시 돌파시 거래하지 않는다.
목표가: 1) 매수 진입 시: A+ (A-B) / 매도 진입시: B - (A-B)
2) 매수 진입(A 돌파) 시 손절 또는 수익 발생 후 다시 A를 돌파 하여도 거래하지 않는다.
매도 진입(B 돌파) 시 손절 또는 수익 발생 후 다시 B를 돌파 하여도 거래하지 않는다.
손절가: 1) A 돌파 시, B 값에 손절 후 스위칭(최초 B값 진입 시 스위칭 진행) /
B 돌파 시, A 값에 손절 후 스위칭(최초 A값 진입 시 스위칭 진행)
*목표가 및 손절가에 도달하지 못하고 지표 값이 갱신 될 경우 2번으로 넘어간다.
2. 지표 값이 갱신(새로운 6연속 양봉 발생) 된 이후
A) 보유하고 있는 포지션이 없을 경우
-> C 돌파 시 한번의 매수 기회 / D 돌파 시 한번의 매도 기회가 주어진다.
예) C돌파 후 B에서 손절 -> D 스위칭 -> C도달시 손절 후 스위칭을 하지 않는다.
예) C돌파 후 목표가 청산 - > D돌파 이후 목표가 청산
- > C 또는 D 다시 돌파시 거래하지 않는다.
목표가: 1) 매수 진입 시: C + (C-D) / 매도 진입시: D - (C-D)
2) 매수 진입(C 돌파) 시 손절 또는 수익 발생 후 다시 C를 돌파 하여도 거래하지 않는다.
매도 진입(D 돌파) 시 손절 또는 수익 발생 후 다시 D를 돌파 하여도 거래하지 않는다.
손절가: 1) C 돌파 시, D 값에 손절 후 스위칭(최초 D값 진입 시 스위칭 진행) /
D 돌파 시, C 값에 손절 후 스위칭(최초 C값 진입 시 스위칭 진행)
B) 포지션을 보유하고 있을 경우 (A 또는 B에서 진입한 경우)
-> 매수 또는 매도를 이미 진입한 경우 C, D를 이용하여 목표 값 및 손절 값을 새롭게 갱신한다.
목표가: 1) 매수 진입 시: C + (C-D) / 매도 진입시: D - (C-D)
2) 매수 포지션을 손절 또는 수익 발생 후 C를 돌파하는 경우 단 한번 거래를 진행한다.
매도 포지션을 손절 또는 수익 발생 후 D를 돌파하는 경우 단 한번 거래를 진행한다.
손절가: 1) C 돌파 시, D 값에 손절 후 스위칭(최초 D값 진입 시 스위칭 진행) /
D 돌파 시, C 값에 손절 후 스위칭(최초 C값 진입 시 스위칭 진행)
3. 지표 값이 지속적으로 갱신 될 경우 (E,F / G,H / I,J ....)
-> 2번을 반복한다.
4. 목표 값 및 손절 값을 도달 못할 시 익일 오전 5:30분 (장 종료 30분전)에 보유 중인 모든 포지션을
자동 청산한다.
감사합니다.
2021-10-26
838
글번호 153156
답변완료
도움을 부탁드리겠습니다.
안녕하세요...항상 감사합니다.
일봉에서 검색식 세가지 요청드립니다.
5ma 20ma 두이평 선이 ..
1>
1일차 골드크로스, 2일차 <음봉>, 3일차 오늘 검색
골드크로스 발생한날 거래량,시가,종가
2일차 음봉의 거래량, 시가,종가
3일차인 오늘 검색식을 써서,
2일차 음봉거래량이 1일차 골드크로스날보다 작고,
2일차 음봉종가가, 1일차 시가+종가의 중간이상인 종목 검색
2>
1일차 골드크로스, 2일차 양봉, 3일차 <음봉>, 4일차가 오늘
1일차 골드크로스 발생한날 거래량,시가,종가
2일차 양봉일것
3일차 음봉의 거래량 시가, 종가 를 변수에 담고
4일차인 오늘 검색식을 써서
3일차 음봉거래량이 1일차 골드크로스날보다 작았고,
3일차 음봉종가가, 1일차 시가+종가의 중간이상인 종목 검색
3> 혹시 위의 두식을 일반화 해서
골드크로스 이후 2일차 첫음봉발생, 또는 3일차 첫음봉발생,
또는 n일차에 "첫 음봉발생"하고,
음봉거래량이 골드크로스 날보다작고, 음봉종가는 골드크로스날의 중간이상...을
n일차 변수로 해서 작성할수 있을까요..
2021-10-26
1079
글번호 153155