커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1370
글번호 230811
답변완료
검색식 부탁 드려요(재문의 드려요)
안녕하세요 재문의 드립니다.
수식을 수정해서 검색을 다시해보니 종목이 맞지 않습니다.
무엇이 문제인지 모르겠습니다. 다시 한번 확인 부탁드려요
--아래의 일목균형표 수치 기준으로(2종- A,B종의 크로스),
A종 선행스팬1 이 0봉전 캔들 18일 앞에서(0봉전캔들 포함), B종의 선행스팬2 를
돌파하는 종목을 요청 드립니다.
---------------------------
안녕하세요
예스스탁입니다.
기간이 잘못지정되어 수정했습니다.
var : A전환선(0),A기준선(0),A선행스팬1(0),A선행스팬2(0);
var : B전환선(0),B기준선(0),B선행스팬1(0),B선행스팬2(0);
A전환선 = (highest(H,7)+lowest(L,7))/2;
A기준선 = (highest(H,18)+lowest(L,18))/2;
A선행스팬1 = (A전환선[18]+A기준선[18])/2;
A선행스팬2 = (highest(H,34)[18]+lowest(L,34)[18])/2;
B전환선 = (highest(H,9)+lowest(L,9))/2;
B기준선 = (highest(H,26)+lowest(L,26))/2;
B선행스팬1 = (B전환선[26]+B기준선[26])/2;
B선행스팬2 = (highest(H,52)[26]+lowest(L,52)[26])/2;
if CrossUp(A선행스팬1,B선행스팬2) Then
Find(1);
즐거운 하루되세요
> 일지매7 님이 쓴 글입니다.
> 제목 : 종목 검색 부탁드립니다.
> ## 안녕하세요
지난번에 보내주신 예스트레이더 수식입니다.
검색해보니 잘 맞지 않아 다시 한번 확인 부탁드려요
아래의 일목균형표 수치 기준으로(2종- A,B종의 크로스),
A종 선행스팬1 이 0봉전 캔들 18일 앞에서(0봉전캔들 포함), B종의 선행스팬2 를
돌파하는 종목을 요청 드립니다.
-----지난번 질의 및 보내주신 수식---
* A 종의 선행스팬 1 이 , B종의 선행스팬 2를 돌파할때 종목 검색식 부탁드려요*
- 일목 균형표 수치 2종-
A종 7, 18 , 34 (선행스팬 : 0봉전 캔들포함 18일앞)
B종 9, 26, 52 (선행스팬 : 0봉전 캔들포함 26일앞- 원래 일목균형표 수치)
*보내주신 예스트레이더 수식
var : A전환선(0),A기준선(0),A선행스팬1(0),A선행스팬2(0);
var : B전환선(0),B기준선(0),B선행스팬1(0),B선행스팬2(0);
A전환선 = (highest(H,9)+lowest(L,9))/2;
A기준선 = (highest(H,26)+lowest(L,26))/2;
A선행스팬1 = (A전환선[18]+A기준선[18])/2;
A선행스팬2 = (highest(H,52)[18]+lowest(L,52)[18])/2;
B전환선 = (highest(H,9)+lowest(L,9))/2;
B기준선 = (highest(H,26)+lowest(L,26))/2;
B선행스팬1 = (B전환선[26]+B기준선[26])/2;
B선행스팬2 = (highest(H,52)[18]+lowest(L,52)[18])/2;
if CrossUp(A선행스팬1,B선행스팬2) Then
Find(1);
2024-10-10
833
글번호 184142
답변완료
수식 문의 드립니다.
국내선물에서 한달동안 최고가,최저가를 알고 그 범위 안에서 전날과 계속 비교하여 95%이상 일치하는 곳을 카운터를 하고 그중 가장 많은 카운터 받은 3곳을 표시할려고 합니다.
10일 동안을 예를들어 보면
1일 H 360 L 340
2일 H 359 L 357
3일 H 356 L 354
4일 H 355 L 353
5일 H 357 L 356
6일 H 356 L 354
7일 H 350 L 347
8일 H 348 L 345
9일 H 346 L 343
10일 H 350 L 347
10일동안 최고가 360 최저가 340이고 그러면 범위가 20, 1%는 0.2가 되며 5%는 1이 됩니다. 이제 여기서 1일 360과 95%이상 일치하는 2일 359이며 그럼 카운팅 1을 한다
이런식으로 10일동안 고가 저가 상관없이 비교해서 카운팅 많은 3곳을 표시한다.
제가 말주변이 없어 제대로 설명이 되었는지 모르겠습니다.
감사합니다.!!^^
2024-10-10
911
글번호 184141
답변완료
수식 문의 드립니다
안녕하세요
전주와 금주 주봉의 1/3가격, 2/3가격, 1/2가격을
일봉 차트에 나타내는 수식 부탁드립니다.
2024-10-10
837
글번호 184136
답변완료
수식변경요청
안녕하세요. 늘 도움 감사드립니다.
다름이 아니라 아래의 수식에서 고가 와 저가 사이에 파일에 첨부한 내용처럼 비율을
넣고 싶습니다.
input : af(0.02), maxAF(0.2),추세선두께(1),추세선색1(YELLOW),추세선색2(CYAN),연장선두께(2),연장선색(gray);
input : 텍스트출력(1);
var : T(0),HH(0),LL(0),HD(0),HT(0),LD(0),LT(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0);
var : TL1(0),TL2(0),cnt(0),count(0);
var : TL3(0),TL4(0),TL5(0),TL6(0),TL7(0);
var : Tx3(0),Tx4(0),Tx5(0),Tx6(0),Tx7(0);
Var : TL11(0),TL22(0);
var1 = CSar(af,maxAF);
plot1(var1);
if crossup(c,var1) Then
{
T = 1;
if C > O Then
{
HH = H;
HD = sdate;
HT = stime;
}
Else
{
HH = 0;
HD = 0;
HT = 0;
}
HH1 = HH[1];
HD1 = HD[1];
HT1 = HT[1];
if LL > 0 Then
{
#TL1 = TL_new(LD[1],LT[1],LL[1],HD,HT,HH);
TL_Delete(TL3);
TL_Delete(TL4);
TL_Delete(TL5);
TL_Delete(TL6);
TL_Delete(TL7);
TL3 = TL_new(HD[1],HT[1],HH[1],sdate,stime,HH[1]);
TL4 = TL_new(HD[1],HT[1],(HH[1]+LL)/2,sdate,stime,(HH[1]+LL)/2);
TL5 = TL_new(HD[1],HT[1],LL,sdate,stime,LL);
TL6 = TL_new(HD[1],HT[1],HH[1]+(HH[1]-LL)/2,sdate,stime,HH[1]+(HH[1]-LL)/2);
TL7 = TL_new(HD[1],HT[1],LL-(HH[1]-LL)/2,sdate,stime,LL-(HH[1]-LL)/2);
//추세선 오른쪽 연장설정
TL_SetExtRight(TL3,true);
TL_SetExtRight(TL4,true);
TL_SetExtRight(TL5,true);
TL_SetExtRight(TL6,true);
TL_SetExtRight(TL7,true);
Text_Delete(TX3);
Text_Delete(TX4);
Text_Delete(TX5);
Text_Delete(TX6);
Text_Delete(TX7);
value3 = HH[1];
value4 = (HH[1]+LL)/2;
value5 = LL;
value6 = HH[1]+(HH[1]-LL)/2;
value7 = LL-(HH[1]-LL)/2;
TX3 = Text_New(sDate,sTime,value3,NumToStr(value3,2));
TX4 = Text_New(sDate,sTime,value4,NumToStr(value4,2));
TX5 = Text_New(sDate,sTime,value5,NumToStr(value5,2));
TX6 = Text_New(sDate,sTime,value6,NumToStr(value6,2));
TX7 = Text_New(sDate,sTime,value7,NumToStr(value7,2));
/* if 텍스트출력 == 1 then
{
Tx11 = Text_New(HD1,HT1,HH1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(HH1,2));
Text_SetStyle(tx11,2,1);
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
}*/
}
#TL11 = TL_New(HD1,HT1,HH1,HD,HT,HH);
}
if CrossDown(c,var1) Then
{
T = -1;
LL = L;
LD = sdate;
LT = stime;
LL1 = LL[1];
LD1 = LD[1];
LT1 = LT[1];
if HH > 0 Then
{
#TL2 = TL_new(HD[1],HT[1],HH[1],LD,LT,LL);
TL_Delete(TL3);
TL_Delete(TL4);
TL_Delete(TL5);
TL_Delete(TL6);
TL_Delete(TL7);
TL3 = TL_new(LD[1],LT[1],HH,sdate,stime,HH);
TL4 = TL_new(LD[1],LT[1],(HH+LL[1])/2,sdate,stime,(HH+LL[1])/2);
TL5 = TL_new(LD[1],LT[1],LL[1],sdate,stime,LL[1]);
TL6 = TL_new(LD[1],LT[1],LL[1]-(HH-LL[1])/2,sdate,stime,LL[1]-(HH-LL[1])/2);
TL7 = TL_new(LD[1],LT[1],HH[1]+(HH-LL[1])/2,sdate,stime,HH[1]+(HH-LL[1])/2);
//추세선 오른쪽 연장설정
TL_SetExtRight(TL3,true);
TL_SetExtRight(TL4,true);
TL_SetExtRight(TL5,true);
TL_SetExtRight(TL6,true);
TL_SetExtRight(TL7,true);
Text_Delete(TX3);
Text_Delete(TX4);
Text_Delete(TX5);
Text_Delete(TX6);
Text_Delete(TX7);
value3 = HH;
value4 = (HH+LL[1])/2;
value5 = LL[1];
value6 = HH+(HH-LL[1])/2;
value7 = LL[1]-(HH-LL[1])/2;
TX3 = Text_New(sDate,sTime,Value3,NumToStr(Value3,2));
TX4 = Text_New(sDate,sTime,Value4,NumToStr(Value4,2));
TX5 = Text_New(sDate,sTime,Value5,NumToStr(Value5,2));
TX6 = Text_New(sDate,sTime,Value6,NumToStr(Value6,2));
TX7 = Text_New(sDate,sTime,Value7,NumToStr(Value7,2));
/* if 텍스트출력 == 1 then
{
Tx22 = Text_New(LD1,LT1,LL1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(LL1,2));
Text_SetStyle(tx22,2,0);
Text_Delete(tx2);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
}*/
}
#TL22 = TL_New(LD1,LT1,LL1,LD,LT,LL);
}
if T == 1 then
{
if C < O and (HH == 0 or (HH > 0 and H > HH)) Then
{
HH = H;
HD = sdate;
HT = stime;
TL_SetEnd(TL1,HD,HT,HH);
TL_SetEnd(TL11,HD,HT,HH);
/* if 텍스트출력 == 1 then
{
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
}*/
}
}
if T == -1 then
{
if C > O and (LL == 0 or (LL > 0 and L < LL)) Then
{
LL = L;
LD = sdate;
LT = stime;
TL_SetEnd(TL2,LD,LT,LL);
TL_SetEnd(TL22,LD,LT,LL);
/* if 텍스트출력 == 1 then
{
Text_Delete(tx2);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
}*/
}
}
#추세선 두께, 색상
TL_SetSize(TL1,추세선두께);
TL_SetSize(TL11,추세선두께);
TL_SetSize(TL2,추세선두께);
TL_SetSize(TL22,추세선두께);
TL_SetColor(TL1,추세선색1);
TL_SetColor(TL11,추세선색1);
TL_SetColor(TL2,추세선색2);
TL_SetColor(TL22,추세선색2);
#연장선 두께, 색상
TL_SetSize(TL3,연장선두께);
TL_SetSize(TL4,연장선두께);
TL_SetSize(TL5,연장선두께);
TL_SetSize(TL6,연장선두께);
TL_SetSize(TL7,연장선두께);
TL_SetColor(TL3,연장선색);
TL_SetColor(TL4,연장선색);
TL_SetColor(TL5,연장선색);
TL_SetColor(TL6,연장선색);
TL_SetColor(TL7,연장선색);
Text_SetLocation(TX3,sDate,sTime,value3);
Text_SetLocation(TX4,sDate,sTime,Value4);
Text_SetLocation(TX5,sDate,sTime,Value5);
Text_SetLocation(TX6,sDate,sTime,Value6);
Text_SetLocation(TX7,sDate,sTime,Value7);
Text_SetStyle(TX3,0,1);
Text_SetStyle(TX4,0,1);
Text_SetStyle(TX5,0,1);
Text_SetStyle(TX6,0,1);
Text_SetStyle(TX7,0,1);
2024-10-10
858
글번호 184135
살빼고싶다 님에 의해서 삭제되었습니다.
2024-10-10
18
글번호 184133
러블리 님에 의해서 삭제되었습니다.
2024-10-10
29
글번호 184126
답변완료
수식수정
Inputs : Period(20), Sence(1.5), CC_DN(Yellow);
Vars:
VLineUp(0),
VLineDn(0),
HHighest(0),
LLowest(0),
JustChanged(FALSE),
VLine(0), DBN(0);
Array:
Highs[35](0),
Lows[35](0),
RRange[35](0),
UpWave[1](FALSE),
DnWave[1](FALSE);
If STime == 180000 Then
DBN = 0;
DBN = DBN + 1;
Var1 = Period;
Var2 = Var1 - 1;
Var3 = Var1 - 2;
Var5 = Sence;
Var6 = H-L;
JustChanged = FALSE;
if CurrentBar <= Var2 then begin
Highs[CurrentBar] = Close;
Lows[CurrentBar] = Close;
RRange[CurrentBar] = (H-L) /2;
end;
if CurrentBar == Var1 then begin
if Highs[Var2] >= Highs[Var3] then begin
UpWave[1] = TRUE;
HHighest = Highs[Var2];
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
#Plot1(VLineUp,"VLineUp");
end;
if Highs[Var2] < Highs[Var3] then begin
DnWave[1] = TRUE;
LLowest = Lows[Var2];
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
#Plot2(VLineDn,"VLineDn");
end;
end;
if CurrentBar > Var1 then begin
if DnWave[1] and Close > VLineDn then begin
DnWave[1] = FALSE;
UpWave[1] = TRUE;
JustChanged = TRUE;
HHighest = Close;
LLowest = 0;
end;
if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin
UpWave[1] = FALSE;
DnWave[1] = TRUE;
JustChanged = TRUE;
LLowest = Close;
HHighest = 0;
end;
if JustChanged == FALSE then begin
if Close > HHighest then
HHighest = Close;
else if Close < LLowest then
LLowest = Close;
end;
VLineUp = HHighest - (Var5 * MA(Var6,Var2));
VLineDn = LLowest + (Var5 * MA(Var6,Var2));
/*if UpWave[1] then Plot1(VLineUp,"VLineUp", Red);
else if DnWave[1] then Plot1(VLineDn,"VLineUp", Blue);
*/
end;
input : P(10),short(12),long(26),sig(9);
var : mav(0),macdo(0);
mav = ma(C,P);
MACDo = MACD_OSC(short,long,sig);
if upwave[1] and c > o and mav > mav[1] Then
Buy();
if dnwave[1] and c < o and mav < mav[1] Then
Sell();
if MarketPosition == 1 Then
{
if dnwave[1] and macdo < 0 Then
ExitLong("bx");
}
if MarketPosition == -1 Then
{
if upwave[1] and macdo > 0 Then
ExitLong("sx");
}
안녕하세요
위식에서 청산시 불필요한 청산부분이 중복으로 발생됨니다(sx)
Sx부분 발생되지 않도록 삭제해주세요.
2024-10-10
762
글번호 184125
답변완료
종목 검색 부탁드립니다.
1. 캔들이(종가) 일목균형 선행스팬 2 를 돌파할때 종목검색식.
2. 캔들이(종가) 일목균형 선행스팬 2 위에 있는 (단,선행스팬2 에서 상단 5% 이내)
종목검색식 부탁드립니다.
2024-10-10
1024
글번호 184124
답변완료
해외선물 동일종목 타주기 사용관련
항상 감사를 드립니다.
예스랭귀지 가이드를 봐도 어려워 질문을 드립니다.
해외선물나스닥 시스템매매을 함에 있어 30분붕보다 작은 분봉에서 매매할 시
30분봉이 양봉일 때에는 매수진입만 30분봉이 음봉일 때에는 매도 진입만 가능하도록
알려주시면 고맙겠습니다.
2024-10-09
808
글번호 184123