커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6351
글번호 230811
답변완료
검색식 확인 부탁드립니다.
항상 도와주심에 감사드립니다. _(_ _)_
기 만들어진 아래검색식 4개가 기준봉 발생후 10봉이내 음봉 최고시가돌파시 검색종목식인데요... 1,2,3번은 검색이 안돼거나 음봉시에도 발생이 자주 나오고 4번은 검색은 잘돼는데 누락현상이 나옵니다. 예시차트를 첨부하니 재확인 요청드립니다.
1
var : ii(0),HO(0);
var : MM(0),KK(0),MO(0),mx(0);
var : M1(0),M2(0),M3(0),M4(0),M5(0),M6(0);
var : M7(0),M8(0),M9(0),M10(0),M11(0),M12(0);
MM = floor(date/100);
if MM != MM[1] Then
{
MO = O;
M1 = KK[1];
M2 = M1[1];
M3 = M2[1];
M4 = M3[1];
M5 = M4[1];
M6 = M5[1];
M7 = M6[1];
M8 = M7[1];
M9 = M8[1];
M10 = M9[1];
M11 = M10[1];
M12 = M11[1];
mx = Max(M1, M2, M3, M4, M5,M6, M7, M8, M9, M10, M11, M12);
}
KK = iff(MO > C, MO, 0);
if mx > 0 and CrossUp(C,mx) Then
{
ii = Index;
if C < O Then
HO = O;
Else
HO = 0;
}
Else
{
if ii > 0 and Index <= ii+10 Then
{
if C < O and (HO == 0 or (HO > 0 and O > HO)) Then
HO = O;
if HO[1] > 0 and CrossUp(c,HO[1]) Then
Find(1);
}
}
2
var : ii(0),HO(0);
var : Month(0), MOpen(0), 중심(0),PreMC(0), PreMO(0);
Month = Floor(date/100);
if Month != Month[1] Then
{
PreMC = C[1];
PreMO = MOpen;
MOpen = O ;
}
중심 = ((PreMC + PreMO)/2 + MOpen)/2;
if CrossUp(C, 중심) Then
{
ii = Index;
if C < O Then
HO = O;
Else
HO = 0;
}
Else
{
if ii > 0 and Index <= ii+10 Then
{
if C < O and (HO == 0 or (HO > 0 and O > HO)) Then
HO = O;
if HO[1] > 0 and CrossUp(c,HO[1]) Then
Find(1);
}
}
3
var : ii(0),HO(0);
var1 = macd(12,26);
var2 = Sar(0.02,0.2);
if var1 >= 0 and CrossUp(c,Var2) and C >= C[1]*1.03 and C > O Then
value1 = (C+O)/2;
if value1 > 0 and CrossUp(c,value1) Then
{
ii = Index;
if C < O Then
HO = O;
Else
HO = 0;
}
Else
{
if ii > 0 and Index <= ii+10 Then
{
if C < O and (HO == 0 or (HO > 0 and O > HO)) Then
HO = O;
if HO[1] > 0 and CrossUp(c,HO[1]) Then
Find(1);
}
}
4
var : ii(0),HO(0);
var1 = macd(12,26);
var2 = Sar(0.02,0.2);
if var1 >= 0 and CrossUp(c,Var2) and C >= C[1]*1.03 and C > O Then
{
ii = Index;
if C < O Then
HO = O;
Else
HO = 0;
}
Else
{
if ii > 0 and Index <= ii+10 Then
{
if C < O and (HO == 0 or (HO > 0 and O > HO)) Then
HO = O;
if HO[1] > 0 and CrossUp(c,HO[1]) Then
Find(1);
}
}
2024-04-16
938
글번호 178598
답변완료
피봇선 시작시간 변경 검증
항상 감사드립니다
아래 피봇지지저항선을 시작시간을 22시30분으로 변경하여 작성했습니다
var : 전일고가(1),전일저가(0) 부분을 오류가 없는지 검토 부탁드립니다
/****************************************************/
input : 기준시간(223000);
var : cnt(0);
var : 전일종가(0),전일고가(1),전일저가(0),전일시가(0),당일시가(0);
Array : DO[20](0),DH[20](0),DL[20](0),DC[20](0);
if (sdate != sdate[1] and stime >= 기준시간) or
(sdate == sdate[1] and stime >= 기준시간 and stime[1] < 기준시간) Then
{
DO[0] = O;
DH[0] = H;
DL[0] = L;
for cnt = 1 to 19
{
DO[cnt] = DO[cnt-1][1];
DH[cnt] = DH[cnt-1][1];
DL[cnt] = DL[cnt-1][1];
DC[cnt] = DC[cnt-1][1];
}
}
if DO[0] > 0 Then
{
DC[0] = C;
if H > DH[0] Then
DH[0] = H;
if L < DL[0] Then
DL[0] = L;
}
if DO[1] > 0 Then
{
전일종가 = DC[1];
전일고가 = DH[1];
전일저가 = DL[1];
전일시가 = DO[1]; <============= 이부분만 추가
당일시가 = DO[0];
###### 피봇 3단계 라인 ######
// 저항선_피봇1차저항
var1 = (((전일시가+전일고가+전일저가+전일종가)/4)*2)-전일저가;
//라인2_피봇1차지지
var2 = (((전일시가+전일고가+전일저가+전일종가)/4)*2)- 전일고가;
//라인3_피봇기준
var3 = (전일시가 +전일고가+전일저가+3*전일종가)/6;
//라인4_피봇기준
var4 = (전일시가 +전일고가+전일저가+3*전일종가)/6-0.0003;
plot1(var1,"피봇1차저항",blue,def,4);
plot2(var2,"피봇1차지지",blue,def,4);
plot3(var3,"피봇기준0",blue,def,4);
2024-04-16
868
글번호 178597
답변완료
지표시스템 부탁드립니다~
안녕하세요~
1,지표
지수이평 보조지표(20일,50일,200일)
20이평이 50이평아래나 위로 가면 노란삼각형 표시
20이평이 200이평 아래나 위로가면 검정삼각형
삼각형모양은 정삼각형과 역삼각형으로 부탁드립니다
2.시스템
위에 지표식으로 시스템식 부탁드립니다
늘~감사드립니다~~
2024-04-16
869
글번호 178596
답변완료
검색식 부탁 드립니다
주석을 달아주세요
100선
A= Disparity(Period1);
ValueWhen(1, crossup(A, 기준1) OR crossdown(A, 기준1),가격 )
101선
A= Disparity(Period2);
ValueWhen(1, crossup(A, 기준2) OR crossdown(A, 기준2) ,가격)
지표조건설
period1 120
period2 120
기준1 100
기준2 101
가격 (고가+저가)/2
이격도
Disparity(Period1)
Disparity(Period2)
Disparity(Period3)
지표조건
Period1 20
Period2 60
Period3 120
이격도선이 기준선100이상이고
지수이동평균선 주가가 20이상이고
어제 주가가 101선 아래에 오늘 101선 돌파 종목검색식 부탁 드립니다
파워종목검색 최소기간도 알려주세
2024-04-16
859
글번호 178595
답변완료
수식부탁드립니다
수식Q&A의 86703에 대한 재문의입니다
> 다음을 만족할때의 신호표시 수식을 요청드립니다.
1.기준봉: 음봉이 연속 2회이상 발생된후에 출현한 양봉캔들
2. 기준가격: 기준봉출현후 기준봉 또는 이후 연속된 양봉이 발생된다면 양봉캔들중에서
가장 낮은 시가와 가장 높은 종가사이의 일정율을 적용한 가격으로, 적용되는 비율은
기준봉 발생캔들의 종가가 지수이평(24)보다 높으면 70%를 적용하고, 24지수이평보다
종가가 낮으면 50%비율을 적용한 가격으로 한다.
3. 신호대상봉: 기준봉 발생이후 기준봉 한개 또는 여러개의 양봉이 연속되다가 음봉이
나오고, 이 음봉도 한개 또는 여러개가 나오다가 양봉출현시의 캔들임
4. 신호표시봉: 신호대상봉 중에서 종가가 볼밴하단선(20/2)보다 높으면서 위 2의
기준가격보다 낮으면서, 추가보조지표(조건1)를 만족하는 양봉캔들에 표시되게끔
해주시면 됩니다.
추가보조지표(조건1)은 무엇이 적절한지 대입해보고자 하는 것으로 수식검증상
필요하다면 우선 MACD오실레이터가 0이상이고, MACD는 MACD시그널보다 커야한다는
조건을 CONDITION1으로 설정해서 적용시켜 수식을 만들어주세요
위의 내용을 반영한 수식을 만들어주셨는데 적용해보면 신호표시가 되지않고 있어
재검토 해주시면 감사하겠읍니다.
추가적으로 요청드리는 수식입니다.
1.기준봉: 음봉이 연속 2회이상 발생된후에 출현한 양봉캔들
2. 신호출현봉: 기준봉 양봉출현후 기준봉 또는 이후 연속된 양봉이 발생되다가 음봉출현되고 바로 양봉이거나 여러 음봉이 나오다가 양봉이 출현된 경우, 즉 기준봉 출현이후 음봉후 양봉출현캔들에 신호표시되게 요청드립니다. 이 신호캔들 양봉의 시가는 1. 기준봉의 종가보다는 낮아야 한다는 조건을 만족해야합니다.
2024-04-16
971
글번호 178594
답변완료
안녕하세요
1. 이베스트 예스트레이더와 예스글로벌로 나스닥 해보려고 하는데요
데이터2(참조)로 해서 오후 10시 30분에 개장하는 나스닥 종합 본장을
활용할 수 있을까요? 실시간 데이터로요 ㅎ
nh트레이더에서는 나스닥 ixic 장중 실시간 제공이 되던데 여긴 해선이 안되네요;
2.
예를 들어 아래 수식을 data2로 참조하여 아래수식에서 신호가 나면
옵션에서 신호가 나는 수식을 보여주실수 있으실까요
Var31 = (dayhigh(1)-Daylow(1))
Var32 = (dayhigh(2)-Daylow(2))
Var33 = (dayhigh(3)-Daylow(3))
Var34 = (dayhigh(4)-Daylow(4))
Var35 = (dayhigh(5)-Daylow(5))
var1 = (Var31+Var32+Var33+Var34+Var35)/10;
if entriestoday(date) < 최대진입횟수 Then
{
Buy("Buy", AtStop, DayOpen+Var1);
}
ExitLong("eL",AtLimiT, DayOpeN+var1*2);
ExitLong("sS",AtStop, DayOpeN);
3. 위의 수식을 국선이 아니라 해선(예스글로벌)로 그대로 적용해도 되는지요
적용하면 이상하게 자정이 넘는 시간에만 발동이 되네요;;;
시간 설정 수식이 추가 되어야 하는지 궁금합니다.
항상 감사합니다 ^^
2024-04-16
905
글번호 178593
답변완료
키움수식 변환 부탁드립니다..
B= (((L+H+O+C)/4)*V/100000000);
신고거래= B>HIGHEST(B(1),120) or V>HIGHEST(V(1),120);
CU20= crossdown(c,avg(c,20));
조건1= CountSince(신고거래, CU20)==1;
일= 조건1==1 && 조건1(1)==0;
상= valuewhen(1,일,Max(dayOpen(),dayClose()));
이= crossdown(종가,상);
조건2= CountSince(일, 이)==1;
명= 조건1==1 && 조건1(1)==0;
명선= valuewhen(1,명,c);
crossup(C,명선)
예스트레이더 첨 접합니다.. 몇개 변환하면서 공부하려고합니다 감사합니다
2024-04-16
1104
글번호 178592
답변완료
전략작성등
항상 감사드리고 사부님의 천재성에 경의를 표합니다 이번에는 52주 신고가를 표시하고 싶은데 부탁드립니다.타사 챠트에선 후행스팬 강세패턴 즉 shift(C,-51)을 수식으로하면 세로선이생기면서 좌우색상이 다르게 표시되니 쉽게 읽을수 있는데 예스랭귀지로는 어찌 수식을 작성해야는지 부탁드립니다^^
2024-04-15
1100
글번호 178591
답변완료
수식추가
Inputs : DDD(20150309), LEN(300), HL_ED(60), CC(Black);
Vars : DBN1(0), KK1(0), DD1(0), KK2(0), DD2(0),HP(0);
If STime >= 080000 And STime[1] < 080000 Then Begin
DBN1 = 0;
KK1 = 0;
DD1 = 0;
KK2 = 0;
DD2 = 0;
End;
DBN1 = DBN1 + 1;
/*If Date == DDD Then Begin*/
If STime >= 083000 And DD1 == 0 Then Begin
Value2 = O;
DD1 = 1;
KK1 = DBN1;
End;
If DBN1 > KK1 + 1 And DD1 == 1 Then
HP = Value2;
Else
HP = Value2;
Inputs : Period(20), Sence(1.5), CC_DN(Yellow);
Vars:
VLineUp(0),
VLineDn(0),
HHighest(0),
LLowest(0),
JustChanged(FALSE),
VLine(0), DBN(0),T(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
T = 1;
else if DnWave[1] then
T = -1;
end;
if MarketPosition <= 0 and
HP > ma(C,5) and CrossUp(c,HP) and T == 1 Then
Buy();
if MarketPosition >= 0 and
HP < ma(C,5) and CrossDown(C, HP) and T == -1 Then
Sell();
if MarketPosition == 1 and CrossDown(c,HP) Then
ExitLong();
if MarketPosition == -1 and CrossUP(C,HP) Then
ExitShort();
안녕하세요
위식에 추가식 부탁드립니다
특정 시간대 지정 매매할수있게 식추가 부탁드립니다
1차 pm 20시에서 01시까지
2024-04-15
980
글번호 178590