커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6635
글번호 230811
답변완료
오일, 하루 변동폭에 따라서 25틱 간격으로 라인 긋는 수식 부탁드립니다
일중 오일 가격이
고가 51.10
저가 49.60
이라고 했을 때
25틱인 0.25 간격마다,
그리고 고가와 저가를 벗어난 위치에
0.25 간격으로 각각 라인 하나씩을
추가하고 싶습니다.
위의 경우라면
고가를 벗어난 51.25와
저가를 벗어난 49.50에 라인을 표시하고
변동폭 이내는 0.25 간격인
51.00 / 50.75 / 50.50 / 50.25 /
50.00 / 49.75
이렇게 표시하려고 합니다.
수식을 어떻게 해야 할까요?
혼자 만들어보려니 안 되네요.
2015-03-05
190
글번호 83713
답변완료
안녕하세요
안녕하세요.반갑습니다
2가지 문의 드립니다.
1)
**매수신호
1.이동평균선 정배열: (5> 20> 40> 60>)이후
2.그때 스토케스틱수치.(8.4.4)%K와%D모두50과85의 사이에 존재하면서...(50~85)
3.%k의 수치가%D의 수치보다 크다라고 한다면...
4.그러한 이후에1/6챠트의5일선이 10일선을 데드크로스 즉시:매수
**매도신호
1.이동평균선.5.20.40.60일선이 모두볼린져벤드 내에존재하면서
2.5일선<20<40<60 역배열후
3.그때 스토케스틱수치.(8.4.4)%K와%D모두50과15의 사이에 존재하면서...(50~15)
4.%K의수치가%D의수치보다 작다라고 한다면..
5.그러한 이후 1/6챠트의 5일선이 10일선을 골든크로스 즉시:매도
2).
매수
1.이동평균선 정배열:8평 >20평
2.macd만족:0선돌파=macd>시그널 곡선이면서 우상향
(macd 0선을 못미쳐도 무방함)(macd수치 12.26.15)
(단.절대 시그널 곡선은 0선아래=0>시그널)
상기조건반대:매도
항상 고맙고 감사합니다
2015-03-05
173
글번호 83712
답변완료
예스 글로발 질문드립니다.
안녕하세요
해외선물 시뮬레이션 차트에 그동안 사용하였던 국내선물 지표를 적용하니 다르게 나오는것
같은데요
dayhigh(),daylow() 함수등이 국내 기준으로 적용되나요?
그렇다면 어떤 방법으로 다시 설정해야되나요.
2015-03-04
181
글번호 83711
답변완료
사용자 함수의 외부매개변수
사용자 함수를 작성할 때, 외부(매개)변수가 많아지는 경우가 있습니다.
이럴 경우, Array Type의 외부변수를 사용한다면 좀 더 편해질 것 같습니다.
사용자 설명서 (인터넷 도움말)에 NumericArray 또는 NumericArrayRef
두 가지가 지정 가능한 것으로 되어 있으나 실제 지정하면 오류 처리 됩니다.
어떻게 사용해야 하나요?
또 Numeric, NumericSeries의 차이는 무엇인가요?
2015-03-04
206
글번호 83710
답변완료
부탁드리겠습니다
5틱 챠트에서 1분봉 20이평선을 그리는 지표식 부탁드립니다.
감사합니다.
2015-03-04
165
글번호 83709
답변완료
문의
문의드립니다.
1. 30분봉이 메인차트이며, 이 차트에 주봉상의 볼린져밴드를 적용하고자 합니다.
지표식 부탁드립니다.
2. 30분봉 차트에서 아래 수식과 같이 주봉 M1과 M2를 적용했습니다.
2주이내에 M1선과 M2선이 골든크로스된 적이 있고, 종가가 M1위에 있는 종목을 찾고자 합니다.
검색식 부탁드립니다.
3. 아래수식에서 한주전 시작되는 시점의 값과 금주 시작되는 시점의 값을 저장하고
한주전 < 금주일 경우 M1.UpTrend = TRUE로 해주고자 합니다. 수식 부탁드립니다.
답변주심에 미리 깊이 감사드립니다.
------------------------------------------------------------------------------
VARS: M1(0), M2(0);
VARS: M1P(2), M2P(5);
VARS: M1.SUM(0, DATA1), M2.SUM(0, DATA1);
VARS: WeekLineCnt(0);
VARS: CNT(0), ThisWCnt(0), PreWCnt(0), Sum(0);
ARRAY : WeekCC[20](0, DATA1);
if ( DATA1(DayOfWeek(SDATE) < DayOfWeek(SDATE[1])) ) then
{
for WeekLineCnt = 1 to 5
{
WeekCC[WeekLineCnt] = WeekCC[WeekLineCnt-1][1];
}
}
WeekCC[0] = CLOSE;
M1.SUM = 0;
M2.SUM = 0;
if (WeekCC[M1P] > 0) then
{
for WeekLineCnt = 0 to M1P - 1
{
M1.SUM = M1.SUM + WeekCC[WeekLineCnt];
}
M1 = M1.SUM / M1P; //M1 = TMA((M1.SUM / M1P), 3);
}
if (WeekCC[M2P] > 0) then
{
for WeekLineCnt = 0 to M2P - 1
{
M2.SUM = M2.SUM + WeekCC[WeekLineCnt];
}
M2 = M2.SUM / M2P; //M2 = TMA((M2.SUM / M2P), 33);
}
2015-03-04
219
글번호 83708
답변완료
문의드립니다.
수고하십니다.
어떤 값의 부호를 알고 싶은데, sign과 같은 함수가 찾을수 없네요.
X/ABS(X)를 이용하면 되는데, 이 경우 0으로 나누어도
시스템은 정상작동 하나요?
0으로 나누는 것을 방지하기 위해 X/(ABS(X)+0.001)로 하게 되면 조금씩
오류가 쌓일수도 있을것 같은데..
제가 원하는 것은 X=0 이면 그냥 +부호로 나오면 되거든요.
감사합니다.
2015-03-04
178
글번호 83700
답변완료
문의
해외선물 중 오일 서울시간으로 아침8시부터 다음날7시14분까지 총양봉수 음봉수를 나타내어주십시요
2015-03-04
170
글번호 83696
답변완료
부탁드립니다
부탁드립니다.
제가 초보라 문의드립니다.
제가 초보라 수정부탁합니다.
분할청산시 매도 청산은 정상적인데
매수 청산은 뭔가 이상합니다.
첨부파일 같이 첫번노랑색 부분에서 청산이 안되고 왜 뒤노랑색 부분에서
되는지와 2개약만 되었는지요
rsi외 다른시스템도 비슷한 현상 입니다.
프로그램 수정부탁합니다.
Input : Period(14), LPercent(30), SPercent(70);
Var : value(0);
value = RSI(Period);
# 매수/매도청산
If CrossUP(value, LPercent) Then
{
Buy();
if MarketPosition == 1 Then{
exitlong("bx1",AtLimit,EntryPrice+pricescale*10,"",1,1);
ExitLong("bx2",AtLimit,EntryPrice+pricescale*30,"",1,1);
ExitLong("bx3",AtLimit,EntryPrice+PriceScale*80,"",1,1);
ExitLong("bx4",AtLimit,EntryPrice+PriceScale*100,"",1,1);
If CrossDown(value, SPercent) Then
Sell();
ExitLong("bx5",OnClose,def,"",0,0);
}}
# 매도/매수청산
If CrossDown(value, SPercent) Then
{
Sell();
}
if MarketPosition == -1 Then{
ExitShort("sx1",AtLimit,EntryPrice+PriceScale*-10,"",1,1);
ExitShort("sx2",AtLimit,EntryPrice+PriceScale*-20,"",1,1);
ExitShort("sx3",AtLimit,EntryPrice+PriceScale*-40,"",1,1);
ExitShort("sx4",AtLimit,EntryPrice+PriceScale*-60,"",1,1);
If CrossUP(value, LPercent) Then{
Buy();
ExitShort("sx5",OnClose,def,"",0,0);
}}
2015-03-04
194
글번호 83693