커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3463
글번호 230811
답변완료
수식 도와주세요
혼자서 메뉴얼 보고 조금씩 공부하고 있습니다.
기초적이겠지만 한번 제가 맞게 수식을 작성하였는지 확인해 주세요
input : ATR(20);
var : EX(10000);
Buy("A", Atstop, C>ATR*2+O, Round(EX/(ATR*2),0))
시가에서 20봉 기준의 ATR값의 2배를 넘는 상승이 나왔을 때,
10000을 20봉 기준의 ATR의 2배로 나눈 값을 정수단위로 반올림한 만큼 매수한다.
2020-02-25
414
글번호 136327
답변완료
지표 좀 부탁 드립니다.
* 많은 도움에 고맙습니다.
* 수평선좀 요청 드립니다.
즉 최근 5개선 까지 고가선 과 저가선을 표현 부탁 드립니다.
그리고 선과 선 사이에 경과 봉수 도 수치로 부탁 드립니다.
(전고점 과 10개 봉 이상 차이가 날 경우만 봉수 표시)
아래는 공부중인데 수평선이 잘 안되요... -.-
## 고가선
var11 = highest(H,5);
var12 = highest(H,10);
var13 = highest(H,15);
var14 = highest(H,20);
## 저가선
var15 = highest(H,30);
var21 = Lowest(L,5) ;
var22 = Lowest(L,10);
var23 = Lowest(L,15);
var24 = Lowest(L,20);
var25 = Lowest(L,30);
var: TL31(0),Tx31(0),Tx32(0);
if var11 Then
{Tx31 = Text_New(sdate,stime, C ,"■");
Text_SetStyle(Tx31,2,2);
value1 = lowest(L,3) ; value2 = 0 ; ## 봉가격
TL31 = TL_New(sdate,stime,c,NextBarSdate,NextBarStime,value1); ## 수평선
Tx32 = Text_New(NextBarSdate,NextBarStime,c,NumToStr(value1,1));
Text_SetSize(Tx32,23 );
Text_SetStyle(Tx32,2,1); ## 가격 찍기
} Else
{value2=value2+1; if value1>0 and value2<20 then
{TL_SetEnd(TL31,NextBarSdate,NextBarStime,value1);
Text_SetLocation(Tx32,NextBarSdate,NextBarStime,Value1); }}
* 좋은 하루 되십시요^^ 고맙습니다.
2020-02-26
426
글번호 136326
답변완료
수식변경
안녕하세요 늘 도움 감사합니다
아래의 수식에서 음봉의 고가 와 양봉의 시가 만 표시되도록 해주시고
그리고 현재봉 과 현재봉 바로 전봉에만 만 표시되고 그이전봉들에는 표시가 안되도록 수식 부탁드립니다.
input : N(0);
var : cnt(0), HH(0),LL(0);
HH = 0;
LL = 0;
for cnt = 0 to N-1
{
if HH == 0 or (HH > 0 and H[cnt] > HH) Then
{
HH = H[cnt];
if C[cnt] < O[cnt] Then
var1 = H[cnt];
}
if LL == 0 or (LL > 0 and L[cnt] < LL) Then
{
LL = L[cnt];
if C[cnt] > O[cnt] Then
var2 = L[cnt];
}
}
plot1(var1);
plot2(var2);
2020-02-25
405
글번호 136325
답변완료
수식문의드립니다.
수고하십니다.
거래량이 매수세가 강할때 배경색을 빨강색, 매도세가 강할때 파랑색
그리고 이동평균선 10일선 기준으로 일봉이 이동평균선 가격보다 높으면 이동평균선 색이 빨강색으로 변하고, 그후 일봉이 이동평균선 가격보다 낮으면 이동평균선 10일 선이 파랑색으로 변하는 수식 부탁드립니다.
2020-02-25
434
글번호 136324
답변완료
66207추가문의
66207관련 2개지표모두 수평선,가격데이타 정상적으로 차트에 출력됩니다
감사합니다!
사용중 발생되는몇가지 문제점에대하여 문의드립니다
1;가격데이타 수치가 검은색으로만나타납니다
차트배경이 검은색이라 속성창에서 색상변경을하고 다시 검증하엿는데
변화가없고 계속검은색으로만 나타납니다
2 지표적용뒤 삭제기능이 안됩니다
차트를 삭제해야만 동시에지표도 삭제할수잇습니다
3; 수식이나차트설정문제인가요 ?
참고로 kingtrader 버전입니다
2020-02-25
428
글번호 136323
답변완료
질문 올립니다.
안녕하세요. 항상 감사 드립니다.
1.
시스템을 작동시킨 후,
가령 매수 신호가 나왔을 때 실제로 매수 진입되어 현재 롱포지션 1계약 보유 중이라고 할 때,
가격이 잘 올라 가다가 내려 오기 시작하여 수동으로 청산을 해서,
실제로는 이제 무포지션이 되었지만, 시스템 모니터 상에서는 아직도 매수 포지션 보유상태로 유지가 됩니다. ((즉 이 다음에는, 이 가상의 매수 포지션을 청산하는 ExitLong 신호가 나와서, 매도 주문이 나가게 될 상황입니다...))
이 때, 이 것을 수동이나 여하튼 어떤 방법으로든, 무포지션 상태로 환원(=변경)시킬 수 있는 방법이 있는지요?
((그래야 새로운 상황에서 또 매수 신호든 매도 신호든 새로운 신호가 나오면, 새롭게 그 때부터 그에 맞는 포지션이 구축될 수 있도록요...))
2. 거의 같은 질문입니다만,
시스템을 켜자 마자 시스템 모니터 상에서 현재 가령 매도포지션 1계약 이렇게 표시될 때, 실제로는 진입이 안 되어 있어서 현재 실제 무포지션이므로,
시스템 모니터 상으로도 무포지션으로 지금 시작될 수 있도록 하는 방법이 있을까요?
감사합니다!
2020-02-25
429
글번호 136322
답변완료
가격챠트에서 텍스트출력 방법 문의드립니다.
안녕하세요,
기본챠트 각봉의 아래에 사용자함수의 결과값을 텍스트로 출력하고싶습니다.
예를들어 data1가격챠트 봉아래에 data2의 현재시가를 택스트로 출력하려고 한다면 수식을 어떻게 작성해야 하는지 도움을 부탁드립니다.
혹시 세로쓰기 방식이 가능하다면 이것도 방법을 부탁드립니다.
감사합니다.
2020-02-25
408
글번호 136321
답변완료
부탁합니다.
20일선이 상승추세로 전환되면서
가격이 20일선을 돌파할때를 찾고 싶습니다.
2020-02-25
305
글번호 136320
답변완료
수식 수정 부탁드려요~
해외선물 나스닥 1분봉 기준입니다
사진에 보시는것처럼
매주 월요일마다 진입과 청산이 안되고요
휴장다음날 또한 진입과 청산이 안되네요
한번 돌려보시고 수식 수정 부탁드립니다
//써머타임 변수
var : Summer(False),Year(0);
var : V1(0),V2(0),V3(0),V4(0);
var: Tcond(False);
//써머타임 변수
input: p(20);
var1 = ma(c,20);
// 써머타임
if sdate != sdate[1] Then
{
Year = Floor(sdate/10000);
V1 = (10000 * Year) + (100 * 3) + 1;
V2 = 15 - dayofweek(v1); // 3월 두번째 일요일 날짜
v3 = (10000 * Year) + (100 * 11) + 1;
v4 = 8 - dayofweek(v3); // 11월 첫번째 일요일 날짜
Summer = (sdate > (10000 * Year) + (100 * 3) + v2) And (sdate < (10000 * Year) + (100 * 11) + v4);
}
// 써머타임
// 써머타임 3월~11월
if Summer == true then{
if (sdate != sdate[1] and stime >= 070000) or
(sdate == sdate[1] and stime >= 070000 and stime[1] < 070000) then
{
Tcond = true;
}
if sdate == 20190419 then { //써머 휴일청산
if (sdate != sdate[1] and stime >= 054500) or
(sdate == sdate[1] and stime >= 054500 and stime[1] < 054500) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("써머휴일매수청");
if MarketPosition == -1 Then
ExitShort("써머휴일매도청");
}
}
else if sdate == 20190528 or sdate == 20190704 or sdate == 20190705 or sdate == 20190903 then { //써머 조기장
if (sdate != sdate[1] and stime >= 014500) or
(sdate == sdate[1] and stime >= 014500 and stime[1] < 014500) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("써머조기장매수청");
if MarketPosition == -1 Then
ExitShort("써머조기장매도청");
}
}
else {
if (sdate != sdate[1] and stime >= 054500 ) or
(sdate == sdate[1] and stime >= 054500 and stime[1] < 054500 ) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("써머매수청");
if MarketPosition == -1 Then
ExitShort("써머매도청");
}
}
}
Else { //11월~3월까지
if (sdate != sdate[1] and stime >= 080000) or
(sdate == sdate[1] and stime >= 080000 and stime[1] < 080000) then
{
Tcond = true;
}
if sdate == 20190101 or sdate == 20200101 then { //노써머 휴일청산
if (sdate != sdate[1] and stime >= 064500) or
(sdate == sdate[1] and stime >= 064500 and stime[1] < 064500) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("노써머휴일매수청");
if MarketPosition == -1 Then
ExitShort("노써머휴일매도청");
}
}
else if sdate == 20190122 or sdate == 20190219 or sdate == 20191129 or sdate == 20191130 or sdate == 20191225
or sdate == 20200121 or sdate == 20200218 then { //노써머 조기장
if (sdate != sdate[1] and stime >= 024500) or
(sdate == sdate[1] and stime >= 024500 and stime[1] < 024500) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("노써머조기장매수청");
if MarketPosition == -1 Then
ExitShort("노써머조기장매도청");
}
}
else{
if (sdate != sdate[1] and stime >= 064500 ) or
(sdate == sdate[1] and stime >= 064500 and stime[1] < 064500 ) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("노써머매수청");
if MarketPosition == -1 Then
ExitShort("노써머매도청");
}
}
}
// 써머타임
//--------- 진입 로직 ---------//
If Tcond == true Then
{
if CrossUp(c,var1) Then
buy();
if CrossDown(c,var1) Then
sell();
}
2020-02-25
323
글번호 136319