커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3653
글번호 230811
답변완료
plot을 점선으로 표시하고 싶습니다.
plot을 점선으로 표시하고 싶습니다.
그리고 plot로 표현할 수 있는 선의 종류와 방법 좀 알려주세요.
2020-09-29
811
글번호 142765
답변완료
부탁 드립니다.
도움에 감사 드립니다.
타주기 수식 부탁 드립니다.
1)10분봉차트에서 60분봉 지표
2)60분봉차트에서 일봉지표
미리 경배로 감사 인사 올립니다.
아울러 추석 명절 잘보내시기 바랍니다.
input : length(20),mult(1),sig(5);;
var : src(0),a(0),b(0),size(0);
if a[1] > a[2] Then
{
Condition1 = true;
var1 = 0;
}
Else
{
if Condition1 == true Then
var1 = var1+1;
}
if b[1] < b[2] Then
{
Condition2 = true;
var2 = 0;
}
Else
{
if Condition2 == true Then
var2 = var2+1;
}
size = iff((a[1]-a[2]) > 0 or (b[1]-b[2]) < 0 , 1 ,0);
a = max(c,a[1]) - size/pow(length,2)*(var1*mult);
b = min(c,b[1]) + size/pow(length,2)*(Var2*mult);
var11=(a+b)/2;
var3=c-var11;;
var33=ma(var3,sig);
2020-09-29
903
글번호 142756
답변완료
Y축 분리문의
안녕하세요 담당자님
우선 늘 감사 드립니다.
제가 궁금한것은 아래와 같은 수식을 적용했을때
Y축을 같이써서 캔들이 너무 작게 나오는데
Y축을 다른 지표추가 할때 처럼 분리해서
캔들도 정상으로 나오게 하는 방법이 있는지 문의 드립니다.
미리 답변에 대한 감사 드립니다.
Input : Period1(20), Percent1(6), Period2(30), Percent2(6);
var : center1(0),UPline1(0),DNline1(0),center2(0),UPline2(0),DNline2(0);
var : HRwave1(0);
center1 = ma(C, Period1);
UPline1 = EnvelopeUp(Period1, Percent1);
Dnline1 = EnvelopeDown(Period1, Percent1);
center2 = ma(C, Period2);
UPline2 = EnvelopeUp(Period2, Percent2);
Dnline2 = EnvelopeDown(Period2, Percent2);
HRwave1 = ((Dnline2-Dnline1)/(Dnline2+Dnline1))*100000;
Plot1(center1, "중앙선");
Plot2(UPline1, "EnvelopeUp");
Plot3(Dnline1, "EnvelopeDown");
Plot4(center2, "중앙선");
Plot5(UPline2, "EnvelopeUp");
Plot6(Dnline2, "EnvelopeDown");
Plot7(HRwave1, "신호");
PlotBaseLine1(0, "기준선1");
2020-09-29
936
글번호 142754
답변완료
문의
*전제
차트에 정수 1.00 포인트 간격의 가로선을 긋습니다.
daily 하이로우가 10 포인트라면 10 개의 간격선이 있겠지요.
신호는 가격이 간격선을 터치했을 때 발생합니다.
신호 후 추세를 검증한 후 buy와 sell 진입
-buy식 돌파, 되돌림
-sell식 돌파, 되돌림
총 4개의 수식입니다.
데이트레이딩용이므로
금일 발생봉으로 계산하는 수식 부탁드립니다.
1.buy 전용 수식(간격선 0.70 돌파)
가격이
정수 1.00 포인트 간격선을 터치한 적이 없다가
위로 가면서 간격선을 건드리면 up 신호 발생
간격선에서 0.70 포인트 상승하면 buy 진입
buy 305.70(간격선 + 0.70)
신호 305.00(간격선)
시가 304.95
저가 304.05
2.buy 전용 수식(간격선 0.70 되돌림)
가격이
정수 1.00 포인트 간격선을 터치한 적이 없다가
아래로 내려오면서 간격선을 건드리면 up 신호 발생
간격선에서 0.70 포인트 상승하면 buy 진입
시가 304.95
신호 304.00 간격선
신호 303.00 간격선
- 하락 진행 중이며 간격선 + 0.70 상승 없음
- 303.05에서 303.95까지 0.90을 상승한 적이 있으나 간격선+0.7이 아니므로 무시
신호 302.00 간격선 - - - > buy 302.70(간격선 + 0.70)
저점 301.80
3. sell 전용 수식(간격선 0.70 돌파)
가격이
정수 1.00 포인트 간격선을 터치한 적이 없다가
아래로 가면서 간격선을 건드리면 down 신호 발생
간격선에서 0.70 포인트 하락하면 sell 진입
고가 304.95
시가 304.55
신호 304.00 간격선
sell 303.30 (간격선-0.70)
4.sell 전용 수식(간격선 0.70 되돌림)
가격이
정수 1.00 포인트 간격선을 터치한 적이 없다가
위로 가면서 간격선을 건드리면 down 신호 발생
간격선에서 0.70 포인트 하락하면 sell 진입
고점 307.40
신호 307 간격선 - - - > sell 306.30
- 상승 진행 중이며 간격선 - 0.70 하락 없음
- 306.95에서 306.05까지 0.90을 하락한 적이 있으나 간격선-0.7이 아니므로 무시
신호 306.00 간격선
신호 305.00 간격선
시가 304.95
2020-09-29
1051
글번호 142753
답변완료
피보선 좀 부탁 드립니다.
* 좋은 추석 되십시요.
* 특정 가격대 피보선 좀 요청 드립니다.
즉 3326 고가 3207 저가를 기준으로 피보선을 그리고 싶습니다.
* 아니면 특정봉 시간을 찍어 줘야 하나요?
## 아래 처럼 하니까 안되네요.... 수정 좀 요청 드립니다.
input : Per1(23.6),Per2(38.2),Per3(50.0),Per4(61.8),Per5(76.4);
var : HH(0),LL(0),RR(0);
HH = 3326 ;
LL = 3207;
RR = HH-LL;
var1 = HH - RR*(Per1/100);
var2 = HH - RR*(Per2/100);
var3 = HH - RR*(Per3/100);
var4 = HH - RR*(Per4/100);
var5 = HH - RR*(Per5/100);
plot1(var1) ;
plot2(var1) ;
plot3(var1) ;
plot4(var1) ;
plot5(var1) ;
* 고맙습니다. 좋은 추석 되십시요.
2020-09-29
1090
글번호 142752
답변완료
문의 드립니다.
안녕하세요. 항상 감사합니다.
이프랜드 예스글로벌에서
120틱봉을 보고 있습니다.
혹시 지금 만들어지고있는 봉이 몇틱째인지 표시할 수 있을까요?
120틱마다 봉이 만들어지는데, 실시간으로 지금 몇틱째인지 현재봉에만 표시가 되면 좋겠습니다.
2020-09-28
1066
글번호 142750
답변완료
특정 조건을 만족하는 날의 종가를 Value값으로 하는 시스템식 부탁드립니다.
당일기준으로 25일 이내에
전일 종가 대비 종가 5% 이상
and
전일 종가 대비 고가가 20% 이상
and
양봉
위와 같은 조건을 만족하는 봉이 발생했는지 확인하고, 발생했다면
해당일의 종가를 Value로 저장하는 시스템식을 부탁드립니다.
FOR문을 이용하면 될 것같아서 열심히 찾아봤는데, 이런 다중 조건일 때는 잘 모르겠습니다.
즐거운 명절 되세요.
2020-09-28
995
글번호 142749
답변완료
69351번 재문의
답변 감사드립니다.
가르쳐 주신대로
아래와 같이 수정을 해 보았지만 여전히 N/A 를 리턴합니다.
var : 옵션6번_시작가(0, data6);
IF Data6(OpenD(0)) > 0 then
옵션6번_시작가 = Data6(OpenD(0));
else 옵션6번_시작가 = 0;
plot1(옵션6번_시작가, "옵션6번_시작가");
한번 더 도와주시기를 부탁드립니다.
=========== 69351번 질의에 대한 답변 =====
안녕하세요
예스스탁입니다.
첫 거래가 09:36이면 시초가도 09:36이후에만 리턴이 됩니다.
그러므로 시초가가 필요한 모든 로직에
옵션6번_시작가 > 0이라는 조건을 추가하셔서
시초가가 수신된 이후에 해당값을 이용한 로직이 수행되게 하셔야 합니다.
별도의 방법이 없습니다.
즐거운 하루되세요
> 스퍼트시커 님이 쓴 글입니다.
> 제목 : 첫거래일 개장초반에 거래가 없는 옵션의 당일시가 구하기
> 이전의 문의 사항 "지표값을 월물 단위로 리세팅하기"에 대한
신속하고 상세한 답변 감사드립니다.
전략차트내의 6번째 데이터가 위클리 옵션 302.5인데요.
위클리옵션 주물 첫날인 9월 24(목)에는
첫 거래가 09:36에 이루어 졌습니다.
그런데 다음과 같은 수식의 결과가 값이 나타나지 않고
다음날(25일, 금)에는 정상 적으로 나타납니다.
var : 옵션6번_시작가(0, data6);
옵션6번_시작가 = Data6(OpenD(0));
plot1(옵션6번_시작가, "옵션6번_시작가");
개장 직후에 거래가 없어서 당일(24일) 시가를
인식하지 못하는 것 같습니다.
이럴 경우 당일시가를 활용하려면 어떻게 해야 하는지
도와주시기 바랍니다.
2020-09-28
947
글번호 142748
답변완료
부탁 드립니다.
도움에 감사 드립니다.
TrueRange의
타주기 수식 부탁 드립니다.
1)10분봉차트에서 60분봉 지표
2)60분봉차트에서 일봉지표
TrueRange = TrueHigh - TrueLow;
참고수식1)
If C[1] > H then
TrueHigh = C[1];
else
TrueHigh = H;
참고수식2)
If C[1] < L then
TrueLow = C[1];
else
TrueLow = L;
참고수식3)
ATR의 타주기(분봉용)지표
input : ntime(NUMERIC),Period(NUMERIC);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),HH(0),LL(0),CC(0),C1(0);
var : sumTR(0),ATRV(0);
Array : TH[70](0),TL[70](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
HH = H;
LL = L;
C1 = CC[1];
for cnt = 1 to 69
{
TH[cnt] = TH[cnt-1][1];
TL[cnt] = TL[cnt-1][1];
}
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
CC = c;
TH[0] = max(C1,HH);
TL[0] = Min(C1,LL);
if TH[Period-1] > 0 and TL[Period-1] > 0 then
{
sumTR = 0;
for cnt = 0 to Period-1
{
sumTR = sumTR + (TH[cnt]-TL[cnt]);
}
ATRV = sumTR/Period;
// plot1(ATRV);
TEST900=ATRV;
}
}
2020-09-28
985
글번호 142742