커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1396
글번호 230811
hakona 님에 의해서 삭제되었습니다.
2024-06-18
21
글번호 180726
답변완료
수식의뢰 드립니다.
안녕하세요!
매매에 도움을 받고져 문의드립니다.
아래 계산식이 가능한지 잘 모르겠지만 이평선기울기 같은 선형태로 부탁드립니다.
1. 고가 = 고가 - 지수이동평균
2. 저가 = 저가 - 지수이동평균
3. 거래량 = (종가-저가)-(고가-종가)
-----------------------
고가 - 저가
4. 중간점 = (고가 - 저가)
------------ + 저가
2
5. 주가(선물)상하 거래량 세기 = 주가 상승일 거래량 합계 + 보합일 거래량 / 2
------------------------------------------- X 100
주가 하락일 거래량 합계 + 보합일 거래량 / 2
6. (코스피200종목)등락비율 = 상승종목수 / 하락종목수 X 100
2024-06-18
710
글번호 180725
답변완료
수식문의
안녕하세요,,
언제나 친절한 답변 감사드립니다. 아래(키움신호)수식을 예스“종목검색수식”으로
부탁드립니다. 건강하세요
A1=LinearRegressionValue(C,기간1,0);
A2=LinearRegressionValue(A1,기간1,0);
A3=LinearRegressionValue(C,기간2,0);
A4=LinearRegressionValue(A3,기간2,0);
b1 = A1-A2;
b2 = A3-A4;
d1 = A1+b1;
d2 = A3+b2;
d3=valuewhen(1, crossdown(d2, d1), C);
** 지표변수 : 기간1 90 기간2 20
C>d3 and L<=d3 and C>=O
2024-06-18
817
글번호 180724
답변완료
수식 부탁드립니다
수고하십니다
2개의 데이터 이평선 차이값으로 시스템을 만들려 합니다
잘안되어서요
수식수정 부탁드립니다
감사합니다
Input :익절(0),손절(0);
Inputs: D1Len(20), D2Len(20);
var : D1(0,Data1),D2(0,Data2);
D1 = MA(Close, D1Len);
D2 = MA(Close, D2Len);
var : diff(0),T(0);
#2개 이평 데이타의 차이
diff = abs(D1-D2);
#상승
if diff > diff[1] Then
T = 1;
#하락
if diff < diff[1] Then
T = -1;
#이격 상승전환
if T == 1 and T != T[1] Then
Buy();
#이격 하락전환
if T == -1 and T != T[1] Then
ExitLong();
SetStopProfittarget(익절,PointStop);
SetStopLoss(손절,PointStop);
2024-06-18
1018
글번호 180723
답변완료
수식 변환 부탁드립니다.
K사 신호수식인데요 예스종목검색으로 변환부탁드립니다.
기간: 10
기간1: 18
shortPeriod: 5
midPeriod: 13
Period: 20
D1: 2
Bi=sum(v*((Pow((C-L),2) - Pow((H-C),2))/(H-L)));
B1=BWI(기간, 2);
B2=BWI(기간1,2);
BB=BBandsUp(Period,D1);
10=ma(c,10, 지수);
전환=(highest(high,shortPeriod)+
lowest(low,shortPeriod))/2;
기준=(highest(high,midPeriod)+
lowest(low,midPeriod))/2;
Bi>=Bi(1) and
(B1>B1(1) or B2>B2(1)) and
c>10 and c>전환 and
전환>10 and
OBV()>Ma(OBV(), 9, 지수) and
전환>=기준 and 전환>전환(1) and
기준>기준(1) and CrossUp(c,BB)
항상감사합니다. ^^
2024-06-18
1153
글번호 180722
살빼고싶다 님에 의해서 삭제되었습니다.
2024-06-18
141
글번호 180721
답변완료
전환피보나치 하락 크기
input : 전환포인트(0.8);
Array : HD[10](0),HT[10](0),HV[10](0);
Array : LD[10](0),LT[10](0),LV[10](0);
var : cnt(0),Hprice(0),Lprice(0);
var : UpTrend(false),DownTrend(False),Trend(0),Trend1(0),ZigZagTL(0),TX(0),tx1(0);
var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL6(0),TL7(0),TL8(0),t(0),box1(0),box2(0);
Plot1 (0);
HPrice = H;
LPrice = L;
if Index == 0 or Bdate != Bdate[1] Then
{
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
trend = 0;
trend1 = 0;
t = 0;
}
Else
{
if Trend == 0 Then
{
if L < LV[0] Then
{
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
}
if H > HV[0] Then
{
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
}
}
UpTrend = HPrice >= LV[0]+전환포인트;
DownTrend = LPrice <= HV[0]-전환포인트;
if trend <= 0 and UpTrend == true Then
{
trend = 1;
trend1 = trend[1];
For cnt = 9 DownTo 1
{
HD[cnt] = HD[cnt-1];
HT[cnt] = HT[cnt-1];
HV[cnt] = HV[cnt-1];
}
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
ZigZagTL = TL_New(LD[0],LT[0],LV[0],HD[0],HT[0],HV[0]);
TL_SetColor(ZigZagTL,Gold);
TL_SetSize(ZigZagTL,3);
TX = Text_New(HD[0],HT[0],HV[0],NumToStr(HV[0]-LV[0],2)+" ");
Text_SetStyle(TX,1,1);
Text_SetColor(TX,Black);
Text_SetSize(tx,30);
Text_SetBold(tx,1);
var2 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(33.33/100));
var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100));
var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100));
var5 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100));
var6 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(66.67/100));
TL1 = TL_New(LD[0],LT[0],HV[0],NextBarSdate,NextBarStime,HV[0]);
TL2 = TL_New(LD[0],LT[0],var2,NextBarSdate,NextBarStime,var2);
TL3 = TL_New(LD[0],LT[0],var3,NextBarSdate,NextBarStime,var3);
TL4 = TL_New(LD[0],LT[0],var4,NextBarSdate,NextBarStime,var4);
TL5 = TL_New(LD[0],LT[0],var5,NextBarSdate,NextBarStime,var5);
TL6 = TL_New(LD[0],LT[0],var6,NextBarSdate,NextBarStime,var6);
TL7 = TL_New(LD[0],LT[0],LV[0],NextBarSdate,NextBarStime,LV[0]);
TL_SetColor(TL1,Magenta);
TL_SetColor(TL2,Orange);
TL_SetColor(TL3,Magenta);
TL_SetColor(TL4,Blue);
TL_SetColor(TL5,Magenta);
TL_SetColor(TL6,Orange);
TL_SetColor(TL7,Magenta);
TL_SetSize(TL7,1);
box1 = Box_New(LD[0],LT[0],Var2,NextBarSdate,NextBarStime,Var3);
Box_SetColor(box1,Yellow);
Box_SetFill(box1,true,30);
box2 = Box_New(LD[0],LT[0],Var5,NextBarSdate,NextBarStime,Var6);
Box_SetColor(box2,Yellow);
Box_SetFill(box2,true,30);
t = t+1;
if t == 1 Then
{
tx1 = Text_New(NextBarSdate,NextBarStime,LV[0]-0.13,"■");
Text_SetColor(tx1,Red);
Text_SetSize(tx1,50);
Text_SetStyle(tx1,1,2);
}
}
Else if trend >= 0 and DownTrend Then//하락추세 전환
{
trend = -1;
trend1 = trend[1];
For cnt = 9 DownTo 1
{
LD[cnt] = LD[cnt-1];
LT[cnt] = LT[cnt-1];
LV[cnt] = LV[cnt-1];
}
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
ZigZagTL = TL_New(HD[0],HT[0],HV[0],LD[0],LT[0],LV[0]);
TL_SetColor(ZigZagTL,Gold);
TL_SetSize(ZigZagTL,3);
TX = Text_New(LD[0],LT[0],LV[0],NumToStr(HV[0]-LV[0],2)+" ");
Text_SetStyle(TX,1,0);
Text_SetColor(TX,Black);
Text_SetSize(tx,30);
Text_SetBold(tx,1);
var2 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(33.33/100));
var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100));
var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100));
var5 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100));
var6 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(66.67/100));
TL1 = TL_New(HD[0],HT[0],HV[0],NextBarSdate,NextBarStime,HV[0]);
TL2 = TL_New(HD[0],HT[0],var2,NextBarSdate,NextBarStime,var2);
TL3 = TL_New(HD[0],HT[0],var3,NextBarSdate,NextBarStime,var3);
TL4 = TL_New(HD[0],HT[0],var4,NextBarSdate,NextBarStime,var4);
TL5 = TL_New(HD[0],HT[0],var5,NextBarSdate,NextBarStime,var5);
TL6 = TL_New(HD[0],HT[0],var6,NextBarSdate,NextBarStime,var6);
TL7 = TL_New(HD[0],HT[0],LV[0],NextBarSdate,NextBarStime,LV[0]);
TL_SetColor(TL1,Magenta);
TL_SetColor(TL2,Orange);
TL_SetColor(TL3,Magenta);
TL_SetColor(TL4,Blue);
TL_SetColor(TL5,Magenta);
TL_SetColor(TL6,Orange);
TL_SetColor(TL7,Magenta);
TL_SetSize(TL7,1);
box1 = Box_New(HD[0],HT[0],Var2,NextBarSdate,NextBarStime,Var3);
Box_SetColor(box1,Yellow);
Box_SetFill(box1,true,30);
box2 = Box_New(HD[0],HT[0],Var5,NextBarSdate,NextBarStime,Var6);
Box_SetColor(box2,Yellow);
Box_SetFill(box2,true,30);
t = t+1;
if t == 1 Then
{
tx1 = Text_New(NextBarSdate,NextBarStime,HV[0]+0.13,"■");
Text_SetColor(tx1,Blue);
Text_SetSize(tx1,50);
Text_SetStyle(tx1,1,2);
}
}
Else
{
if trend == 1 Then
{
if trend1 == 0 Then
{
LV[0] = DayLow;
}
if HPrice > HV[0] Then
{
HD[0] = sDate;
HT[0] = sTime;
HV[0] = HPrice;
TL_SetEnd(ZigZagTL,HD[0],HT[0],HV[0]);
Text_SetLocation(TX,HD[0],HT[0],HV[0]);
Text_SetString(TX,NumToStr(HV[0]-LV[0],2)+" ");
var2 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(33.33/100));
var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100));
var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100));
var5 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100));
var6 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(66.67/100));
TL_SetBegin(TL1,LD[0],LT[0],HV[0]);
TL_SetBegin(TL2,LD[0],LT[0],Var2);
TL_SetBegin(TL3,LD[0],LT[0],Var3);
TL_SetBegin(TL4,LD[0],LT[0],Var4);
TL_SetBegin(TL5,LD[0],LT[0],Var5);
TL_SetBegin(TL6,LD[0],LT[0],Var6);
TL_SetBegin(TL7,LD[0],LT[0],LV[0]);
TL_SetEnd(TL1,Sdate,Stime,HV[0]);
TL_SetEnd(TL2,Sdate,Stime,Var2);
TL_SetEnd(TL3,Sdate,Stime,Var3);
TL_SetEnd(TL4,Sdate,Stime,Var4);
TL_SetEnd(TL5,Sdate,Stime,Var5);
TL_SetEnd(TL6,Sdate,Stime,Var6);
TL_SetEnd(TL7,Sdate,Stime,LV[0]);
Box_SetBegin(Box1,LD[0],LT[0],Var2);
Box_SetEnd(Box1,sDate,sTime,Var3);
Box_SetBegin(Box2,LD[0],LT[0],Var5);
Box_SetEnd(Box2,sDate,sTime,Var6);
if t == 1 Then
Text_SetLocation(tx1,sDate,sTime,LV[0]-0.13);
}
}
if trend == -1 Then
{
if trend1 == 0 Then
{
HV[0] = DayHigh;
}
if LPrice < LV[0] Then
{
LD[0] = sDate;
LT[0] = sTime;
LV[0] = LPrice;
TL_SetEnd(ZigZagTL,LD[0],LT[0],LV[0]);
Text_SetLocation(TX,LD[0],LT[0],LV[0]);
Text_SetString(TX,NumToStr(HV[0]-LV[0],2)+" ");
var2 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(33.33/100));
var3 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(38.2/100));
var4 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(50/100));
var5 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(61.8/100));
var6 = 10^(LOG10(HV[0])-(LOG10(HV[0])-LOG10(LV[0]))*(66.67/100));
TL_SetBegin(TL1,HD[0],HT[0],HV[0]);
TL_SetBegin(TL2,HD[0],HT[0],Var2);
TL_SetBegin(TL3,HD[0],HT[0],Var3);
TL_SetBegin(TL4,HD[0],HT[0],Var4);
TL_SetBegin(TL5,HD[0],HT[0],Var5);
TL_SetBegin(TL6,HD[0],HT[0],Var6);
TL_SetBegin(TL7,HD[0],HT[0],LV[0]);
TL_SetEnd(TL1,Sdate,Stime,HV[0]);
TL_SetEnd(TL2,Sdate,Stime,Var2);
TL_SetEnd(TL3,Sdate,Stime,Var3);
TL_SetEnd(TL4,Sdate,Stime,Var4);
TL_SetEnd(TL5,Sdate,Stime,Var5);
TL_SetEnd(TL6,Sdate,Stime,Var6);
TL_SetEnd(TL7,Sdate,Stime,LV[0]);
Box_SetBegin(Box1,HD[0],HT[0],Var2);
Box_SetEnd(Box1,sDate,sTime,Var3);
Box_SetBegin(Box2,HD[0],HT[0],Var5);
Box_SetEnd(Box2,sDate,sTime,Var6);
if t == 1 Then
Text_SetLocation(tx1,sDate,sTime,HV[0]+0.13);
}
}
}
}
하락추세선의 크기가 1.6p 되면, 봉 위에 네모 표시. 감사합니다.
2024-06-18
1147
글번호 180720
답변완료
문의 드립니다
해외선물 매매입니다.
매매시간 : 07:00~익일 06:00
전일 전체 하락폭을 100% 라고 가정하고 그 하락폭의 60%가 당일 나왔을때 매수후
그전 최고점에 청산이나 마감시간인 익일 06시 청산의 수식어입니다.
2024-06-18
817
글번호 180719
답변완료
수식요청
안녕하세요
DATE 1 2분봉 이평60선
DATE 2 30분봅 이평 20선
매수
DATE2 30분봉이평 20선 위에있는상태에서
DATE1 2분봉이평 60선 상향돌파시 매수
매도
매수반대
청산 손절
2분봉 60선 상.하향시
2024-06-18
684
글번호 180718