커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3394
글번호 230811
답변완료
수식작성
input : StartTime(70000),EndTime(55000),Xtime(55500);
var : Tcond(false),entry(0);
var : B1(0),B2(0),BX1(0),BX2(0);
var : S1(0),S2(0),SX1(0),SX2(0);
if sdate != sDate[1] Then
SetStopEndofday(Xtime);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
SetStopEndofday(0);
entry = 0;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
B1 = DayLow(1)+(DayHigh(1)-DayLow(1))*0.500;
B2 = DayLow(1)+(DayHigh(1)-DayLow(1))*0.400;
BX1 = DayLow(1)+(DayHigh(1)-DayLow(1))*0.990;
BX2 = DayHigh(1);
S1 = DayHigh(1)+(DayHigh(1)-DayLow(1))*0.382;
S2 = DayHigh(1)+(DayHigh(1)-DayLow(1))*0.500;
SX1 = DayLow(1)+(DayHigh(1)-DayLow(1))*0.236;
SX2 = DayHigh(1);
if Tcond == true Then
{
if (MarketPosition == 0 or (MarketPosition == 1 and MaxEntries == 1)) Then
{
if entry < 5 and L > B1 Then
Buy("b1",AtLimit,B1);
if entry < 5 and L > B2 Then
Buy("b2",AtLimit,B2);
}
if MarketPosition == 1 Then
{
ExitLong("bx1",AtLimit,BX1,"B1");
ExitLong("bx2",AtLimit,BX2,"B2");
}
if (MarketPosition == 0 or (MarketPosition == -1 and MaxEntries == 1)) Then
{
if entry < 5 and H < S1 Then
Sell("S1",AtLimit,S1);
if entry < 5 and H < S2 Then
Sell("b2",AtLimit,S2);
}
if MarketPosition == -1 Then
{
ExitShort("sx1",AtLimit,SX1,"S1");
ExitShort("sx2",AtLimit,SX2,"S2");
}
}
SetStopProfittarget(PriceScale*300,PointStop);
SetStopLoss(PriceScale*50,PointStop);
--------------------
매매횟수 1회 제한을 부탁드립니다.
늘 감사 합니다.
2021-05-28
1014
글번호 149400
답변완료
수식 질문드립니다.
1분봉
highest(c2,300)>0.5
이런 조건이 있을때
이게 종가기준인가요? 아니면 튀는data (꼬리부분) 포함인지 궁금합니다.
2021-05-28
1058
글번호 149399
234fsdae 님에 의해서 삭제되었습니다.
2021-05-28
10
글번호 149398
234fsdae 님에 의해서 삭제되었습니다.
2021-05-28
12
글번호 149397
답변완료
문의 드립니다.
안녕하세요?
늘 고맙습니다.
아래 수식에 1차에 500000만, 2차에 1000000만이 매수 될 수 있도록 수정 부탁드립니다.
그리고 청산에서 3% 수익후 3% 하락시 청산식 하나더 부탁드립니다.
input : ntime1(151700),ntime2(090500);
var1 = ma(C,20);
Var2 = ma(C,120);
Var3 = ma(C,2);
if (sdate != sdate[1] and stime >= ntime1) or
(sdate == sdate[1] and stime >= ntime1 and stime[1] < ntime1) Then
{
if MarketPosition == 0 and sTime >= 093000 and sTime[1] < 093100 and var1 > Var2 Then
Buy("1차");
}
if (sdate != sdate[1] and stime >= ntime2) or
(sdate == sdate[1] and stime >= ntime2 and stime[1] < ntime2) Then
{
if MarketPosition == 1 and MaxEntries == 1 and BarsSinceEntry(0) < 10 and C < Var2 Then
Buy("2차");
ExitLong("bx1",atlimit,AvgEntryPrice*1.08);
}
{
if CrossUP(var3,Var2)Then
Sell("청산");
}
2021-05-27
787
글번호 149396
답변완료
분봉차트에서 개인순매수 현황을 지표추가로?
안녕하세요~
주식 분봉 차트에서, 지표 추가로,
개인 순매수 현황을 같이 볼 수 있는지요?
또한, 이것이 가능하다면,
키움증권에서는 개인순매수 현황을 3~4분 간격으로 제공하고 있는데,
예스트레이더를 이용하면 개인순매수 현황을 몇분간격으로 받을 수 있는지 궁금합니다.
감사합니다.
2021-05-27
1031
글번호 149395
답변완료
종목검색식 부탁드립니다
당일 캔들이 양봉이면서 종가상 볼리져밴드 30,60,120 상단을 돌파한 종목검색식
부탁합니다
2021-05-27
725
글번호 149394
234fsdae 님에 의해서 삭제되었습니다.
2021-05-27
13
글번호 149393
답변완료
수정 부탁드립니다!
안녕하세요!
수정해 주신 수식을 적용해보니 당일시가가 텍스트 출력이 안되네요!
한번 더 검토 부탁드립니다!
감사합니다!
input : 날짜변경시간(090000);
var : date0(0), date1(0), time0(0), time1(0);
var : HH(0),HH1(0), Hdate(0),Htime(0),Hdate1(0), Htime1(0), TX11(0), TX1(0);
var : LL(0),LL1(0), Ldate(0),Ltime(0),Ldate1(0), Ltime1(0), TX12(0), TX2(0);
var : OO(0),OO1(0), Odate(0),Otime(0),Odate1(0), Otime1(0), TX13(0), TX3(0);
var : MM(0),MM1(0), Mdate(0),Mtime(0),Mdate1(0), Mtime1(0), TX14(0), TX4(0);
if stime == 날짜변경시간 then
{
date0 = sdate;
date1 = date0[1];
time0 = stime;
time1 = time0[1];
#전일고가
HH = H;
HH1 = HH[1];
TL_Delete(var11);
var11 = TL_New(date1, time1, HH1, date0, time0, HH1);
TL_SetExtRight(var11,true);
TL_SetColor(var11, red);
#전일저가
LL = L;
LL1 = LL[1];
TL_Delete(var12);
var12 = TL_New(date1, time1, LL1, date0, time0, LL1);
TL_SetExtRight(var12,true);
TL_SetColor(var12, blue);
#전일중심선
MM1 = (HH1+LL1)/2;
Mdate1 = Mdate[1];
Mtime1 = Mtime[1];
TL_Delete(var14);
var14 = TL_New(date1, time1, MM1, date0, time0, MM1);
TL_SetExtRight(var14,true);
TL_SetColor(var14, rgb(255,128,255));
#전일시가
OO = O;
OO1 = OO[1];
Odate1 = Odate[1];
Otime1 = Otime[1];
TL_Delete(var13);
var13 = TL_New(date1, time1, OO1, date0, time0, OO1);
TL_SetExtRight(var13,true);
TL_SetColor(var13, black);
#당일시가
TL_Delete(var3);
var3 = TL_New(sdate[1], stime[1], OO, date0, time0, OO);
TL_SetExtRight(var3,true);
TL_SetColor(var3, black);
Text_delete(TX11);
TX11 = Text_New(sdate, stime, HH1, " ▶전일고가 : "+Numtostr(HH1,2));
Text_SetStyle(TX11, 0, 1);
Text_setColor(TX11, red);
Text_delete(TX12);
TX12 = Text_New(sdate, stime, LL1, " ▶전일저가 : "+Numtostr(LL1,2));
Text_SetStyle(TX12, 0, 0);
Text_setColor(TX12, blue);
Text_delete(TX13);
TX13 = Text_New(sdate, stime, OO1, " ▶전일시가 : "+Numtostr(OO1,2));
Text_SetStyle(TX13, 0, 0);
Text_setColor(TX13, black);
Text_delete(TX3);
TX3 = Text_New(sdate, stime, OO, " ▶당일시가 : "+Numtostr(OO,2));
Text_SetStyle(TX3, 0, 0);
Text_setColor(TX3, black);
Text_delete(TX14);
TX14 = Text_New(sdate, stime, MM1, " ▶전일중심 : "+Numtostr(MM1,2));
Text_SetStyle(TX14, 0, 0);
Text_setColor(TX14, rgb(255,128,255));
}
#당일고가
if stime <> 날짜변경시간 and H[1] >= HH then
{
HH = H[1];
Hdate = sdate[1];
Htime = stime[1];
TL_Delete(var1);
var1 = TL_New(date0, time0, HH, sdate, stime, HH);
TL_SetExtRight(var1,true);
TL_SetColor(var1, red);
}
#당일저가
if stime <> 날짜변경시간 and L[1] <= LL then
{
LL = L[1];
Ldate = sdate[1];
Ltime = stime[1];
TL_Delete(var2);
var2 = TL_New(date0, time0, LL, sdate, stime, LL);
TL_SetExtRight(var2,true);
TL_SetColor(var2, blue);
}
#당일중심
if stime <> 날짜변경시간 then
{
MM = (HH+LL)/2;
TL_Delete(var4);
var4 = TL_New(date0, time0, MM, sdate, stime, MM);
TL_SetExtRight(var4,true);
TL_SetColor(var4, rgb(255,128,255));
}
if stime == 날짜변경시간 then
{
var8 = TL_New(sdate, stime, H, sdate, stime, 999999999);
var9 = TL_New(sdate, stime, L, sdate, stime, 0);
TL_setColor(var8, rgb(200,150,250));
TL_setColor(var9, rgb(200,150,250));
}
Text_delete(TX1);
TX1 = Text_New(NextBarSdate,NextBarStime, HH, " ▶당일고가 : "+Numtostr(HH,2));
Text_SetStyle(TX1, 0, 1);
Text_setColor(TX1, red);
Text_delete(TX2);
TX2 = Text_New(NextBarSdate, NextBarStime, LL, " ▶당일저가 : "+Numtostr(LL,2));
Text_SetStyle(TX2, 0,0);
Text_setColor(TX2, blue);
Text_delete(TX4);
TX4 = Text_New(NextBarSdate, NextBarStime, MM, " ▶당일중심 : "+Numtostr(MM,2));
Text_SetStyle(TX4, 0,0);
Text_setColor(TX4, rgb(255,128,255));
Text_SetLocation(TX11,NextBarSdate,NextBarStime,HH1);
Text_SetLocation(TX12,NextBarSdate,NextBarStime,LL1);
Text_SetLocation(TX13,NextBarSdate,NextBarStime,OO1);
Text_SetLocation(TX3,NextBarSdate,NextBarStime,OO1);
Text_SetLocation(TX14,NextBarSdate,NextBarStime,MM1);
2021-05-27
696
글번호 149392