커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3365
글번호 230811
답변완료
질문 올립니다.
안녕하세요. 늘 감사드립니다.
급등 시 급반락 이용 이익 실현,
급락 시 급반등 이용 이익 실현하는 식 부탁드리고 싶습니다.
매도:
현재 양봉 전체 길이(고가-저가)가,
직전봉에서부터 60(외부변수)개 이전 봉들 사이(즉 이 것은 1분봉 차트라면, 최근 1시간 동안 = 지난 1분봉들 60개에서의)의 가장 긴 양봉의
1.5(외부변수) 배 이상이 되는 순간
즉시 ((봉완성과 상관 없이 조건 만족 즉시))
매도,
매수:
매도와 반대 내용으로.
하는 식
부탁 드립니다.
대단히 감사합니다.
2020-06-03
2014
글번호 139504
수다리 님에 의해서 삭제되었습니다.
2020-06-03
38
글번호 139503
답변완료
매수진입-매수청산 수식을 매도진입-매도청산수식으로 변환 요청건
아래식은 매수진입 - 매수청산 수식인데요...
아래식과 같은 컨셉으로 매도진입 --매도 청산 수식 부탁드려요~~
# 오일 10분봉 추세매매
#매수 조건1
input :신고가평균봉수(100);
input : 신고가거래제한봉수(50);
input : 거래량(2000);
#청산 조건
input : 청산이평(30);
input : 손절이평(70);
input : 익절틱수(80),손절틱수(90);
var : hi1(0),hi2(0),mav1(0),mav2(0);
mav1 = ma(C,청산이평);
mav2 = ma(C,손절이평);
Condition1 = H > highest(H,신고가평균봉수)[1];
if Condition1 == true Then
{
hi1 = index;
hi2 = hi1[1];
if (hi2 == 0 or (hi2 > 0 and hi1 > hi2+신고가거래제한봉수)) and V >= 거래량 Then
buy("매수진입",AtMarket);
}
if MarketPosition == 1 then
{
if c < EntryPrice and CrossDown(c,mav2) Then
exitlong("손절");
if c > EntryPrice and CrossDown(c,mav1) Then
exitlong("이익실현");
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2020-06-02
2048
글번호 139502
답변완료
포지션 질문 드립니다.
안녕하세요.
하나의 종목에 두 가지 시스템을 적용해보려고 합니다.
계좌는 하나를 사용한다고 하면,
system 1 에서 매수 포지션 1계약을 보유하고 있는데,
system 2 에서 매도 1계약 진입 시그널이 나왔습니다.
그럼 하나의 계좌는 매수 포지션 1개, 매도 포지션 1개를 따로 갖게 되나요?
아니면 매수 포지션을 청산하여 무 포지션이 되는건가요?
2020-06-02
1819
글번호 139501
답변완료
오류와 Data2
빠른 답변 감사드립니다.
한가지만 더 어레이인 경우
이전
var : i(0); // For 반복
array : ATM[9](0); // 값
For i = 9 downto 0 {
Text1 = Text_New_Self(sDate, sTime, C, "값:" + NumToStr(ATM[i],2));
}
변경
var : i(0,Data1); // For 반복
array : ATM[9](0,Data1); // 값
For i = 9 downto 0 {
Text1 = Text_New_Self(sDate, sTime, C, "값:" + NumToStr(ATM[i],2));
}
이렇게 지정하는게 맞는지요?
2020-06-02
1698
글번호 139500
아무다 님에 의해서 삭제되었습니다.
2020-06-02
7
글번호 139498
답변완료
도움 부탁드립니다.
안녕하세요? 수식 감사히 쓰고있습니다.
아래수식에서 수정할 부분이있어 도움부탁드립니다.
캔들과 진입봉과의 사이에 도지가있는 매매인데요,
중간에있는 도지를 1개로 설정했다고 가정한다면,
양봉 도지 음봉(진입봉) 매도
음봉 도지 양봉(진입봉) 매수 이렇게 매매가 이루어집니다.
여기에서,
양봉 도지 음봉(진입봉) 매도 --> 앞의 양봉보다 진입봉의 음봉이 클때만 매도진입
음봉 도지 양봉(진입봉) 매수 --> 앞의 음봉보다 진입봉의 양봉이 클때만 매수진입
이렇게 되도록 하고싶습니다.
도움부탁드립니다.
감사합니다.
input : N(3);
var : t1(0),t2(0),t3(0);
var : d1(0),d2(0),d3(0);
if C > O Then
T1 = 1;
else if C < O Then
T1 = -1;
Else
T1 = 0;
if T1 != T1[1] Then
{
T2 = T1[1];
T3 = T2[1];
d1 = abs(C-O);
d2 = d1[1];
d3 = d2[1];
}
if MarketPosition == 0 and
T1 == 1 and
T2 == 0 and
T3 == -1 and
T1[N+1] == -1 and
countif(T1 == 0,N)[1] == N and
d1 > d2 Then
buy();
if MarketPosition == 0 and
T1 == -1 and
T2 == 0 and
T3 == 1 and
T1[N+1] == 1 and
countif(T1 == 0,N)[1] == N and
d1 > d2 Then
sell();
input : 익절틱수(50),손절틱수(50);
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2020-06-02
1771
글번호 139497
답변완료
부탁합니다
거래량 봉= 과거120개봉 평균거래량 * 3배이상
캔들 = 시가보다 1%이상 양봉
ATR지표 = 시그날 밑에서 위로 클로즈업(현재봉포함 3봉이내에 크로즈업)
For index = 시그날 밑에서 위로 클로즈업(현재봉포함 3봉 이내에 크로즈업)
2020-06-02
1846
글번호 139496
답변완료
역마틴게일 수정 문의
표제건 관련하여, 문의 드립니다.
아래 수식은 예스스탁의 수식게시판에서 찾은 내용입니다 (선물거래용인듯 하네여)
Q1. 수식수정
역마틴게일을 주식에 적용하려고, 매도조건은 지우고 간략하게 표현하고자합니다.
매수진입:" 이전 거래에서 수익이 나면 factor(2)배 만큼 매수" 아니라면 기본수량 진입(size)
매수청산: 진입한 수량만큼 청산
Q2. 하기의 signal이란 게 무엇을 의미하는지 잘 이해가 안가서 직접수정이 어렵네요.
marketposition과 비슷한 용도 인것 같기는 한데, 함수도 아니고,
signal < 1 은 어떤 조건을 의미할까요? ( no 포지션 or 매수포지션?)
---아래 수식은 예스스탁의 수식게시판에서 찾은 내용입니다---
input: faster(5), slower(20), size(1), factor(2.0),maxcont(10);
vars: mafast(0), maslow(0), ncontr(0),signal(0),XCommission(0),XSlippage(0);
mafast = average(close, faster);
maslow = average(close, slower);
XCommission = c*(ExitCommission/100); #%설정
XSlippage = ExitSlippage; #Pt설정
if mafast > maslow then {
if signal == -1 then {//매도 포지션일때??
exitshort(); //매도 청산
signal = 0; // 무포일때
if (PositionProfit-(XCommission+XSlippage)*CurrentContracts) > 0 then //수익났을때
ncontr = intportion(ncontr*factor); // 매수 수량 늘려줌.
else
ncontr = size; // 수익아니면 매수 수량 동일
}
if signal < 1 then {
Buy("B", onclose,def,min(ncontr,maxcont));
signal = 1; //매수 포지션으로 정의
}
}
if mafast < maslow then {
if signal == 1 then {// 매수 포지션일때,??
exitlong();
signal = 0; // 무포로 정의
if (PositionProfit-(XCommission+XSlippage)*CurrentContracts) > 0 then // 수익일때,
ncontr = intportion(ncontr*factor);// 매도 수량 늘려줌.
else
ncontr = size;// 수익아니면 매도 수량 동일
}
if signal > -1 then {
Sell("S", onclose,def, min(ncontr,maxcont) ); // 매도 진입
signal = -1; //매도 포지션으로 정의
}
}
2020-06-02
1964
글번호 139492