커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3552
글번호 230811
디딤돌 님에 의해서 삭제되었습니다.
2019-11-28
13
글번호 133987
답변완료
수식문의
안녕하세요
현재봉 기준에서
1. crossup(20이평, 60이평)
2. 직전 SwingLow(1,L,3,5,9) > 직직전 SwingLow(1,L,3,5,9)
일때 매수
수식 부탁드립니다,
감사합니다
2019-11-28
116
글번호 133986
답변완료
수식좀 부탁드립니다
키움 글로벌 에서 쓴 수식인데 예스차트로 부탁드립니다
m=macd(기간1,기간2);
ms=eavg(m,기간3);
valuewhen(1,crossup(m,ms),c)
2019-11-28
146
글번호 133980
답변완료
함수요청
안녕하세요?
아래 전략에 대해 스크립트 작성 요청드립니다.
※
1) 적용하고자 하는 상품
data1 = 항셍지수 선물 5분봉
data2 = 항셍지수 선물 10분봉
data3 = 항셍지수 선물 15분봉
data4 = 항셍지수 선물 20분봉
2) 매수진입 조건
(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입
or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입
or (data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입
or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입
3) 매도진입 조건
(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입
or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입
or (data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입
or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입
4) 매수청산 조건
{(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입
or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입}한 경우에는
현재가가 (data1 or data2 or data3 or data4)의 볼린저밴드 중심선을 상향이탈시 익봉 시가에 청산
{(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입
or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입}
한 경우에는
현재가가 (data1 or data2 or data3 or data4)의 볼린저밴드 상단선을 하향이탈시 익봉 시가에 청산
5) 매도청산 조건
{(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입
or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 상단선 위에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 상단선 위에서 출발하면 익봉시가에 진입}
한 경우에는
현재가가 (data1 or data2 or data3 or data4)의 볼린저밴드 하단선을 상향이탈시 익봉 시가에 청산
{(data1 and data2)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입
or (data3 or data4)의 T+1장(칼렌더데이상 T장과 동일하며 4시에 마지막으로 들어오는 T장의 직전봉)의 최종거래가 볼린저밴드 하단선 아래에 위치하고 T장의 시작가(10시 15분 시가)가 볼린저밴드 하단선 아래에서 출발하면 익봉시가에 진입}
한 경우에는
현재가가 (data1 or data2 or data3 or data4)의 볼린저밴드 중심선을 상향이탈시 익봉 시가에 청산
※
아래 글번호 65045번에 답변주셨던 내용을 수정하여 답변 요청드립니다.
input : P(20),dv(2);
var : BBup1(0,data1),BBdn1(0,data1);
var : BBup2(0,data2),BBdn2(0,data2);
var : BBup3(0,data3),BBdn3(0,data3);
var : BBup4(0,data4),BBdn4(0,data4);
BBup1 = data1(BollBandUp(P,dv));
BBdn1 = data1(BollBandDown(P,dv));
BBup2 = data2(BollBandUp(P,dv));
BBdn2 = data2(BollBandDown(P,dv));
BBup3 = data3(BollBandUp(P,dv));
BBdn3 = data3(BollBandDown(P,dv));
BBup4 = data4(BollBandUp(P,dv));
BBdn4 = data4(BollBandDown(P,dv));
if data1(time < 101500 and NextBarStime >= 101500) and
((data1(O < C[1] and O < BBdn1) and
data2(O < C[1] and O < BBdn2)) or
data3(O < C[1] and O < BBdn3) or
data4(O < C[1] and O < BBdn4)) Then
buy("b",AtMarket);
if data1(time < 101500 and NextBarStime >= 101500) and
((data1(O > C[1] and O > BBup1) and
data2(O > C[1] and O > BBup2)) or
data3(O > C[1] and O > BBup3) or
data4(O > C[1] and O > BBup4)) Then
sell("s",AtMarket);
if MarketPosition == 1 and
(data1(c > BBup1) or
data2(c > BBup2) or
data3(c > BBup3) or
data3(c > BBup4)) Then
ExitLong("bx",AtMarket);
if MarketPosition == -1 and
(data1(c < BBdn1) or
data2(c < BBdn2) or
data3(c < BBdn3) or
data4(c < BBdn4)) Then
ExitShort("sx",AtMarket);
2019-11-28
148
글번호 133973
디딤돌 님에 의해서 삭제되었습니다.
2019-11-28
5
글번호 133972
답변완료
전일장 봉개수
수고많으십니다
전일 장시작 시점부터(0900)
금일장에서 틱차트 봉개수 카운터하는 수식 부탁드립니다
감사합니다
2019-11-28
172
글번호 133970
답변완료
식
일반 범용 식입니다
YT에서 사용 가능한 지표를 나타날수 있게 변환 부탁합니다
N은 변수입니다.
수고하세요
VALUE1 = ((CLOSE - OPEN) + 2 * (CLOSE (1)) – OPEN (1)) + 2*(CLOSE (2)
– OPEN (2)) + (CLOSE (3) – OPEN (3))) / 6
VALUE2 = ((HIGH - LOW) + 2 * (HIGH (1) – LOW (1)) + 2*(HIGH (2)
- LOW (2)) + (HIGH (3) – LOW (3))) / 6
NUM = SUM (VALUE1, N)
DENUM = SUM (VALUE2, N)
RVI = NUM / DENUM
RVISig = (RVI + 2 * RVI (1) + 2 * RVI (2) + RVI (3)) / 6
2019-11-28
147
글번호 133969
회원 님에 의해서 삭제되었습니다.
2019-11-28
11
글번호 133968
답변완료
수식 수정좀 부탁합니다
안녕하세요
일부 수정있어서 적어봅니다
우선 첨부파일 1 에 설명을 하겠습니다
아래식은 손절식 입니다
아래식은 매수와 매도 사이에거 최고점 최저점을 손절선으로 했던거 입니다
이것을 첨부파일1에서 보는것처럼 매도신호 나오고 파란선2에 직 직전고점 수치보다 5틱위로 손절라인을 잡아주었으면 합니다
손절라인검 청산식이 되어야 합니다
청산 손절 익절등 이후 매도 매수가 들어가면 않되고요
다음 규칙이 나오때 까지 매도 매수는 기다는는 방식입니다
var : BH1(0),SL(0),TL(0),TX1(0);
input : 소숫점자리수(0);
if index == 0 Then
{
BH1 = H;
SL = L;
}
if MarketPosition == 1 Then
{
if MarketPosition != MarketPosition[1] Then
{
BH1 = Highest(H,BarsSinceEntry+1);
TL = TL_New(sdate[1],stime[1],SL,sdate,stime,SL);
TL_SetColor(TL,Red)
TL_SetStyle(TL,1)
TL_SetSize(TL,0)
TX1 = Text_New(sdate,stime,SL,"손절가"+NumToStr(SL,소숫점자리수));
Text_SetColor(tx1,RED)
}
Else
{
TL_SetEnd(TL,sdate,stime,TL_GetValue(TL,sdate,stime));
Text_SetLocation(TX1,sdate,stime,TL_GetValue(TL,sdate,stime));
}
}
if MarketPosition == -1 then
{
if MarketPosition != MarketPosition[1] Then
{
SL = Lowest(L,BarsSinceEntry+1);
TL = TL_New(sdate[1],stime[1],BH1,sdate,stime,BH1);
TL_SetColor(TL,Blue)
TL_SetStyle(TL,1)
TL_SetSize(TL,0)
TX1 = Text_New(sdate,stime,BH1,"손절가"+NumToStr(BH1,소숫점자리수))
Text_SetColor(tx1,Blue)
}
Else
{
TL_SetEnd(TL,sdate,stime,TL_GetValue(TL,sdate,stime));
Text_SetLocation(TX1,sdate,stime,TL_GetValue(TL,sdate,stime));
}
}
if H > BH1 Then
BH1 = H;
if L < SL Then
SL = L;
2019-11-28
210
글번호 133967