커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3583
글번호 230811
답변완료
문의
data1 선물
data2 연결 콜옵션ATM0
data3 연결 풋옵션ATM0
sum = data2 + data3
1. data1 선물차트에 양합의 이동평균선이 보이게 하고 싶습니다.
선물차트 + 양합 5 이동평균 + 양합 120 이동평균
2. 양합차트에 양합의 이동평균선이 보이게 하고 싶습니다.
양합차트 + 양합 5 이동평균 + 양합 120 이동평균
수식 부탁드립니다.
2020-11-27
768
글번호 144243
답변완료
문의 드립니다.
소스코드에서 분봉에 대한 정보를 따로 다룰 수 있나요?
예를 들어서 10분봉과 20분봉에서 모두 조건이 충족하면 사게 한다던지
만약 가능하다면 예시 코드도 부탁드립니다.
감사합니다.
2020-11-27
764
글번호 144242
답변완료
평균거래량 문의
안녕하세요. 시간대별 평균거래량을 표시하고 싶습니다.
예를 들어 각 시간 간격 별로 지난 20일 동안(이전 20개 봉의 평균이 아닙니다) 평균거래량을 표시하고 싶습니다.
(09시부터 10시까지 지난 20일동안 평균 거래량, 10시 부터 11시까지 20일 동안 평균 거래량......)
1) 시간 간격은 임의로 1시간 2시간... 선택가능
2) 평균 기간도 임의로 조정가능 (5일간 평균, 20일간 평균,....)
감사합니다. 수고하세요.
2020-11-27
771
글번호 144241
답변완료
시스템식 부탁드립니다.
안녕하세요.
아래 조건에 맞는 시스템식 부탁드립니다.
1) 첫번째 질문
종목 : 해외선물
특이사항 : 당일 청산하지 못하고 익일 이후 청산할 경우 진입가격을 기준으로 청산 하고자 합니다.
처음 매수 진입은[포지션이 없을 경우] 당일 시가를 기준으로 10틱 상승시 매수하고
매수청산은 당일 시가 기준으로 10틱 하락시 매도한다고 가정할 경우
당일 변동성이 당일시가에서 10틱 상승 후 당일시가에서 5틱 밖에 하락하지 않아서
당일 청산 못하는 경우 익일[매수 청산은 2일,3일, 4일, 5일이 될수도 있음]
전일 시가 기준으로 10틱 하락시 매수 청산하는 시스템식 부탁드립니다.
아래처럼 코딩시 포지션 진입과 청산이 잘 안되는것 같습니다.
var : 기준가(0);
if marketpostion == 0 and bdate != bdate[0] then
기준가 = dayopen() ;
# 당일 시가기준으로 당일 진입 및 당일 청산시 익일 진입 가격은 익일 시가가 기준가
# 당일 시가기준으로 당일 진입 및 당일 청산하지 못한 경우
전일 시가[진입시 기준가]기준으로 익일, 3일, 4일 5일 ...이후에
청산시 처음 진입한 날의 시가를 기준으로 청산하고자 합니다.
# 모두 청산이 끝난날 신규 포지션 진입은 다시 당일 시가를 기준가로 설정하고자 합니다.
if marketpositon == 0 and c > var1 + pricescal * 10 then
buy() ;
if marketpositon == 0 and c < var1 - pricscal * 10 then
exitlong() ;
2) 두번째 질문
만약에 시가에서 위로 10틱 하락할때마다 1개씩 물타기 했을경우
1번째 진입가격에서 10틱 상승시 1계약 매수청산
2번째 진입가격에서 20틱 상승시 1계약 매수청산
.....
아래와 같이 시스템식으로 표현해봤는데 잘 안되네요.
매수진입
if marketpositoion == 0 and c < dayopen()-pricescale * 10 then
buy("b1",atstop,dayopen() + pricescale * 10,1); - 1번째 진입가격
if marketpositoion == 1 and c < dayopen()-pricescale * 20 then
buy("b21",atstop,dayopen() + pricescale * 20,1); - 2번째 진입가격
if marketpositoion == 1 and c < dayopen()-pricescale * 30 then
buy("b3",atstop,dayopen() + pricescale * 30,1); - 3번째 진입가격
if marketpositoion == 1 and c < dayopen()-pricescale * 40 then
buy("b4",atstop,dayopen() + pricescale * 40,1); - 4번째 진입가격
if marketpositoion == 1 and c < dayopen()-pricescale * 50 then
buy("b5",atstop,dayopen() + pricescale * 50,1); - 5번째 진입가격
매수청산
if maretposition == 1 and maxcontracts == 1 then
exitlong("bx1", atstop,1번째진입가격+pricescale*10),1);
if maretposition == 1 and maxcontracts == 2 then
exitlong("bx2", atstop,2번째진입가격+pricescale*10),1);
if maretposition == 1 and maxcontracts == 3 then
exitlong("bx3", atstop,3번째진입가격+pricescale*10),1);
if maretposition == 1 and maxcontracts == 4 then
exitlong("bx4", atstop,4번째진입가격+pricescale*10),1);
if maretposition == 1 and maxcontracts == 5 then
exitlong("bx5", atstop,5번째진입가격+pricescale*10),1);
답변 부탁드립니다.
감사합니다.
2020-11-29
742
글번호 144240
답변완료
수정 부탁드려요
목요일 기준 데이타솔루션 검색이 안 되네요
강조에서는 뜨는데 종목검색에 안 나와요
확인 부탁드려요
27일 아침에 다시 조회하니 종목검색에 나오는데 어제 저녁 10시까지 계속 검색해도 안 나왔어요 당일 나오는 것을 확인하고 싶은데 확인 수정 부탁드려요
그리고 어제 저녁까지 51개 나왔는데 아침에는 19개 나옵니다 . 기준이 뭔지 알고싶어요
var1 = m/v;
Var2 = l;
Var3 = h;
if (var1 > Var3 or var1 < Var2) Then
Find(1);
2020-11-27
792
글번호 144239
답변완료
지표 값을 print 함수로 추출할 수 있나요?
시가 고가 저가 종가는 방법을 아는데, 지표로 plot하는 값을 어떻게 추출하는지 여쭤보고싶습니다.
감사합니다.
2020-11-26
737
글번호 144238
답변완료
문의드립니다.
매수진입: 40 이평 기울기가 양일 때 20 이평 아래에서 시작하는 캔들의 시가 +1틱에서 매수 진입
매도진입: 40 이평 기울기가 음일 때 20 이평 위에서 시작하는 캔들의 시가 -1 틱에서 매도 진입
청산은 40 틱, 손절은 - 20 틱
input : P1(20),P2(40),손절틱수(20),익절틱수(40);
var : mav1(0),mav2(0);
mav1 = ma(C,P1);
mav2 = ma(C,P2);
if Then
Buy();
if Then
Sell();
SetStopLoss(PriceScale*손절틱수,PointStop);
SetStopProfittarget(PriceScale*익절틱수,PointStop);
항상 감사합니다^^
2020-11-28
771
글번호 144237
새론시작 님에 의해서 삭제되었습니다.
2020-11-26
13
글번호 144236
답변완료
감사합니다~재질문 드립니다~
감사합니다^^ 재질문 드립니다~
매수방향 단기피봇선=(그날 최고값,,최저값은 무시~)
dayhight를 (실시간 현재가)로~
daylow 를 (장중 임의 지정가)로~
반대로~
매도방향 단기피봇선을~
dayhight 를 (장중 지정가)로~
daylow를 (실시간 현재가)로~
예*)매수단기피봇선~
장중 지정가를 350.30으로 했을때~350.30 이상으로 0.5 Point(10틱)현재가가 올라갈때~350.30을 기준(단기저점)으로 ~
올라가는가격(현재가)(단기고가)를기점으로~피봇선이 자동확장선으로 나타났으면 합니다(350.30)값깰때까지~지정값시점 이전은 상관없고요~
예)*매도방향 단기피봇선~
장중지정가(임의고점)를345.80으로했을때~(0.5p)-10틱빠졌을때,345.80(임의지정가)를고점으로~
현재가가(-10틱) 350.30이하로가면 자동확장피봇선이 실시간저점확장이돼는대로~자동피봇선이 나타나게 부탁드립니다~
감사합니다^^
2020-11-28
736
글번호 144235