커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8105
글번호 230811
답변완료
부탁드립니다.
1. 58116호와 관련하여, 1분챠트에서 종가가 highest(h,20)[5]를 올라서면 바로 매수하지 말고 이를 기준봉 삼아서 그 이후 종가가 기준봉 삼은 봉의 고가를 넘어서면 매수하고, 종가가 lowest(l,20)[5]를 내려서면 바로 매도하지 말고 이를 기준봉 삼아서 그 이후 종가가 기준봉 삼은 봉의 저가를 내려가면 매도하라는 시스템식을 만드는데 있어서, 예를들면 08시02분에 매수신호가가 먼저 나와 진입하였으면 그 이후 08시 59분까지는 설사 매도 신호가 나와도 진입하지 않고, 다음 09시간대 이후로 넘어가 조건 만족할 때 매도신호가 나올 수 있도록 구현해 주세요,
한마디로 매 시간대마다 매수든 매도든 먼저 진입한 신호가 있을 때에는 그 반대 포지션 신호가 나오더라도 똑 같은 시간대만큼은 신호가 나오지 않도록 해 주세요, 감사합니다.
2018-06-07
279
글번호 119568
답변완료
시스템식 여쭤봅니다~
수식 여쭤봅니다.
개별종목 1분봉에 적용할려고 합니다.
금액설정하고 싶습니다.
1차 매수는 전일종가에서 -2% ( 설정금액의 50%)
2차 매수는 전일종가에서 -5% ( 설정금액 나머지 50%)
매수가 된 시간 이후부터 이런패턴으로 매도를 하고 싶습니다
매수가1차든 2차까지든 9시20분 전에 일어나면
매도는 당일 오전 9시20분에 전체물량 20%
당일 오전11시20분에 전체물량 25%
당일 오후14시50분에 전체물량 33%
다음날 오전 9시20분에 전체물량 50%
다음날 오전 11시20분에 남은물량 전부
매수가 1차든 2차까지든 11시20분전에 일어나면
당일 오전11시20분에 전체물량 20%
당일 오후14시50분에 전체물량 25%
다음날 오전 9시20분에 전체물량 33%
다음날 오전 11시20분에 남은물량 50%
다음날 오후 14시40분에 남은물량 전부
매수가 1차든 2차까지든 14시40분전에 일어나면
오후 14시40분에 전체물량 20%
다음날 오전 9시20분에 전체물량 25%
다음날 오전 11시20분에 전체물량 33%
다음날 오후 14시40분에 전체물량 50%
다다음날 오전 9시20분에 남은 물량 전부
매수가 1차든 2차까지든 14시40분 이후에 일어나면
다음날 오전 9시20분 전체물량 20%
다음날 오전 11시20분 전체물량 25%
다음날 오후 14시40분 전체물량 33%
다다음날 오전 9시20분 남은 물량 전부
* 당일 시가 또는 당일 고가가 전일종가보다 10% 이상되었다가 흘러내리는 종목은 제외
* 매수는 주가가 전일종가보다 하락할시 1차 매수 2차매수로 두번정도 분할매수를 하고 싶고
* 1차든 2차든 매수가 일어나서 물량이 있으면 시간에 따라 분할매도가 되어 물량이 전부 매도되는 그때까지 재매수가 없었으면 합니다.( 하루 또는 이틀이 될수도 있죠)
그러니까 1차매수 또는 2차매수까지는 한종목당 한번만 허용.
* 모든 물량이 매도되는 날에는 그당일에는 다시 매수가에 닿아도 매수가 안일어나게 하고 싶습니다.
감사합니다.
2018-06-08
297
글번호 119566
답변완료
안녕하세요?
안녕하세요?
아래수식에서 고점과 저점의 가격은 숫치로 표시가 되는데요
피보나치 가격도 고저점 처럼 표시하고 싶습니다.
피보나치 38.2 , 50 , 61.8%의 가격을 수치로 표시.
고가,저가가 표시되는 그라인으로 표시되면 좋겠습니다.
고가
1200
----------------------------------------------- 61.8%
1000
----------------------------------------------- 50%
800
----------------------------------------------- 38.2%
저가
바쁘시겠지만 부탁드립니다.(지그재그파동은 수식지왕님 홈피에서 참고했습니다.)
항상 수식지원에 감사드립니다.
Input:length(30),줄간격(3),종목자릿수(0);
input :BOT(0),t382(38.2),t500(50),t618(61.8),TOP(100);
var: T(0),TL31(0),TL32(0),TL33(0),TL34(0),TL35(0);
Var:j(0),TL1(0),Text1(0),Text2(0),Text3(0),TL11(0),TL12(0),TL13(0),TL14(0),TL15(0),
TL_NewBit(0); // 1:NewLine 2:SetEndLine
Array:고[5,4](0),저[5,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
Value1 = HiLoLineZigZag(length,0,고,저,TL_NewBit);
If Value1 == 1 Then { // 고점
T = 1;
If TL_NewBit == 1 Then { // 신규
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
TL_SetColor(TL1,WHITE);
TL_SetSize(TL1,3);
var1 = 고[2,1];
var2 = 저[1,1];
VAR3 = 저[2,1];
var4 = abs(var1-var2);
var5 = abs(var1-var3);
TL11 = TL_New(고[2,3],고[2,4],var1-Var4*(BOT/100),저[1,3],저[1,4],var1-var4*(BOT/100));
TL12 = TL_New(고[2,3],고[2,4],var1-var4*(t382/100),저[1,3],저[1,4],var1-var4*(t382/100));
TL13 = TL_New(고[2,3],고[2,4],var1-var4*(t500/100),저[1,3],저[1,4],var1-var4*(t500/100));
TL14 = TL_New(고[2,3],고[2,4],var1-var4*(t618/100),저[1,3],저[1,4],var1-var4*(t618/100));
TL15 = TL_New(고[2,3],고[2,4],var1-var4*(TOP/100),저[1,3],저[1,4],var1-var4*(TOP/100));
# plot11(var11-var14*(t500/100),"Per1%",RED);
TL_SetColor(TL11,RED);
TL_SetColor(TL12,black);
TL_SetColor(TL13,YELLOW);
TL_SetColor(TL14,red);
TL_SetColor(TL15,yellow);
Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr((고[1,1]),종목자릿수));
Text_SetStyle(Text1, 2, 1);
Text2 = Text_New(고[1,3],고[1,4],고[1,1]+줄간격*PriceScale,"+"+NumToStr(abs(고[1,1]-저[1,1])/PriceScale,0));
Text_SetStyle(Text2, 2, 1);
}
If TL_NewBit == 2 Then { // 연장
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
TL_SetEnd(TL11,저[1,3],저[1,4],var1-var4*(BOT/100));
TL_SetEnd(TL12,저[1,3],저[1,4],var1-var4*(t382/100));
TL_SetEnd(TL13,저[1,3],저[1,4],var1-var4*(t500/100));
TL_SetEnd(TL14,저[1,3],저[1,4],var1-var4*(t618/100));
TL_SetEnd(TL15,저[1,3],저[1,4],var1-var4*(TOP/100));
TL_SetColor(TL11,RED);
TL_SetColor(TL12,white);
TL_SetColor(TL13,YELLOW);
TL_SetColor(TL14,white);
TL_SetColor(TL15,yellow);
Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]);
Text_SetString(Text1,NumToStr((고[1,1]),종목자릿수));
Text_SetLocation(Text2,고[1,3],고[1,4],고[1,1]+줄간격*PriceScale);
Text_SetString(Text2,"+"+NumToStr(abs(고[1,1]-저[1,1])/PriceScale,0));
Text_SetColor(Text2,RED);
}
}
Else If Value1 == -1 Then { // 저점
T = -1;
If TL_NewBit == 1 Then { // 신규
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
TL_SetColor(TL1,CYAN);
TL_SetSize(TL1,3);
var1 = 고[1,1];
var2 = 저[2,1];
var3 = 고[2,1];
var4 = abs(var1-var2);
var5 = abs(var2-var3);
TL11 = TL_New(저[2,3],저[2,4],var1-Var4*(BOT/100),고[1,3],고[1,4],var1-Var4*(BOT/100));
TL12 = TL_New(저[2,3],저[2,4],var1-var4*(t382/100),고[1,3],고[1,4],var1-var4*(t382/100));
TL13 = TL_New(저[2,3],저[2,4],var1-Var4*(t500/100),고[1,3],고[1,4],var1-Var4*(t500/100));
TL14 = TL_New(저[2,3],저[2,4],var1-var4*(t618/100),고[1,3],고[1,4],var1-var4*(t618/100));
TL15 = TL_New(저[2,3],저[2,4],var1-Var4*(TOP/100),고[1,3],고[1,4],var1-Var4*(TOP/100));
TL_SetColor(TL11,RED);
TL_SetColor(TL12,white);
TL_SetColor(TL13,YELLOW);
TL_SetColor(TL14,white);
TL_SetColor(TL15,blue);
Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr((저[1,1]),종목자릿수));
Text_SetStyle(Text1, 2, 0);
Text2 = Text_New(저[1,3],저[1,4],저[1,1]-줄간격*PriceScale,"-"+NumToStr(abs(저[1,1]-고[1,1])/PriceScale,0));
Text_SetStyle(Text2, 2, 0);
Text_SetColor(Text2,BLUE);
}
If TL_NewBit == 2 Then { // 연장
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
TL_SetEnd(TL11,고[1,3],고[1,4],var1-Var4*(BOT/100));
TL_SetEnd(TL12,고[1,3],고[1,4],var1-var4*(t382/100));
TL_SetEnd(TL13,고[1,3],고[1,4],var1-var4*(t500/100));
TL_SetEnd(TL14,고[1,3],고[1,4],var1-var4*(t618/100));
TL_SetEnd(TL15,고[1,3],고[1,4],var1-var4*(TOP/100));
Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]);
Text_SetString(Text1,NumToStr((저[1,1]),종목자릿수));
Text_SetLocation(Text2,저[1,3],저[1,4],저[1,1]-줄간격*PriceScale);
Text_SetString(Text2,"-"+NumToStr(abs(저[1,1]-고[1,1])/PriceScale,0));
Text_SetColor(Text2,BLUE);
}
}
if T == 1 Then{
TL_Delete(TL31);
TL_Delete(TL32);
TL_Delete(TL33);
TL_Delete(TL34);
TL_Delete(TL35);
var11 = 고[1,1];
var12 = 저[1,1];
VAR13 = 고[2,1];
var14 = abs(var11-var12);
var15 = abs(var12-var13);
TL31 = TL_New(sdate[index-고[1,2]],stime[index-고[1,2]],var11-Var14*(BOT/100),sdate,stime,var11-Var14*(BOT/100));
TL32 = TL_New(sdate[index-고[1,2]],stime[index-고[1,2]],var11-var14*(t382/100),sdate,stime,var11-var14*(t382/100));
TL33 = TL_New(sdate[index-고[1,2]],stime[index-고[1,2]],var11-var14*(t500/100),sdate,stime,var11-var14*(t500/100));
TL34 = TL_New(sdate[index-고[1,2]],stime[index-고[1,2]],var11-var14*(t618/100),sdate,stime,var11-var14*(t618/100));
TL35 = TL_New(sdate[index-고[1,2]],stime[index-고[1,2]],var11-var14*(TOP/100),sdate,stime,var11-var14*(TOP/100));
plot1(var11-var14*(t500/100),"Per1%",RED);
}
TL_SetColor(TL31,RED);
TL_SetColor(TL32,white);
TL_SetColor(TL33,YELLOW);
TL_SetColor(TL34,white);
TL_SetColor(TL35,yellow);
if T == -1 Then{
TL_Delete(TL31);
TL_Delete(TL32);
TL_Delete(TL33);
TL_Delete(TL34);
TL_Delete(TL35);
var11 = 고[1,1];
var12 = 저[1,1];
VAR13 = 저[2,1];
var14 = abs(var11-var12);
var15 = abs(var11-var13);
TL31 = TL_New(sdate[index-저[1,2]],stime[index-저[1,2]],var11-Var14*(BOT/100),sdate,stime,var11-Var14*(BOT/100));
TL32 = TL_New(sdate[index-저[1,2]],stime[index-저[1,2]],var11-var14*(t382/100),sdate,stime,var11-var14*(t382/100));
TL33 = TL_New(sdate[index-저[1,2]],stime[index-저[1,2]],var11-var14*(t500/100),sdate,stime,var11-var14*(t500/100));
TL34 = TL_New(sdate[index-저[1,2]],stime[index-저[1,2]],var11-var14*(t618/100),sdate,stime,var11-var14*(t618/100));
TL35 = TL_New(sdate[index-저[1,2]],stime[index-저[1,2]],var11-var14*(TOP/100),sdate,stime,var11-var14*(TOP/100));
TL_SetColor(TL31,RED);
TL_SetColor(TL32,white);
TL_SetColor(TL33,YELLOW);
TL_SetColor(TL34,white);
TL_SetColor(TL35,yellow);
}
2018-06-07
362
글번호 119559
답변완료
강제청산
시스템설정창의 최소 가격 변화(강제청산) 수식을 아래에 추가해주십시요.
시뮬레이션을 위해 input에도 반영바랍니다.
input:최소가격변화포인트(0.5), 봉갯수(50)
******************************************
Inputs: Length(10), Consec(2);
If CountIf(Close > Highest(High, Length)[1], Consec) == Consec Then
Buy ("CBO_LE");
If CountIf(Close < Lowest(Low, Length)[1], Consec) == Consec Then
Sell ("CBO_SE");
2018-06-07
286
글번호 119552
답변완료
수식문의
분봉이 당일시가를 3틱이상 돌파했다면 매수
3틱아래 돌파 매도
손절/이익틱수 15/30 이렇게 지정할 수 있게 부탁드립니다.
그리고 거래시간 지정할 수 있게 부탁드립니다.(오후 4시~ 새벽2시까지)
2018-06-07
270
글번호 119551
답변완료
부탁합니다
시스템트레이딩에보면 경보음이 있는데
accept, alert, mesu, medo, reject, stop 이렁게 여섯종류가있는데 띵띵소리 말고 한국어로
" 진입대기 " 로 소리날수 있도록 음성파일 만들어 주세요
2018-06-07
331
글번호 119547
답변완료
부탁드림니다.
시스템수정 부탁드림니다.
Input : shortPeriod(2), longPeriod(20) ;
Var : value(0),vol(0);
value = OSCP(shortPeriod, longPeriod);
If CrossUP(value, 0.1) and C > value1[26]
Then
Buy("buy",OnClose,def);
If CrossDown(value,-0.1) and C < value1[26]
Then
Sell("sell",OnClose,def);
위수식이 문제가 있어 신호가없습니다
수정부탁드림니다.
감사합니다.
2018-06-07
262
글번호 119546
답변완료
수정부탁드려요
하기 수식대로 하니
예를들어 매도 진입시,
매도신호(dp이 dm 하향돌파) 이후 5일 이평선이 20일 이평선 밑에 올때 매도진입을 하였는데
익절 10틱으로 잡고 청산 후 다시 다른 신호가 나올때까지 기다렸다가 재진입해야하는데
새로운 신호없이5일 이평선이 20일 이평선 잠깐 올라탔다가 내려갈때 다시 매도 재진입하더라구요
저는 1번의 신호에 1번 진입하고, 재진입은 새로운 신호와 이평선 조건이 만족할시 재진입하고 싶습니다.
이것또한 수정이 가능 할까요?
안녕하세요
예스스탁입니다.
Input : Period(14),P1(5),P2(20);
var : DMIv(0),DP(0),DM(0);
DMIv = DMI(Period);
DP = DIPlus(Period);
DM = DIMinus(Period);
var1 = ma(C,P1);
var2 = ma(C,P2);
Condition1 = dp > dm and var1 > var2;
Condition2 = dp < dm and var1 < var2;
if Condition1 == true and Condition1[1] == false Then
buy();
if Condition2 == true and Condition2[1] == false Then
sell();
즐거운 하루되세요
> 이인 님이 쓴 글입니다.
> 제목 : 문의드립니다.
>
(1) 매수진입 : dmi지표의 +di 값이 -di 값을 상향돌파하고,
5일 이평선이 20일이평선 보다 높아질때(종가기준)
(기존 5일이평선이 20일이평선보다 위에 있을경우도 매수진입)
(2) 매도진입 : dmi지표의 +di 값이 -di 값을 하향돌파하고,
5일 이평선이 20일이평선을 하향돌파할때(종가기준)
(기존 5일이평선이 20일이평선보다 밑에 있을경우도 매도진입)
감사합니다.
2018-06-07
288
글번호 119545
관리자에 의해 프로그램 사용법 QnA로 이동되었습니다
2018-06-07
4
글번호 119544