커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3376
글번호 230811
답변완료
81402번 재문의 입니다.
마지막첨부는 사용한 수식입니다.
문제 없다고 생각했는데 조건에 맞지 않는 종목이 상당수 나와서
31일 기준으로 검색한 종목중 오류가 있는 부분을 몇개 정리해봅니다.
솔본-3.28일 해당신호가 발생하는데 31일에 나옵니다.
신도기연-3.30일에 신호발생인데 31일에나옴
현우산업-30일에 신호 발생인데 31일에 나옴
호텔신라-29일에 신호 발생하는데 31일에 나옴
서연 - 녹적파 순서가 아닌데도 31일 검색식에 나옴
LG전자-31일에 엘리게이터가 녹적파 순으로 조건이 만족하지만 나오지 않음
번거로우시겠지만 확인한번 부탁드리겠습니다.
input : jawPeriod(13),jawOffset(8);
input : teethPeriod(8),teethOffset(5);
input : lipsPeriod(5),lipsOffset(3);
var : hl2(0),jaw(0),teeth(0),lips(0);
hl2 = (h+l)/2;
jaw = 0;
if IsNaN(jaw[1]) == true Then
jaw = ma(hl2,jawPeriod);
Else
jaw = (jaw[1]*(jawPeriod-1) + hl2)/jawPeriod;
teeth = 0;
if IsNaN(teeth[1]) == true Then
teeth = ma(hl2,teethPeriod);
Else
teeth = (teeth[1]*(teethPeriod-1) + hl2)/teethPeriod;
lips = 0;
if IsNaN(lips[1]) == true Then
lips = ma(hl2,lipsPeriod);
Else
lips = (lips[1]*(lipsPeriod-1) + hl2)/lipsPeriod;
Condition1 = teeth and teeth > jaw;
if Condition1 == true and Condition1[1] == False Then
Find(1);
2023-04-03
1211
글번호 167816
러블리 님에 의해서 삭제되었습니다.
2023-04-03
9
글번호 167815
답변완료
rsi 타주기
rsi 지수가, 100틱 차트와 50틱 차트에서 동시에 30 이하일 때, 50틱 차트의 rsi 지수가 30을 먼저 상향 돌파하면, 10틱 차트에 동그라미 표시. (10틱 차트는 rsi와는 무관. 표시만)
10틱 차트에 안되면 50틱 차트에 동그라미 표시. 감사합니다.
2023-04-03
1102
글번호 167814
답변완료
수식 문의드립니다.
안녕하세요.
일봉 거래 중 분할 매도 관련해서 문의드립니다.
매수 후 매도가격이 오면 가격이 상승할 때 4회에 걸쳐 분할매도(당일) 후 남은 물량을 당일 종가에 매도하고 있습니다.
그런데 매도 당일 종가가 당일 분할매도가격들 보다 현저하게 하락할 경우에는 손해를 보는 경우도 발생하게 됩니다.(예, 5%,7% 매도 후 종가가 -10%인 경우 등)
따라서 1회라도 매도가 되면 당일고가보다 5%하락한 가격에서 남은 물량을 전체매도 하고자 하는데 매도 수식 문의드립니다.
많은 도움 주셔서 감사합니다.
2023-04-02
1085
글번호 167813
답변완료
추세
var1 = ema(c, L1);
Var2 = ema(c, L2);
위 이평선 에서
직전 진입가와 최근 진입가 또는 청산가 의 차이가 절대 값 A1 이상이고,
1. var1 > var2 일때
var2 의 이평선이 상향 중 이면 매수.
var2 의 이평선이 하향 중이면 청산.
2. var1 < var2 일때
var2 의 이평선이 하향 중이면 매도.
var2 의 이평선이 상향 중이면 청산.
이에 대한 수식 부탁 합니다.
2023-04-02
1205
글번호 167812
답변완료
지표전환 및 함수요청 부탁요.
다음 수식을 지표전환 요청드립니다. 필요시 함수도 부탁드려요
1.LRL(가격,기간,궤적)
가격/종가, 기간/60, 궤적/1
2.LRL(가격,기간,-궤적)
가격/종가, 기간/60, 궤적/1
2023-04-02
1718
글번호 167811
답변완료
시스템식 요청드립니다.
나스닥 선물 매매 하는데 시스템식 요청 드립니다.
1. 진입포지션
(1) 1분봉상 종가가 이동평균선 200선 하향이탈후 연속으로 양봉 2개 나올때까지 기다린후
양봉 2개의 중심선에 매수포지션 매수 주문.
(예를 들어 이동평균선 200선 아래로 종가가 떨어졌을때, 그 이후가 기준이 되고,
종가상으로 양봉이 2개가 연속으로 나온다면,
첫번째 양봉의 저가와 두번째 양봉의 고가를 더한후 2로 나는 값을 매수포지션으로
주문이 나가게 부탁 드립니다.)
(2) 1분봉상 종가가 이동평균선 100선 상향돌파후 연속으로 음봉 2개 나올때까지 기다린후
음봉 2개의 중심선에 매도포지션 매도 주문.
(예를 들어 이동평균선 100선 위로 종가가 돌파하였을때, 그 이후가 기준이 되고,
종가상으로 음봉이 2개가 연속으로 나온다면,
첫번째 음봉의 고가와 두번째 음봉의 저가를 더한후 2로 나는 값을 매도포지션으로
주문이 나가게 부탁 드립니다.)
2. 청산 포지션
(1) 진입평단가 기준으로 20포인트 수익나는 경우 청산 익절.
(2) 매수포지션 일때 이동평균선 150 선 돌파할때 청산익절,
매도포지션 일때 이동평균선 150 선 이탈할때 청산익절.
(3) 손절은 진입평단가 보다 100포인트 하락시 손절주문
(예들 들어 12100에 매수포지션 진입시 12000되면 손절
매도포지션 진입시 12200되면 손절 )
2023-04-02
1451
글번호 167810
답변완료
왜 60이평선을 재돌파할 때 강조봉이 나타나지를 않는걸까요?
Var : S(0),X1(0);
X1 = ma(c,60);
If CrossDown(C,X1) Then
S = -1;
If CrossUp(C,X1) Then
S = 1;
If S == -1 and CrossUp(C,X1) Then {
Plotpaintbar(O,C,"60이평선위아래로돌파",Red);
}
If S == 1 and CrossDown(C,X1) Then {
Plotpaintbar(O,C,"60이평선위아래로돌파",Black);
}
2023-04-02
1069
글번호 167809
답변완료
메뉴얼의 배열 예제 설명
안녕하세요! 메뉴얼에 나온 것에 대해 이해가 안 가서 질문 드립니다.
배열에 대한 설명 부분인데요,
Hval이라는 배열에 for 루프로 하는 예시가 있는데
이해가 안 가는 두가지 포인트가 있습니다.
1. 메뉴얼에는
Hval[0] =H을 한 후에
For 루프 안에서
Hval[cnt+1] = Hval[cnt][1]였나요?
그런식으로 하는데
예스트레이더를 처음 봤지만 그냥 일반 코더인 사람을
가정하면
예로 Hval[0]에는 H라는, 1분봉이 메뉴얼의 가정이니
현재 1분봉의 고가값, 값 즉 그냥 "숫자"가 있을 거라고
생각하는데
저 위의 식에서는
cnt가 1인 경우 가정을 해보면
Hval[0][1]을 다시 Hval[1]에 대입합니다.
근데 우리같은 범용 프로그래밍 랭귀지에 익숙한 사고에서는
Hval[0]은 "데이터 타입"은 숫자인데 다시 [0]뒤에 [1]을 붙였습니다.이에 대해 예스트레이더 메뉴얼에
설명이 필요한데 없네요..
추론을 하면 저 H라는 것의 특성이 사실은 그럼 배열이기도 하고 어떤 때는 그냥 숫자값이 대입되기도 한다 를
우리는 추론이 가능한데 정확한 설명이 메뉴얼에 없으니
상당히 혼란스럽습니다...
즉 Hval[0]에 다시 [1]을 붙이는 것으로 보아 애초에 Hval에 대입한 H라는 놈의 정체는
어떤 때는 숫자값, 다시 저렇게 assign 즉 대입연산 시에는 다시 배열처럼 다룰수도 있다는 건데요..
설명을 자세히 해주실수 있는지요? 그리고
관계자분들께 이를 메뉴얼에 반영해주셨으면 합니다.
사실 다른 분들도 이는 헷갈릴만하다고 생각이 드네요.
이는 데이터 타입에 대한 궁금증이고 또한
[1]을 붙인 것도 이유가 헷갈립니다.
이렇기 되면 60분이 지난 시점에 현재 설정 분봉을 1분봉으로 가정한다면 1분이 지났을 때 현재 1분 전 고가봉인데
Hval에는 60분이라는 시간 단위의 최고가를 저장하는 게 용도로 쓰려고 만든 것인데 정작 저장되는 것은 1분 전의 고가이니 1시간 전의 60분 최고가가 저장되는게 아닌 1분 전 고가가 저장되는게 아닌가요? 헷갈려서 제가 논리적으로 건너 뛰어 생각못한 것이 있는 듯한데 설명 도움주시면 감사하겠습니다 ^^
2. 또한 궁금한 것은
저 예제에서 한칸씩 밀리기 한다는 말에 for loop로직이
상식적으로 납득이 안되는 점입니다.
그런 모양의 for loop는
당연히 맨 처음 넣은 값이 x라면
N+1번째 인덱스의 요소에 N번째 값 x를 넣으면
그냥 모든 값이 그 x값으로 되는 로직이고
예스트레이더는 어떤 다른 메커니즘이있어 이걸 막는듯한데
그런 설명이 없네요..
상식적으로 c언어나 파이썬등의 array나 list를 생각하면.예시의 for loop은 좀 이해가 더 안갑니다.
예시의 for 루프는 단지 한칸씩 새로운 고가 갱신때마다
한칸씩만 밀리게 하는게 목적 아닌지요?(제가 잘 맞게 판단한 건지요?)
그렇다면 하나씩 그 전 데이터를 한칸씩 뒤로 미는
알고리즘일텐데
저 for 루프를 돌리면
일반 프로그래밍 상식상으로는 인덱스 1부터 9까지
순서로 하면
1부터 9가 다 같은 값이 되지 않나요?
근데 예스트레이더가 인덱스 숫자가 작은 순서가 맨 마지막이니 for loop의 인덱스를 반대로 한 셈이 되어
맞는 건지요 ㅠㅠ?
예스트레이더의 인덱스가 역순(인덱스가 숫자가 크면 더 그 전 봉값인)이기에 많이 헷갈립니다
언제나 예스트레이더 잘 쓰고 있으며 더욱 잘 쓰고 싶어
미뤄온 질문 심화해서 드립니다:)
긴 글 읽어주셔서 감사드립니다.
예스트레이더 초보 코더에게 도움 잘 부탁드립니다
2023-04-02
1525
글번호 167808