커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7592
글번호 230811
답변완료
손절식
전략:손절매(선물옵션)
<진입후 손절을 어떻게 할 것인가.>
1)진입후 손실률이 -10% 발생시 손절 일괄매도.
2)진입후 진입금액이 -10% 도달시 손절 일괄매도.
3)진입후 진입금액이 -5% 도달시 50%손절,-10%도달시 100% 매도.
4)위 3번에서 -5%도달후 50%손절 된후 다시 상승하여 손절선을 30분후에 재돌파 했을때만 재 진입함. (단,재진입은 1회만 허용.재진입금액=손절금액.)
위,네가지 경우를 따로 구분해서 적용해 볼생각입니다.
1)번과 2)번은 식을 구현할 때 같은 의미로 봐야 하는 건가요?
그리고 진입 신호는 수동(손)으로 하고 손절만 위식을 적용해도 가능한지요?
불가능 하다면 진입신호는 5이평이 20이평 상향돌파로 하겠습니다.
2013-01-13
349
글번호 58103
답변완료
수식 부탁드립니다
매수조건
- 40 > 60 > 100
(이평 정배열)
- 현재봉 포함 과거 10캔들의 저가 >= 11~20 캔들의 저가
(10캔들 내의 저점이 이전 10캔들의 저점보다 같거나 높음)
- 5이평 < 10이평
(5이평이 10이평 하단에 위치해 있음. 즉 눌림)
- 이 상태에서 캔들이 10이평을 상향 돌파시 매수 진입
매도조건
- 100 > 60 > 40 이평
(이평역배열)
- 현재봉 포함 과거 10캔들의 고가가 <= 11~20캔들의 고가
(즉. 10캔들내의 고점이 이전10캔들의 고점보다 같거나 낮아짐)
- 5이평 > 10이평
(5이평이 10이평 상단에 위치해 있음. 즉 되돌림)
- 이 상태에서 캔들이 10이평을 하향 돌파시 매도 진입
수식 부탁드립니다.
2013-01-13
395
글번호 58102
답변완료
1분봉으로 5분봉 이평선 구하기 지표식의 오류
1분봉으로 5분봉 이평선을 구하는데
5분봉 차트에서 이평선과 1분봉으로 구한 5분봉 이평선 값이
1분의 갭이 발생합니다.
아무리 연구해도 원인을 찾지 못해 질의 드립니다.
다음 식에서 어느 부분이 1분의 갭이 발생하는지 알려주세요 ^^
감사합니다.
input : Atime1(numeric),P(numeric);
var : cnt1(0),count1(0),sum1(0),mav1(0);
Array : CC1[200](0);
if date != date[1] Then
value1 = TimeToMinutes(stime);
#첫봉이후에 경과한 분수를 지정한 분주기로 나누어 나머지값을 구함
var1 = (TimeToMinutes(stime)-value1)%Atime1;
#첫봉이거나 나머지값이 직전보다 작아진 경우를 찾음
#(지정한 분주기의 경계봉을 찾는 내용)
#각 경계를 지나는 봉에서 이전경계의 종가를 순차적으록 계속 저장함
if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{
for cnt1 = 1 to 200{
CC1[cnt1] = CC1[cnt1-1][1];
}
}
CC1[0] = C;
# 최근 P개의 배열변수에 저장된 값을 합하고 P로 나눔
if CC1[P] > 0 Then{
sum1 = 0;
for count1 = 1 to P {
sum1 = sum1+CC1[count1];
}
mav1 = sum1/P;
}
plot1(mav1) ;
2013-01-13
849
글번호 58101
답변완료
거래량이 많은 종목 검색
현재일부터 이전 300일 안에
거래량이 전일보다 5배 이상 많은 경우가 5회 이상 생기는 종목을 검색하려고
아래와 같이 프로그램을 하였으나 해당 종목이 없다고 합니다.
어디에서 에러가 있는지 알려 주세요
input : 거래량증가_배(5), 윗꼬리_개수(5) ;
Variables : 거래량_발견_수(0), cnt(0);
Variables : 거래량(false), 윗꼬리형(false);
if(Date == CurrentDate) then
{
거래량_발견_수 = 0;
for cnt = 0 to 299
{
if(Volume[cnt] > (Volume[cnt+1] * 거래량증가_배) ) Then
{
거래량_발견_수 = 거래량_발견_수 + 1 ;
}
}
if(거래량_발견_수 >= 윗꼬리_개수 ) Then {
find(1);
}
}
2013-01-13
317
글번호 58100
답변완료
수식 부탁드립니다.
선물 당일 시가기준으로 0.7pt상승하면 매수진입 종가청산
0.8pt하락하면 매도진입 종가청산 필터는 없습니다.데이전략입니다.
손절은 진입후 반대방향으로 시가를 돌파할때와
손절을 잡지않았을때 따로 작성 해주시면 감사하겠습니다.
2013-01-13
293
글번호 58099
타이밍승부사 님에 의해서 삭제되었습니다.
2013-01-12
0
글번호 58098
관리자에 의해 프로그램 사용법 QnA로 이동되었습니다
2013-01-12
18
글번호 58097
답변완료
다른 식인가요
제 생각과 다른 식인가요
모멘텀 교차 에서 사서 한계약식 0.1 포인트 수익 날때 마다 청산하는 것인데
전혀 수익이 없네요 ...
생각이 문제인가요
식이 문제인가요
??????
그리고 하루 한번만 진입하게 한 부분은 어디 인가요 ??
Input : P(10), P1(13),진입수량(10) ;
var : MMT(0),MMTSig(0);
MMT = Momentum(P);
MMTSig = ma(MMT,p1);
if date != date[1] Then{
Condition1 = false;
Condition2 = false;
}
if Condition1 == false and crossup (mmt,mmtsig) Then
buy("bMom", OnClose,def,진입수량);
if Condition2 == false and CrossDown(mmt,mmtsig) Then
sell("SMom", onclose,def,진입수량);
if MarketPosition == 1 Then {
Condition1 = true;
ExitLong("Bx1",AtLimit,EntryPrice+0.1,"",1,1);
ExitLong("Bx2",AtLimit,EntryPrice+0.2,"",1,1);
ExitLong("Bx3",AtLimit,EntryPrice+0.3,"",1,1);
ExitLong("Bx4",AtLimit,EntryPrice+0.4,"",1,1);
ExitLong("Bx5",AtLimit,EntryPrice+0.5,"",1,1);
ExitLong("Bx6",AtLimit,EntryPrice+0.6,"",1,1);
ExitLong("Bx7",AtLimit,EntryPrice+0.7,"",1,1);
ExitLong("Bx8",AtLimit,EntryPrice+0.8,"",1,1);
ExitLong("Bx9",AtLimit,EntryPrice+0.9,"",1,1);
ExitLong("Bx10",AtLimit,EntryPrice+1,"",1,1);
if CurrentContracts == 9 Then
ExitLong("x1",AtStop,(EntryPrice+0.1)-0.25);
if CurrentContracts == 8 Then
ExitLong("x2",AtStop,(EntryPrice+0.2)-0.25);
if CurrentContracts == 7 Then
ExitLong("x3",AtStop,(EntryPrice+0.3)-0.25);
if CurrentContracts == 6 Then
ExitLong("x4",AtStop,(EntryPrice+0.4)-0.25);
if CurrentContracts == 5 Then
ExitLong("x5",AtStop,(EntryPrice+0.5)-0.25);
if CurrentContracts == 4 Then
ExitLong("x6",AtStop,(EntryPrice+0.6)-0.25);
if CurrentContracts == 3 Then
ExitLong("x7",AtStop,(EntryPrice+0.7)-0.25);
if CurrentContracts == 2 Then
ExitLong("x8",AtStop,(EntryPrice+0.8)-0.25);
if CurrentContracts ==1 Then
ExitLong("x9",AtStop,(EntryPrice+0.9)-0.25);
}
If MarketPosition == -1 Then{
Condition2 = false;
ExitShort("Sx1",AtLimit,EntryPrice-0.1,"",1,1);
ExitShort("Sx2",AtLimit,EntryPrice-0.2,"",1,1);
ExitShort("Sx3",AtLimit,EntryPrice-0.3,"",1,1);
ExitShort("Sx4",AtLimit,EntryPrice-0.4,"",1,1);
ExitShort("Sx5",AtLimit,EntryPrice-0.5,"",1,1);
ExitShort("Sx6",AtLimit,EntryPrice-0.6,"",1,1);
ExitShort("Sx7",AtLimit,EntryPrice-0.7,"",1,1);
ExitShort("Sx8",AtLimit,EntryPrice-0.8,"",1,1);
ExitShort("Sx9",AtLimit,EntryPrice-0.9,"",1,1);
ExitShort("Sx10",AtLimit,EntryPrice-1,"",1,1);
if CurrentContracts == 9 Then
ExitShort("xs1",AtStop,(EntryPrice-0.1)+0.25);
if CurrentContracts == 8 Then
ExitShort("xs2",AtStop,(EntryPrice-0.2)+0.25);
if CurrentContracts == 7 Then
ExitShort("xs3",AtStop,(EntryPrice-0.3)+0.25);
if CurrentContracts == 6 Then
ExitShort("xs4",AtStop,(EntryPrice-0.4)+0.25);
if CurrentContracts == 5 Then
ExitShort("xs5",AtStop,(EntryPrice-0.5)+0.25);
if CurrentContracts == 4 Then
ExitShort("xs6",AtStop,(EntryPrice-0.6)+0.25);
if CurrentContracts == 3 Then
ExitShort("xs7",AtStop,(EntryPrice-0.7)+0.25);
if CurrentContracts == 2 Then
ExitShort("xs8",AtStop,(EntryPrice-0.8)+0.25);
if CurrentContracts ==1 Then
ExitShort("xs9",AtStop,(EntryPrice-0.9)+0.25);
}
2013-01-12
320
글번호 58096
흑수돌 님에 의해서 삭제되었습니다.
2013-01-14
26
글번호 58095