커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5560
글번호 230811
답변완료
수식 부탁드림니다.(일반 국내 주식)
1.매수 --> 매수 청산입니다.
1. 매수 조건 (5분봉)
공통조건: 이평 정배열일때 매수 100 > 1000
추가조건:
(1) MFI 25이하 신호시마다 매수(기간 14)
(2) RSI 25이하 신호시마다 매수(기간 14)
(3) CCI -300이하 신호시마다 매수(기간 20)
(4) 스토케스틱 저점이하일때 매수 (StochasticsSlow(20,5) < 5 )
(5) 투자심리도 10 이하(기간 14)
1번부터 5번까지 각각 발생 신호시마다 매수 진입 (중복 신호도 각각 진입)
1회 진입사마다 100000원 진입
최대 100회까지만 진입
청산 조건
(1) DMI 매도 신호시(DIPlus(20) >= DIMinus(20))마다 매수 수량의 10% 씩 청산 ( 10회 분할 매도)
2019-03-31
218
글번호 127506
답변완료
문의 드립니다.
안녕하세요 아래 수식을 이용하여 지표를 만들어 표시를 하면
올린 그림과 같이 표시가 됩니다. 지표에 표시된 변곡지점에
data1 주차트 캔들 위 아래에 표시와 함께 소리가 나게
할 수 있으면 좋겠습니다.
감사드리며 부탁 드립니다.
==========================
input: period1(5),period2(10);
value1 = data2(c)-data3(c);
value2 = ma(value1,period1);
value3 = ema(value2,period2);
if crossup(value2,value3) Then
var1 = value2;
if value2>var1 Then {
var1 = value2;
}
if crossdown(value2,value3) Then
var2 = value2;
if value2<var2 Then {
var2 = value2;
}
plot1(var1,"변곡1",red);
plot2(var2,"변곡2",blue);
plot3(value3,"이평2",iff(value3 > value3[1],yellow,lmagenta));
plot4(value2,"이평1",iff(value2 > value2[1],white,black));
=======================================
2019-03-31
369
글번호 127505
답변완료
수식 부탁드림니다.
매수 진입 조건
1.해외 선물( 쿠르드오일)
2.진입시간: 15:00 -- 00:00 ( 청산시간은 설정 X )
3.하루 진입횟수 1회만
4.60분봉에서 장대 양봉 발생( 시가와 종가가 30tick 이상 발생시)
5.파라볼릭 매수 신호시
4번조건과 5번조건의 교집합시 진입 신호
60분봉의 종가에서 -5tick에서 즉시 매수 진입
청산
1. 수익이 40tick이상 발생시 종가(60봉분) 청산
2. 수익이 60tick 발생시 즉시 청산
3. 손실이 40tick 발생시 종가(60분봉) 청산
4. 손실이 60tick 발생시 즉시 청산
2019-03-31
184
글번호 127504
회원 님에 의해서 삭제되었습니다.
2019-03-31
46
글번호 127503
답변완료
문의드립니다
스토케스틱 슬로우 10/5/4 ---> a
스토케스틱 슬로우 20/10 ---> b
1. a 와 b 가 모두 기준선 20이하(k선) 일때 a의 %k선이 b의 %k선을 골든크로스 시 매수신호
2. a 와 b 가 모두 기준선 80이상(k선) 일때 a의 %k선이 b의 %k선을 데드크로스 시 매도신호
익절 20 손절 20
2019-03-31
296
글번호 127502
ddd
ddd
2019-03-31
232
글번호 127501
답변완료
수식
항상 감사드립니다.
조건에 부합하는 봉에만 우측연장 없이 표현될수 있도록 수식 부탁드립니다.
감사합니다.
안녕하세요
예스스탁입니다.
if countif(C>O,2) == 2 and H-L > H[1]-L[1] Then
{
var1 = h;
var2 = l;
var3 = O;
}
plot1(var1);
plot2(var2);
plot3(var3);
plot1(var1+(var1-var2));
plot1(var2-(var1-var2));
if countif(C<O,2) == 2 and H-L > H[1]-L[1] Then
{
var4 = h;
var5 = l;
var6 = O;
}
plot1(var4);
plot2(var5);
plot3(var6);
plot1(var4+(var4-var5));
plot1(var5-(var4-var5));
즐거운 하루되세요
> 한국사람73 님이 쓴 글입니다.
> 제목 : 수식
> 하기 조건에 따른 수식 부탁드립니다.
## 연속 양봉 발생 및 2번째 양봉 고저폭이 첫번째 양봉 고저폭보다 크다
1) 2번째 양봉 고가 & 저가 & 시가를 표시한다
2) 2번째 양봉 고가와 저가의 상방 대칭을 표시한다
3) 2번째 양봉 고가와 저가의 하방 대칭을 표시한다
## 연속 음봉 발생 및 2번째 음봉 고저폭이 첫번째 양봉 고저폭보다 크다
1) 2번째 음봉 고가 & 저가 & 시가를 표시한다
2) 2번째 음봉 고가와 저가의 상방 대칭을 표시한다
3) 2번째 음봉 고가와 저가의 하방 대칭을 표시한다
감사합니다.
2019-03-31
333
글번호 127500
샐리짱 님에 의해서 삭제되었습니다.
2019-03-30
0
글번호 127499
답변완료
지표문의
1.아래는 darvas박스 지표인데요
지표를 뛰우면 1,2,3,4,5 숫자가 나타 나는데 의미가 무엇인가요?
또 숫자 표시 안 되게 지표수정 좀 해주세요.
inputs : ShowAll(true);
var : BoxTop(0), BoxBtm(0), Ctr(0), BBD(0), BBT(0), EBD(0), EBT(0), UpBand(0), DnBand(0), CurrState(1),
TextId(-1), TopId(-1), TopIdP(-1), BtmId(-1), BtmIdP(-1), LSId(-1), LSIdP(-1), RSId(-1), RSIdP(-1),
HiFirst(true), LoFirst(false), State1(false), State2(false), State3(false), State4(false), State5(false),
DrawBox(false), ValidBox(false), HadBreak(false), NewBox(false);
if index == 1 then begin
BoxTop = high;
BoxBtm = low;
State1 = true;
BBD = date;
BBT = time;
end;
if NewBox and high > UpBand then begin
BBD = date;
BBT = time;
TL_SetEnd(TopId, BBD, BBT, UpBand);
TL_SetEnd(BtmId, BBD, BBt, DnBand);
RSIdP = RSId ;
RSId = TL_New(BBD, BBT, DnBand, BBD, BBT, UpBand);
if ShowAll == false and RSIdP <> -1 then TL_Delete( RSIdP ) ;
if HiFirst then TL_SetColor(RSId, yellow);
else TL_SetColor(RSId, magenta);
NewBox = false;
State1 = true;
LoFirst = false;
HiFirst = true;
end;
if NewBox and low < DnBand then begin
BBD = date;
BBT = time;
TL_SetEnd(TopId, BBD, BBT, UpBand);
TL_SetEnd(BtmId, BBD, BBt, DnBand);
RSIdP = RSId;
RSId = TL_New(BBD, BBT, DnBand, BBD, BBT, UpBand);
if ShowAll == false and RSIdP <> -1 then TL_Delete(RSIdP);
if HiFirst then TL_SetColor(RSId, yellow) ;
else TL_SetColor(RSId, magenta);
NewBox = false;
State1 = true;
HiFirst = false;
LoFirst = true;
end;
if HiFirst then begin
if State4 then begin
if high > BoxTop then begin
BoxTop = high;
State1 = true;
State4 = false;
CurrState = 1;
end
else begin
if low < BoxBtm then begin
State4 = false;
State3 = true;
BoxBtm = low;
CurrState = 3;
end
else begin
State4 = false;
State5 = true;
CurrState = 5;
end;
end;
end;
if State3 then begin
if high > BoxTop then begin
BoxTop = high;
State1 = true;
State3 = false;
CurrState = 1;
end
else begin
if low < BoxBtm then begin
State3 = true;
BoxBtm = low;
CurrState = 3;
end
else begin
State3 = false;
State4 = true;
CurrState = 4;
end;
end;
end;
if State2 then begin
if high > BoxTop then begin
BoxTop = high;
State1 = true;
State2 = false;
CurrState = 1;
end
else begin
State2 = false;
State3 = true;
BoxBtm = low;
CurrState = 3;
end;
end;
if State1 then begin
if high > BoxTop then begin
BoxTop = high;
State1 = true;
CurrState = 1;
end
else begin
State1 = false;
State2 = true;
CurrState = 2;
end;
end;
end
else begin #{ Using LoFirst }
if State4 then begin
if low < BoxBtm then begin
BoxBtm = low;
State1 = true;
State4 = false;
CurrState = 1;
end
else begin
if high > BoxTop then begin
State3 = true;
State4 = false;
BoxTop = high;
CurrState = 3;
end
else begin
State4 = false;
State5 = true;
CurrState = 5;
end;
end;
end;
if State3 then begin
if low < BoxBtm then begin
BoxBtm = low;
State1 = true;
State3 = false;
CurrState = 1;
end
else begin
if high > BoxTop then begin
State3 = true;
BoxTop = high;
CurrState = 3;
end
else begin
State3 = false;
State4 = true;
CurrState = 4;
end;
end;
end;
if State2 then begin
if low < BoxBtm then begin
Boxbtm = low;
State1 = true;
State2 = false;
CurrState = 1;
end
else begin
State2 = false;
State3 = true;
BoxTop = high;
CurrState = 3;
end;
end;
if State1 then begin
if low < BoxBtm then begin
BoxBtm = low;
State1 = true;
CurrState = 1;
end
else begin
State1 = false;
State2 = true;
CurrState = 2;
end;
end;
end; #{ END IF HIFIRST OR LOFIRST }
if State5 then begin
DrawBox = true;
EBD = date;
EBT = time;
end;
if DrawBox then begin
TopIdP = TopId;
BtmIdP = BtmId;
LSIdP = LSId;
TopId = TL_New(BBD, BBT, BoxTop, EBD, EBT, BoxTop);
BtmId = TL_New(BBD, BBT, BoxBtm, EBD, EBT, BoxBtm);
LSId = TL_New(BBD, BBT, BoxBtm, BBD, BBT, BoxTop);
if ShowAll == false then begin
if TopIdP <> -1 then TL_Delete(TopIdP);
if BtmIdP <> -1 then TL_Delete(BtmIdP);
if LSIdP <> -1 then TL_Delete(LSidP);
end;
if HiFirst then begin
TL_SetColor(TopId, yellow);
TL_SetColor(BtmId, yellow);
TL_SetColor(LSId, yellow);
end
else begin
TL_SetColor(TopId, magenta);
TL_SetColor(BtmId, magenta);
TL_SetColor(LSId, magenta);
end;
State1 = false;
State2 = false;
State3 = false;
State4 = false;
State5 = false;
DrawBox = false;
ValidBox = true;
end;
if ValidBox then begin
UpBand = BoxTop;
DnBand = BoxBtm;
ValidBox = false;
NewBox = true;
BoxTop = high;
BoxBtm = low;
end;
2.그럼 수고하세요
if HiFirst then TextId = Text_New(date, time, high * 1.0005, NumToStr(CurrState, 0));
else TextId = Text_New(date, time, low * 0.9995, NumToStr(CurrState, 0));
2019-03-30
368
글번호 127498