커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7324
글번호 230811
답변완료
구동시간 질문, 특정 시각 기준 일별 가격
안녕하세요. 시스템 관련 2가지 질문이 있어 문의드립니다. 전부 S&P 500 E-mini 선물 관련 내용입니다.
1) 밤 11시부터 새벽 5시 사이에만 돌리고 싶습니다. sTime >= 230000 or sTime < 50000 으로
짜면 될 줄 알았는데, 시뮬레이션을 돌려보면, 한국 시각 기준 아침 8시에도 시그널이 trigger 됩니다. 어떻게 해야 하는가요?
2) 새벽 5시 기준으로, 과거 21일의 closing price 를 알 수 있는 방법이 있는가요? 예) 4/3 5시 가격, 3/31 5시 가격, 3/30 5시 가격... 이유: DayClose 를 활용하면, 전자장 종료 시각 기준으로 가격을 불러오는데, 실제 본장의 종료 시각과 제법 차이가 있습니다. 해당 가격들을 Array 에 집어 넣어서, 일간 수익률 기준 변동성을 계산키 위함입니다.
아래는 코드 전문 입니다. 감사합니다.
Input : std_mult(1), loss_mult(1.5), start_t(230000), end_t(50000);
Var: std20d(0.05), Done(0), daysum(0), dayma(0), daysumsqrt(0), daycnt(0), daycnter(0);
Done =0;
# 20일 평균수익률
daysum = 0;
for daycnt=1 to 20 {
daysum = daysum + data2(DayClose(daycnt)) / data2(DayClose(daycnt+1)) -1;
}
dayma = daysum / 20;
daysumsqrt= 0;
# 수익률 기준, 표준편차 계산
for daycnter=1 to 20 {
daysumsqrt = daysumsqrt + (data2(DayClose(daycnter)) / data2(DayClose(daycnter+1)) -1 - dayma)^2;
}
std20d = SquareRoot(daysumsqrt / 20 ) * data2(DayClose(1)); // 전일 종가 기준으로 가격 치환
if stime == end_t then {
ExitShort(); # time stop
Done = 0;
}
If MarketPosition < 0 and CrossUp(C ,Lowest(Low, BarsSinceEntry) + loss_mult * std20d) then {
ExitShort("ExS",OnClose, Lowest(Low,BarsSinceEntry) + loss_mult * std20d ); # trailing stop
}
if (sTime >= start_t and sTime <= 240000 ) or (sTime < end_t and sTime >= 0)then {
If MarketPosition == 0 and CrossDown(C, data2(DayClose(1)) - std_mult * std20d) and Done == 0 Then {
Sell("Short",OnClose);
Done = -1;
}
}
2017-04-04
277
글번호 108459
답변완료
고가,저가의평균값표시
당일 장시작시점부터 유럽장이 시작되기전까지의(즉 07시~15시,시간을 설정하게 해주시면감사하겠습니다) 각 분봉의 고가의 평균, 저가의 평균값을 차트에 표현하고 싶습니다.
도와주십시요
2017-04-04
237
글번호 108458
답변완료
수식 부탁드립니다.
선물차트에서
현재지수가 281.45 라면
바로위 282.0 과 282.5
바로 아래 281.0 과 280.5
의 4개의 수평선을 그리는 수식을 부탁드립니다.
즉 현재 지수에서 가장 가까운 round number 지수와
그 바로 위와 아래로 0.5 포인트가 가감된 지수를 그리는 수식입니다.
2017-04-04
200
글번호 108457
답변완료
검색식 부탁
MFI지표가 다이버전스 일때 종목이 검색되는 검색식 부탁합니다.
2017-04-04
260
글번호 108456
답변완료
수식문의
아래 수식을 문의드립니다
1. 전일포지션 청산
0900~1200는 20/60 이평선크로스 매수/매도
1200~1530은 60/120 이평선크로스 매수/매도
(매수중이면 매도/매수청산부터 적용, 매도중이면 매수/매도청산부터 적용)
2. 이평선 골든크로스 매수, 이 후
. 직전 데드크로스 이후 저점 -1틱 청산 또는
. 데드크로스면 매수청산/신규매도
3. 이평선 크로스가 3회 나오면 4회째는 포지션 청산만 하고 이후 신호중지
4. 이평선 크로스 구간의 진폭이 15틱 이상 2회면 이 후 신호 중지
5. 이평선 크로스 매수신호(봉완성기준) 매5틱 마다 5틱, 10틱, 15틱... 텍스트 표시
감사합니다
2017-04-04
210
글번호 108455
답변완료
지표
안녕하세요?
고가 저가는 당일기준.
1고점에서 "일정가격(변수)"을 - 한 "가격라인"을 그리고, 화면에 그 값을 출력하고.
ex : "고가-1.25(변수)" 을 라인으로 그리고, 라인투틱아래에 그값을 출력
2 저점에서 "일정가격(변수)"을 + 한 "가격라인"을 그리고, 화면에 그 값을 출력하고 싶습니다.
ex : "저가+1.25(변수)" 을 라인그리고, 라인투틱 위에 그값을 출력
3 당일고점 - 현재가
당일저점 = 현재가 의 값을 화면우측 상단에 빨강색과 파란색으로 출력할 수 있도록 부탁드니다
감사합니다
2017-04-05
313
글번호 108454
leekss1 님에 의해서 삭제되었습니다.
2017-04-04
0
글번호 108453
답변완료
국선용 스토캐스틱 전략을 해선에서도 사용할 수 있도록 보완 부탁드립니다
국선처럼 해선에서도 청산에 대한 시간 제약이 없도록 그냥 청산만 될 수 있도록 청산수식을 수정 부탁드려요! 그리고 테스트를 해보니 매수는 되는데 매도신호는 안나오네요!
부탁드려요! 감사합니다!
Input : P1(50), P2(40), P3(10), stoploss(2);
Var1 = StochasticsK(p1, p2);
Var2 = StochasticsD(p1,p2,p3);
if Entriestoday(date) < 1then {
If CrossUp (Var1, 80) Then
buy();
IF CrossDown (Var1, 80) Then
Sell();
}
If CrossDown(Var1, Var2) Then
ExitLong();
If CrossUp(Var1, Var2) Then
ExitLong();
SetStopLoss(StopLoss);
SetStopEndofday(1450);
2017-04-04
227
글번호 108452
답변완료
자꾸 선언되지않은 ~~~이 사용되었다고 나오네요 T T
자꾸 에러가 생겨요! 한권으로 끝내는 시스템트레이딩 발췌본 입니다!
2가지 검토 좀 부탁드려요!
input: P1(20), p2(300), stoploss(1.3);
var: 단기지수이평(0), 장기지수리평(0);
단기지수이평 = Ema(C, p1);
장기지수이평 = Ema(C, p2);
#진입
if CrossUp(단기지수이평, 장기지수이평) then
buy("Buy");
if CrossDown(단기지수이평, 장기지수이평) then
sell("sell");
# 손절 청산
setstoploss(stoploss);
# 당일 청산
SetStopEndofday(1450);
----------------------------------------------------------------------
Input:period(14), adxrange(40);
var : PDI(0), ADXU(0), HADX(0), Fixadx(0);
PDI = DIPLUS(Period);
MDI = DiMinus(Period);
hadx = Highest(ADXV, DayIndex+1);
#진입
if date <> date[1] then fixadx = hadx[1];
If fixadx < adxrange amd ADXV > ADXV[2] then {
if PDI > MDI and C > DayOpen + 0.5 then buy();
if PDI < MDI and C < DayOpen - 0.5 then Sell();
}
#청산
if PDI < MDI then ExitLong();
if PDI > MDI then ExitShort();
SetStopLoss(1.5);
SetStopEndofday (1440);
2017-04-04
221
글번호 108451