커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1548
글번호 230811
답변완료
전략 실행 차트 관련 질문
선물 전략 여러개(전략당 1계약이라고 가정)를 각자의 차트에서 실행하고
계좌가 같은 계좌일 경우
전략1에서 매수 상태인 상황에서
전략2에서 매도가 나와서 현재 수량이 0인 상황
합성전략을 사용하는 결과와 같게 나오려면
전략1의 exitlong을 sell로 하고
전략2의 exitshort을 buy로 하면 될까요?
2023-03-17
984
글번호 167287
답변완료
수식 문의 드립니다.
매수: 이전 10봉중 의 최고봉의 시가/종가 관계없이 그봉몸통의 최고점 5% 상향 통과시 즉시 매수
매도: 이전 10봉중 의 최고봉의 시가/종가 관계없이 그봉몸통의 최저점 5% 하향 통과시 즉시 매도
2023-03-17
1380
글번호 167285
답변완료
타주기 참조
안녕하세요
어느덧 날이 따뜻해지려다 다시 차가워졌습니다. 감기 유의하십쇼 ㅠ
1분봉 차트에서 5분봉의 momentum 인디케이터를 표시하고 싶은데 도움 부탁드립니다
2023-03-17
1883
글번호 167281
답변완료
수식 재검토 부탁드립니다.
최근 만들어주신 날짜지정 수식이 매매신호가 나오지 않습니다.
맨 처음의 수식은 작동하고요.
잘못된 곳이 있는지 검토 부탁드립니다.
...............................................
안녕하세요
예스스탁입니다.
수식은 차트에 적용되면
차트의 첫봉부터 현재로 오면서 동작하게 됩니다.
수식안에서 시스템을 적용한 이후로 조건을 지정할 수 없습니다.
요청하신 내용은 날짜와 시간을 지정해
지정한 일시 이후에 신호가 발생하게 하셔야 합니다.
input : 시작날짜(20230313),시작시간(90000);
input : P1(20),P2(60),P3(120),RSIP(14);
var : mav1(0),mav2(0),mav3(0),RSIV(0);
var : Tcond(False);
mav1 = ma(C,P1);
mav2 = ma(C,P2);
mav3 = ma(C,P3);
RSIV = RSI(RSIP);
if sDate >= 시작날짜 and sTime >= 시작시간 Then
Tcond = False;
if Tcond == true Then
{
if (mav1 < mav2 and mav2 < mav3 and RSIv <= 30) or RSIV <= 25 Then
{
Buy();
}
SetStopProfittarget(3,PercentStop);
}
즐거운 하루되세요
> 끄억 님이 쓴 글입니다.
> 제목 : 문의 드립니다
> 시스템을 작동시키면
과거에 나온 진입신호가 계속 유지되고 있는 경우
신규 진입이 안됩니다.
시스템 켠 시간 이후부터 작동하기 원합니다.
임시로
과거의 진입신호가 뜨지 않게 봉 기간을 짧게 적용하면 되긴 하는데
기간이 너무 짧다보니 오류가 나는 경우가 종종 있습니다.
방법이 있을까요?
input : P1(20),P2(60),P3(120),RSIP(14);
var : mav1(0),mav2(0),mav3(0),RSIV(0);
mav1 = ma(C,P1);
mav2 = ma(C,P2);
mav3 = ma(C,P3);
RSIV = RSI(RSIP);
if (mav1 < mav2 and mav2 < mav3 and RSIv <= 30) or RSIV <= 25 Then
{
Buy();
}
SetStopProfittarget(3,PercentStop);
2023-03-17
1650
글번호 167279
답변완료
안녕하세요. 수식 문의 드립니다.
안녕하세요. 키움 수식을 신호검색수식으로 변화 부탁드립니다.
M = Tema(C, 5);
HH = Highest(M, 1);
HC = Valuewhen(1, HH>HH(1), HH);
BD = BBandsDown(40,1.8);
M5 = eavg(C,5);
이격 = M5/BD*100-100;
이격업 = CrossUp(이격, 기준);
T신호 = HC<HC(1);
Cnt = CountSince(이격업, T신호)>0;
Cnt && !Cnt(1)
기준 3
2023-03-17
1046
글번호 167275
답변완료
출력문에서 메모리오류 및 프로그램 다운현상
안녕하세요?
전략식에서 다음과 같이 출력문 테스트중인데
entrydate를 넣으면 메모리오류 및 프로그램 다운이 됩니다.
messagelog, print 문 전부 다운되네요.
IF sDate >= 20230310 Then
Buy();
if sDate ==20230316 Then
MessageLog("SymbolName: %s,%.f,%.f,%s",SymbolName,close,EntryPrice,EntryDate);
2023-03-17
1723
글번호 167273
답변완료
data2 시가활용
안녕하세요.
data2 종목(선물)의 시초가가 들어오자 마자 주종목(주식)에 주문을 내고자 합니다.
If data2(sTime) == 154500 and nextbarOpen/DayHigh(0).......then
...
신호가 발생안하는데, data2(stime)이 작동안하는건가요?
2023-03-17
929
글번호 167266
답변완료
추세선 상하대칭
input : Period(12),폭1(0.85),폭2(1.3),폭3(1.7),선두께(3),N(0);
Var:j(0),T(0),tl9(0);
Var:상승색(Blue), 하락색(Red);
Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0),
date21(0),date22(0),time21(0),time22(0),
date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0),txx(0);
Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0);
Plot1(value12);
For j = 0 To 19
{
HiBar[j] = HiBar[j] + 1;
LoBar[j] = LoBar[j] + 1;
}
if crossup(c,highest(H,Period)[1]) Then
T = 1;
if CrossDown(c,Lowest(L,Period)[1]) Then
T = -1;
If T == -1 Then
{
If T[1] != -1 Then
{
For j = 18 DownTo 0
{
LoVal[j+1] = LoVal[j];
LoBar[j+1] = LoBar[j];
}
LoVal[0] = L;
LoBar[0] = 0;
date11 = date[HiBar[0]+N];
time11 = stime[HiBar[0]+N];
Value11 = HiVal[0];
date12 = date[LoBar[0]+N];
time12 = stime[LoBar[0]+N];
Value12 = LoVal[0];
TL_Delete(tl);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,상승색);
date21 = date[HiBar[0]+N];
time21 = stime[HiBar[0]+N];
date22 = date[0];
time22 = stime[0];
Condition1 = False;
if Condition1 == False and Value12 <= value11-폭1 Then
{
Condition1 = true;
}
Condition2 = False;
if Condition2 == False and Value12 <= value11-폭2 Then
{
Condition2 = true;
}
Condition3 = False;
if Condition3 == False and Value12 <= value11-폭3 Then
{
Condition3 = true;
}
Text_SetSize(tx,25);
if abs(value12[1]-value11[1]) < 0.85 Then
Text_Delete(tx);
tx = text_new(sDate,stime,value12,NumToStr(value12-value11,2));
Text_SetColor(Tx,Blue);
Text_SetStyle(tx,1,0);
Text_SetSize(tx,30);
Text_SetBold(tx,1);
}
If LoVal[0] > L Then
{
LoVal[0] = L;
LoBar[0] = 0;
date12 = date[LoBar[0]+N];
time12 = stime[LoBar[0]+N];
Value12 = LoVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date22 = date[0];
time22 = stime[0];
TL_Delete(tl);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
if Condition1 == False and Value12 <= value11-폭1 Then
{
Condition1 = true;
TL9 = TL_New(sDate,sTime,Value12,sDate,sTime,99999);
TL_SetColor(TL9,Magenta);
TL_SetSize(TL9,1);
}
if Condition2 == False and Value12 <= value11-폭2 Then
{
Condition2 = true;
TL9 = TL_New(sDate,sTime,Value12,sDate,sTime,99999);
TL_SetColor(TL9,Magenta);
TL_SetSize(TL9,1);
}
if Condition3 == False and Value12 <= value11-폭3 Then
{
Condition3 = true;
TL9 = TL_New(sDate,sTime,Value12,sDate,sTime,99999);
TL_SetColor(TL9,Red);
TL_SetSize(TL9,1);
Txx =Text_New(sdate,stime,value12+PriceScale*10,"●");
Text_SetColor(Txx,Magenta);
Text_SetStyle(Txx,2,2);
Text_SetSize(txx,35);
}
Text_SetString(tx,NumToStr(value12-value11,2)+"");
Text_SetLocation(tx,sDate,sTime,value12);
}
}
If T == 1 Then
{
If T[1] != 1 Then
{
For j = 18 DownTo 0
{
HiVal[j+1] = HiVal[j];
HiBar[j+1] = HiBar[j];
}
HiVal[0] = H;
HiBar[0] = 0;
date11 = date[LoBar[0]+N];
time11 = stime[LoBar[0]+N];
Value11 = LoVal[0];
date12 = date[HiBar[0]+N];
time12 = stime[HiBar[0]+N];
Value12 = HiVal[0];
TL_Delete(tl);
TL = TL_New(sdate,stime,Value12,NextBarSdate,NextBarStime,NextBarOpen);
TL1 = TL_New(date11,time11,Value11,date12,time12,Value12);
TL_SetColor(TL1,하락색);
date31 = date[LoBar[0]];
time31 = stime[LoBar[0]];
date32 = date[0];
time32 = stime[0];
Text_SetSize(tx,25);
if abs(value12[1]-value11[1]) < 0.85 Then
Text_Delete(tx);
tx = text_new(sDate,stime,value12,NumToStr(value12-value11,2)+"");
Text_SetColor(Tx,Red);
Text_SetStyle(tx,1,1);
Text_SetSize(tx,30);
Text_SetBold(tx,1);
}
If HiVal[0] < H Then
{
HiVal[0] = H;
HiBar[0] = 0;
date12 = date[HiBar[0]+N];
time12 = stime[HiBar[0]+N];
Value12 = HiVal[0];
TL_SetEnd(TL1, date12,time12,Value12);
date32 = date[0];
time32 = stime[0];
Text_SetString(tx,NumToStr(value12-value11,2)+"");
Text_SetLocation(tx,sDate,sTime,value12);
}
}
TL_SetSize(TL1,선두께);
1.상하대칭
추세선이 상승 전환되면 직전 하락추세선의 폭만큼 상하 대칭점에(배) 네모 표시.
하락 전환되면 직전 상승추세선의 폭만큼 상하 대칭점에 네모 표시.
2.직전 폭
추세선이 상승 전환되면 직전 상승추세선의 폭만큼,새 하단으로부터 위로 네모 표시.
하락 전환되면 직전 하락추세선의 폭만큼, 새 상단에서 아래로 네모 표시. 감사합니다.
2023-03-17
1258
글번호 167261
2wnwn 님에 의해서 삭제되었습니다.
2023-03-17
24
글번호 167260