커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8140
글번호 230811
답변완료
수고많으십니다. 수식좀 부탁드립니다.
200틱차트사용
macd: 12,26,9 에서
12,선이 26선을 넘으면(골드크로스) 매수(1계약)체결.
청산은12,선이 26선을 넘을시 (데드크로스 발생시) 매수한 (1계약) 매도 청산하고 ,
청산과 동시에 (데드크로스)가 발생햇으니까 매도(1계약)체결되며, 청산은 (데드크로스)에서
(골드크로스) 발생시 전량 청산.
손절은 내가 매입가격에서 5틱 손해 발생시 손절처리한다
매매시간은 오전 9시 10분 에서 오후 2시 30분까지로 하며, 하루 매매횃수는 10번으로
제한.
2015-05-12
184
글번호 85927
답변완료
41784번 수정 문의 드립니다
답변감사합니다
기준값이 전일고가, 전일저가입니다
수정부탁드립니다
김시힙니다. 수고하세요
2015-05-12
175
글번호 85926
답변완료
고.저점으로 수정
안녕하세요.
빠른답변 늘 감사드립니다.
다름이 아니고 아래의 수식에서 피보나치 선이 최고점 과 최저점으로 표시 될수 있도록
수정해주시기 부탁드립니다.
input:방향(1),시작년월일(20150504);
Var:j(0),k(0),고(0),저(0),고Bar(0),저Bar(0);
Array:r[7](0),fr[7](0);
#==============================================================================#
# 초기처리 (Initialize Routine)
#==============================================================================#
r[0] = 0.;
r[1] = 0.236;
r[2] = 0.382;
r[3] = 0.50;
r[4] = 0.618;
r[5] = 0.764;
r[6] = 1;
#==============================================================================#
# 메인처리 (Main Routine)
#==============================================================================#
고Bar = 고Bar + 1;
저Bar = 저Bar + 1;
#=========================================================#
# 상승방향
#=========================================================#
If 방향 >= 0 Then
{
#---------------------------------------------------------#
# 최고/최저점 계산
#---------------------------------------------------------#
if date >= 시작년월일 and
고 < H then
{
고 = H;
고Bar = 0;
}
if date == 시작년월일 and
(저 == 0 or 저 > L) then
{
저 = L;
저Bar = 0;
}
#---------------------------------------------------------#
# Fibonacci Retracements 계산
#---------------------------------------------------------#
k = Highest(H,저Bar+1);
for j = 0 to 6
{
fr[j] = 저 + ((k - 저) * r[j]);
}
}
#=========================================================#
# 하락방향
#=========================================================#
Else
{
#---------------------------------------------------------#
# 최고/최저점 계산
#---------------------------------------------------------#
if date == 시작년월일 and
고 < H then
{
고 = H;
고Bar = 0;
}
if date >= 시작년월일 and
(저 == 0 or 저 > L) then
{
저 = L;
저Bar = 0;
}
#---------------------------------------------------------#
# Fibonacci Retracements 계산
#---------------------------------------------------------#
k = Lowest(L,고Bar+1);
for j = 0 to 6 {
fr[j] = 고 - ((고 - k) * r[j]);
}
}
#==============================================================================#
# 지표출력
#==============================================================================#
Plot1(fr[0], "0%",Iff(방향>=0,BLACK,LBLUE));
Plot2(fr[1], "24%",Iff(방향>=0,CYAN,CYAN));
Plot3(fr[2], "38%",Iff(방향>=0,LCYAN,LCYAN));
Plot4(fr[3], "50%",Iff(방향>=0,BLUE,BLUE));
Plot5(fr[4], "62%",Iff(방향>=0,RED,LMAGENTA));
Plot6(fr[5], "76%",Iff(방향>=0,MAGENTA,LYELLOW));
Plot7(fr[6],"100%",Iff(방향>=0,GRAY,BWHITE));
2015-05-12
231
글번호 85923
답변완료
수식 문의 드립니다.
항상 친절한 답변 감사드립니다.
매수 신호 발생간의 저점을 비교해서 현 신호의 저점이 높으면 매수 신호,
낮으면 매수 신호가 안나오게 할려고 합니다.
(매도는 고점간 비교, 현 시점이 낮으면 매도)
▶즉, 신호간 쌍바닥 매수 / 신호간 쌍봉 매도
1.매수 기준 : 매수 신호 발생 6봉 이내의 최저점 비교 후 현재가 높으면
최종 매수 신호 출력
(신호가 발생 후 이전(왼쪽)으로 6봉내 최저점을 기준)
2.매도 기준 : 매도 신호 발생 6봉 이내의 최고점 비교 후 현재가 낮으면
최종 매도 신호 출력
(신호가 발생 후 이전(왼쪽)으로 6봉내 최고점을 기준으로 비교,
※현재 신호가 나오고 이전 신호로만 비교하는게 아니라 이전전(-2번째 신호)를 비교해서
높거나/낮아도 신호 발생 조건 만족.
[적용 신호]
input : P(5);
var : T(0);
var1 = ma(c,P);
if var1 > var1[1] Then
T = 1;
if var1 < var1[1] Then
T = -1;
if T == 1 and T[1] != 1 Then
var2 = C;
if T == -1 and T[1] != -1 Then
var2 = C;
if T == 1 and T[1] == 1 and c >= var2 Then
buy();
if T == -1 and T[1] == -1 and c <= var2 Then
sell();
2015-05-13
202
글번호 85922
끈기있게 님에 의해서 삭제되었습니다.
2015-05-11
0
글번호 85921
답변완료
고저점
위 그림은 아래 수식에 의하여 발생 된 진입 신호 입니다.
var : T(0),고점(0),고점1(0),저점(0),저점1(0);
var1 = ma(c,20);
if var1 > var1[1] Then
T = 1;
if var1 < var1[1] Then
T = -1;
if T == 1 and T != T[1] Then{
고점 = var1;
고점1 = 고점[1];
IF 저점 > 저점1 and 저점1 > 0 Then
buy();
}
if T == 1 and var1 > 고점 Then
고점 = var1;
if T == -1 and T != T[1] Then{
저점 = var1;
저점1 = 저점[1];
if 고점 < 고점1 and 고점1 > 0 Then
sell();
}
if T == -1 and var1 < 저점 Then
저점 = var1;
var: month(0),nday(0),week(0);
month = int(date/100)-int(date/10000)*100;
nday = date - int(date/100)*100;
week = DayOfWeek(date);
if month%3 == 0 and nday >= 8 and nday <= 14 and week == 4 then
SetStopEndofday(144000);
Else
SetStopEndofday(0);
여기에
그림1 과 같이 이동평균선 var1 에서
1.고점 > 고점[1] 일 경우에는 var1의 고점[1]의 값을 현재 var1의 값이 하향 돌파시(청색하향화살표표시부분) 매도진입 하고
2. 저점 < 저점[1] 일 경우에는 var1의 저점[1]의 값을 현재 var1의 값이 상향 돌파시(빨강색상향화살표표시부분) 매수진입 하도록 위 수식에 추가 보완 하여 주시면 감사 하겠습니다.
2016-09-13
211
글번호 85920
답변완료
검색식 부탁합니다
주가가 TEMA5을
상향돌파하는 검색식과
TEMA5와 TEMA10이
크로스하는
검색식을 알려주세요
2015-05-11
172
글번호 85919
답변완료
수식 부탁드립니다.
매번 답변 감사드립니다.
이번에 트레일링스탑을 적용해 보고 싶은데 잘 안되네요.
예전에 짜주셨던 식(약간 변형함)은 아래와 같습니다. (잘 작동 하는 듯 합니다.)
(해외 선물이라 16시 ~ 익일 16시로 적용.)
if stime == 160000 or (stime > 160000 and stime[1] < 160000) Then
var1 = O;
if MarketPosition <= 0 and stime == 155000 Then
buy("b1",AtStop,NextBarOpen*1.01);
if MarketPosition >= 0 and stime == 155000 Then
sell("s1",AtStop,NextBarOpen*0.99);
if MarketPosition <= 0 and H < var1*1.01 Then
buy("b",AtStop,var1*1.01);
if MarketPosition >= 0 and L > var1*0.99 Then
sell("s",AtStop,var1*0.99);
SetStopLoss(1,PercentStop);
이 식에 추가해서 트레일링 스탑을 적용하고 싶습니다.
예를들어,
최소 10% 수익 이후에 수익의 50%가 감소하면 청산, (즉, 수익이 10~20% 사이)
20% 수익 이후에는 수익의 60% 감소하면 청산, (즉, 수익이 20~30% 사이)
30% 수익 이후에는 수익의 70% 감소하면 청산, (즉, 수익이 30% 이상)
그리고 여기에,
100% 수익 이후에는 최고가 대비 10% 하락하는 순간 즉시 청산.
아래와 같이 짜서 위 식 아래에 그대로 붙여 봤는데 적용이 안되더군요.
(맨 끝문장만 적용 되는듯 하네요.)
if marketposition == 1 and entryprice*1.1 then
setstoptrailing(50,10);
if marketposition == 1 and entryprice*1.2 then
setstoptrailing(60,20);
if marketposition == 1 and entryprice*1.3 then
setstoptrailing(70,30);
if marketposition == 1 and entryprice*2 then
setstoptrailing(10,100,PercentStop,1);
if marketposition == -1 and entryprice*0.99 then
setstoptrailing(100,1);
if marketposition == -1 and entryprice*0.98 then
setstoptrailing(70,2);
if marketposition == -1 and entryprice*0.97 then
setstoptrailing(40,3);
if marketposition == -1 and entryprice*0.97 then
setstoptrailing(10,100,PercentStop,1);
그리고 이 식이 원하는 가격을 때리는 그 순간 바로 시장가 주문이 나갔으면 합니다.
예를들어 100 에 매수한 종목이 150 이 되었습니다.
그렇다면 위 원칙에 따라 청산을 원하는 가격은
>>> {(150-100)*0.3}+100 = 115 가 되는데,
현재가가 이 115를 때리는 순간 그 즉시 시장가로 주문이 나갔으면 합니다.
2015-05-11
170
글번호 85918
답변완료
도대체 무슨 문제인지??
원격으로 전화 신청했는데
한번 봐주셨으면 해요 ㅠㅠ
2015-05-11
213
글번호 85905