커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6345
글번호 230811
답변완료
수식질문......
아래와같이 수식을 작성하니 신호가 나타나질않습니다
무엇이 문제인지......
대단히 감사합니다
Input : 수익틱수(120);
Var :value1(0);
value1 = wma(c,60);
if Bdate != Bdate[1] Then{
if value1 [2] > value1 [1] and value1 [1] < value1 Then
buy();
if value1 [2] < value1 [1] and value1 [1] > value1 Then
ExitLong();
}
SetStopProfittarget(PriceScale*수익틱수,PointStop);
2017-02-20
120
글번호 107006
답변완료
수식 작성 문의
수고하십니다.
궁금한 사항은 아래입니다.
예를들어
30분봉에서 5이평이 10이평을 상향돌파후 매수진입을 했고
현재가가 매수 진입한 봉의 고가를 상향 돌파할 때 매도(손절매) 한다면
수식은 어떻게 작성해야 하는지 알고 싶습니다.
감사합니다.
2017-02-20
106
글번호 107005
답변완료
최소자승 이동평균 사용자함수 수식 요청
안녕하세요
키움증권,이베스트증권,신한증권에는 예스트레이더에 없는 최소자승 이동평균(Least Squares Moving Average)있더라구요
제가 이 평균을 써보니 아주 특이하면서도 괜찮은 지표이더군요
최소자승 이동평균을 이용하여 사칙연산 등 기타 응용을 하려다보니 함수로 정의되었으면 하는 것을
느꼈습니다. 실제 이베스트증권에서는 내장함수로(LstSqrMA) 정의되어 있습니다.
사용하는 방법은 LstSqrMA(Input,Period)입니다
최소자승 이동평균을 내장함수로 정의 해줄수 없으신가요?
좀 어려울수도 잇다면 차선책으로 사용자함수로 정의하는 함수 수식을 좀 알려주세요
참고로 제가 예스트레이더에서 McGinley Dynamic를 사용자함수로 정의햇습니다
혹시나 하고 그수식을 대신증권에 대입하니 McGinley Dynamic가 구현되엇습니다.
그래서 대신증권에 최소자승 이동평균을 문의하니 아래와 같은 답이 왔습니다.
답변 :
'최소자승'은 가격지표 중 'LRI' 지표와 같은 계산식을 사용하므로
아래 계산식을 이용하여 산출하고 있습니다.
a + b * x
a = (sum(종가) - b * sum(x)) / n
b = (n * sum (x * 종가) - sum(x) * sum(종가)) / (n * sum(x*x) - sum(x) * sum(x))
※ x = 설정 기간 중 계산시점까지의 횟수
n = 총 기간
위 내용을 참조하여 최소자승 이동평균(Least Squares Moving Average)을 이름을 LSma로 하여
사용자함수 만드는 수식을 작성해 주시면 감사하겠습니다
2017-02-20
154
글번호 107004
답변완료
종목검색식 문의
OBV 가 OBV Signal(20) 보다 크고
macd(12,26,9) 가 signal 보다 작으면서 상승중인 종목 검색식 부탁합니다
*주석도 부탁합니다
2017-02-20
125
글번호 107003
답변완료
dema 사용자함수 문의드립니다.
1. dema 사용자함수 문의드립니다. (이것도, 키움과 다른가요)
2. 그리고, 키움의 tema사용자함수가
eavg(eavg(eavg(price,Period),Period),Period) / TEMA(c,Period) 인데,
예스트레이더에서는 곡율이 다르게 나오더라고요. 키움과 동일하게 맞출수는 없는지요?
2017-02-20
139
글번호 107001
잠실나그네 님에 의해서 삭제되었습니다.
2017-02-20
0
글번호 107000
2wnwn 님에 의해서 삭제되었습니다.
2017-02-20
24
글번호 106999
답변완료
수고하십니다.
안녕 하십니까?
100 이평 120 이평 역배열에서 정배로 전환될떼 신호 초기화 하고,
100 이평 120 이평 정배열 일 때만 5 이평 20 이평 골든크로스 매수신호 부터 발생하게 하고 매수신호가격 -2틱 아래 주문하게 하고,
100 이평 120 이평 정배열 일 때만 5 이평 20 이평 데드크로스 매도신호 후 매도신호 가격 +2틱 주문되는 수식을 부탁 드립니다.
매수. 매도중 손절를 10틱하고,
매수. 매도중 익절을 20틱하며,
손절. 익절 나가고 나면 다시 신호 초기화시키고 매수 진입 부터 실행 되도록 부탁드립니다.
2017-02-20
137
글번호 106998
답변완료
쌍바닥수식문의드립니다~
input : P(5),Left(3),right(3);
var : mav(0),H1(0),H2(0),L1(0),L2(0);
mav = ma(C,P);
if SwingHigh(1,mav,Left,Right,Left+Right+1) != -1 Then{
H1 = mav[right];
H2 = H1[1];
if H1 < H2 and H2 > 0 Then
sell();
}
if SwingLow(1,mav,Left,Right,Left+Right+1) != -1 Then{
L1 = mav[right];
L2 = L1[1];
if L1 > L2 and L2 > 0 Then
Buy();
}
1.위에수식에서요 스윙로우에서 L1 = mav[right]; //
뜻이 L1은 3봉전의 5일선가격이다.
그리고 L2 = L1[1];// 여기부분에서 이해가 안갑니다. 수식상에서는 L1[1]가 직전스윙로우보다 한단계 이전스윙로우를 얘기하는거 같은데요 수식만보면 L1이 3봉전의 5일선가격이니깐
L1[1]은 4봉전의 5일선가격을 얘기하는게 아닌가요? 어째서 L1[1]이 이전스윙로우가격이 되는건지가 궁금합니다.
위에식에서 주석좀 부탁드립니다.~
2.20일선위에서 나오는 5일선쌍바닥수식을 찾아본거중에서는 게시판나와있는 모든식들 다 대입해서 적용해 봤는데 신호표시가 안나오는것도 있구요 위에식같은 경우는 20일선위에서 나오는 5일선쌍바닥뿐만아니라 20일선위에서 나왔던 스윙하이의 직전고점을 돌파하는 경우도 신호가 뜹니다.~
이전스윙하이의고점을 돌파할때 신호가 나오는게 아니라
20일선위에서 나오는 5일선엔자형태의 쌍바닥일때만 신호가 나오게 부탁좀 드릴게요
조건은 20일선위에서 나오는 5일선쌍바닥일때 매수 그리고 신호는 5일선과20일선골든크로스나오고나서 한번만 나오도록하고 청산신호는 20일선위아래구분없이 5일선쌍봉에서 청산
매도조건은반대이구요
3.아래식이 괜찮은거 같은데 시스템에 넣어보니깐 신호가 전혀 안나와서요
수정좀 부탁드립니다.
input : Left(3),Right(3);
var1 = ma(c,5);
var2 = ma(c,20);
if crossup(var1,var2) Then
Condition1 = true;
if CrossDown(var1,var2) Then{
Condition1 = False;
Condition2 = false;
}
if Condition1 == true Then{
if SwingHigh(1,var1,Left,right,Left+right+1) != -1 Then{
Condition2 = true;
value1 = var1[right];
value2 = var1[right];
}
if Condition2 == true and crossup(var1,value1) Then
buy();
}
2017-02-20
227
글번호 106997