커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1465
글번호 230811
답변완료
문의드립니다
20일전에 20%이상 상승했던종목을 찾고싶습니다
2024-01-19
920
글번호 175911
답변완료
수고하십니다.
당일=(DayClose()+DayHigh()+DayLow())/3;
A=당일+npdc(1)+npdc(2)+npdc(3)+npdc(4);
M1=A/5;
당일=(DayClose()+DayHigh()+DayLow())/3;
A=당일+npdc(1)+npdc(2)+npdc(3)+npdc(4)+npdc(5)+npdc(6)+
npdc(7)+npdc(8)+npdc(9)+npdc(10)+npdc(11);
M=A/12;
편차합=
pow(당일-m,2)+pow(npdc(1)-m,2)+pow(npdc(2)-m,2)+
pow(npdc(3)-m,2)+pow(npdc(4)-m,2)+pow(npdc(5)-m,2)+
pow(npdc(6)-m,2)+pow(npdc(7)-m,2)+pow(npdc(8)-m,2)+
pow(npdc(9)-m,2)+pow(npdc(10)-m,2)+pow(npdc(11)-m,2);
M2=M-1.2*sqrt(편차합/12);
CC=(M+M2)/2;
당일=(DayClose()+DayHigh()+DayLow())/3;
A=당일+npdc(1)+npdc(2)+npdc(3)+npdc(4);
M2=A/5;
편차합=
pow(당일-m2,2)+pow(npdc(1)-m2,2)+pow(npdc(2)-m2,2)+
pow(npdc(3)-m2,2)+pow(npdc(4)-m2,2);
CC1=M2+0.5*sqrt(편차합/5);
CC2=MAX(M1,CC,CC1);
(M1*수렴1>=CC && M1*수렴2<=CC) &&
(CC1*수렴1>=CC && CC1*수렴2<=CC) &&
(M1*수렴1>=CC1 && M1*수렴2<=CC1) &&
CROSSUP(C,CC2)
변수
수렴1 1.01
수렴2 0.99
추운날씨에 수고가 많습니다.
2024-01-19
675
글번호 175910
회원 님에 의해서 삭제되었습니다.
2024-01-19
242
글번호 175907
답변완료
문의
아래수식은 월간옵션 거래일 수식입니다.
만기기준일 0 은 만기일만 거래하게 됩니다.
*요청내용
from ~ to 개념의 수식을 요청드립니다.
input : 만기기준일(7), 만기기준일(0);
만기 7일전부터 만기일까지 사이의 날짜들을 거래하는 수식입니다.
만기기준일 7일 목요일
만기기준일 6일 금요일
만기기준일 5일 (토요일)
만기기준일 4일 (일요일)
만기기준일 3일 월요일
만기기준일 2일 화요일
만기기준일 1일 수요일
만기기준일 0일 목요일(월물 만기일)
항상 고맙습니다.
*************************************************************************
input:만기기준일(0);
Var : Year(0),Month(0),ndate1(0),ndate2(0);
var : cnt(0),count1(0),count2(0);
var : XD1(0),XD2(0),Xdate(0),remain(0);
Year = Floor(sDate / 10000)*10000;
month = Floor(FracPortion(sdate/10000)*100)*100;
ndate1 = year+month+1;
if Month+100 <= 1200 Then
ndate2 = year+(month+100)+1;
Else
ndate2 = (year+10000)+100+1;
count1 = 0;
count2 = 0;
for cnt = 0 to 15
{
if dayofweek(ndate1+cnt) == 4 Then
{
count1 = count1+1;
if count1 == 2 Then
{
XD1 = ndate1+cnt;
}
}
if dayofweek(ndate2+cnt) == 4 Then
{
count2 = count2+1;
if count2 == 2 Then
{
XD2 = nDate2+cnt;
}
}
}
if sDate <= XD1 Then
{
Xdate = XD1;
}
Else
{
Xdate = XD2;
}
if Xdate > 0 Then
{
remain = DateToJulian(Xdate)-DateToJulian(sDate);
}
if remain == 만기기준일 then
{
거래수식
}
2024-01-19
615
글번호 175905
심홍 님에 의해서 삭제되었습니다.
2024-01-19
592
글번호 175903
신호매매 님에 의해서 삭제되었습니다.
2024-01-19
11
글번호 175902
답변완료
문의 드립니다!
안녕하세요
아래수식에서 현재는 선과 선굵기로 설정되어있는데요
여기에 선과 함께 점이나 사각형, 원등을 추가해서 나타낼수있을까요?
가능하다면 굵기까지 조정이 가능토록 부탁드립니다
감사합니다
--------------------------------------------------
input : af(0.2), maxAF(0.3);
input : 텍스트출력(0),선굵기(5);
var : T(0),cnt(0),count(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0),day1(0),day0(0),TL3(0);
var : TL1(0),TL2(0),tx1(0),tx2(0),tx11(0),tx22(0),idx(0),tx99(0),tx88(0);
Array : HD[20](0),HT[20](0),HH[20](0),LD[20](0),LT[20](0),LL[20](0);
Array : HI[20](0),LI[20](0);
var1 = CSar(af,maxAF);
if bdate != bdate[1] Then
{
day0 = sdate;
day1 = day0[1];
}
if crossup(c,var1) Then
{
T = 1;
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
HI[0] = index;
for cnt = 1 to 19
{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
HI[cnt] = HI[cnt-1][1];
}
if LL[0] > 0 Then
{
Condition1 = false;
for cnt = 1 to 19
{
if Condition1 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition1 = true;
TL1 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL1,선굵기);
TL_SetColor(TL1,cyan);
idx = abs(LI[0]-LI[cnt]);
//tx99 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0));
Text_SetColor(tx99,cyan);
Text_SetStyle(tx99,0,3);
Text_SetBold(tx99,2);
PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav");
}
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
LI[0] = index;
for cnt = 1 to 19
{
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
LI[cnt] = LI[cnt-1][1];
}
if HH[0] > 0 Then
{
Condition2 = false;
for cnt = 1 to 19
{
if Condition2 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition2 = true;
TL2 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL2,선굵기);
TL_SetColor(TL2,cyan);
idx = abs(HI[0]-HI[cnt]);
//tx99 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0));
Text_SetColor(tx99,cyan);
Text_SetStyle(tx99,0,3);
Text_SetBold(tx99,2);
PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav");
}
}
}
}
if T == 1 then
{
if H > HH[0] Then
{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
if Condition3 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,cyan);
idx = abs(HI[0]-HI[cnt]);
//tx88 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0));
Text_SetColor(tx88,cyan);
Text_SetStyle(tx88,0,3);
Text_SetBold(tx88,2);
PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav");
}
}
}
if T == -1 then
{
if L < LL[0] Then
{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
if Condition3 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then
{
Condition3 = true;
TL3 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetSize(TL3,선굵기);
TL_SetColor(TL3,cyan);
idx = abs(LI[0]-LI[cnt]);
//tx88 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0));
Text_SetColor(tx88,cyan);
Text_SetStyle(tx88,0,3);
Text_SetBold(tx88,2);
PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav");
}
}
}
2024-01-19
796
글번호 175901
답변완료
수식 부탁드립니다.
A5 = ema(C,5);
A20 = ema(C,20);
A60 = ema(C,60);
A5U = A5 > A5[1] and CountIf( A5<A5[1], 변곡기간 )[1] == 변곡기간 ;
# 5이평 연속3봉하락후 상승전환, 변곡기간 3으로 설정
B = Ema(C,17);
BS = highest(iff(C>O, B, 0), 52);
var1 = wma(C, 12/2);
var2 = wma(C, 12);
HmaM = wma(2*var1-Var2,SqRt(12));
HmaMU = HmaM > HmaM[1] and CountIf( HmaM<HmaM[1], 변곡기간 )[1] == 변곡기간 ;
# HmaM 연속3봉하락후 상승전환, 변곡기간 3으로 설정
조건1) 20이평선이 60이평선을 데드클로스(하향이탈)후 골드(상향돌파)가 없어야 한다.
최근 120일이내에 없다는 기간설정이 아니라 데드후 골드가 없으면 기간 상관없이
적용되어야 한다.
조건2) BS선이 60이평선을 하향이탈후 60이평선보다 낮게 유지되어야한다
매수신호수식1 ~ 조건1과 조건2가 만족된 상태에서 A5U가 발생할 시의 신호수식
매수신호수식2 ~ 조건1이 유지된 상태에서 HmaMU가 2회이상 발생시의 매수신호수식
HmaMU가 처음발생된 가격선보다 2회이후 발생되는 가격선이 낮아야 한다.
여기서 가격선이라 함은 HmaMU발생시의 HmaM[1]임(변곡발생1봉전값)
2024-01-19
1020
글번호 175900
답변완료
경보 메시지 관련 문의
수고 많으 십니다.
아래의 수식 에서 조건(시가 고가/시가 저가) 발생시
경보 메시지(음성+메시지)를 띄울수 있게 수정 요청 드립니다.
참고로
"지표,강조,시스템...." 중 "지표(현재 설정)"강조로 변경 하면, "Plot" 명령을
실행 할수 없습니다.
plot명령과, 경보 메시지를 동시에 사용할 수는 없는 지요?
========================= 아래 ====================
input : ntime(60);
var : T1(0),S1(0),D1(0),TM(0),TF(0);
var:TextID(0);
if sdate != sdate[1] Then
{
T1 = Floor(sTime/10000)*10000;
S1 = TimeToMinutes(var1);
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
{
Var1 = Open;
Var2 = Close;
var3 = High;
Var4 = Low;
If Var1==Var3 Then Var5=Var1;
If Var1==Var4 Then Var6=Var1;
}
Plot1(Var5,"시가고가",Red);
Plot2(Var6,"시가저가",Blue);
}
===============================================
2024-01-19
688
글번호 175899