커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6346
글번호 230811
답변완료
문의드립니다.
안녕하세요
슬리피지 관련하여 매매가격 설정에 대해서 조언을 구하고자 합니다.
현재 자동매매를 시험적으로 구동시키고 있는데, "시스템 매매 설정" 기능의 '매매' 메뉴에서 '매매가격'을 진입과 청산 모두 "현재가+-5호가"로 설정하고 있습니다.
진입에서는 슬리피지가 별로 발생하지 않는데, 문제는 청산시에 거의 매번 1~2틱의 슬리피지가 발생하고 있습니다. 손절시에 체결이 안되어 더 큰 손실이 날 우려 때문에 청산 가격을 "현재가+-5호가"로 설정하고 있습니다만, 수익청산시에 거의 매번 슬리피지가 발생하는게 고민입니다.
현재 설정보다 더 효과적인 살정이 있다면 알려주시면 감사하겠습니다.
또한, 시스템트레이딩에서 일반적으로 가장 많이 사용하는 가격설정은 어떠한 것들이 있는지 알려주시면 감사하겠습니다.
2017-02-14
164
글번호 106818
답변완료
수식 다시 한번 문의 드립니다.
매도 진입
화면상 최근 150개 캔들중
1. 최저가를 기준으로 캔들이 양봉 상승하고 이후 캔들이 음봉 하락 마감하면 1고점.
2. 이후 캔들 중 1고점을 상향 돌파하고 그 이후 캔들 중에서 음봉으로 하락 마감하면 2고점.
3. 이후 캔들 중 2고점을 상향 돌파하고 그 이후 캔들 중에서 음봉으로 하락 마감하면 3고점.
4. 이후 캔들 중 3고점을 상승 돌파한 4번째 고점 다음 캔들이 시가(현재캔들) 상
1틱이라도 하락하면 시장가 매도 진입한다.
손절 15틱 익절 30틱.
5. 손절 발생 후 다음 캔들이 시가(현재캔들)보다 1틱이라도 하락 하면 시장가 매도 진입한다.
손절 15틱 익절 30틱.
2017-02-17
169
글번호 106817
답변완료
수식 부탁드립니다.
아래식을 기준으로 다음 조건을 추가해주세요, 수정해보려 하는데 안되서요..
조건 추가) 51894 글 참조
이전 한 개 싸이클(+,-) 구간 오실레이터 각각 막대의 절대값들의 평균이 0.5 이상이고
MACD Cross up 하면 매수
이전 한 개 싸이클(-,+) 구간 오실레이터 각각 막대의 절대값들의 평균이 0.5 이상이고
MACD Cross down 하면 매도
input : P(3),P1(5),P2(10),P3(60),P4(120),short(12),long(26),sig(9),시작시간(90000),종료시간(60000),만족(3) ;
var : mav1(0),mav2(0),mav3(0),mav4(0),macdv(0),macds(0),T(0),Tcond(false),Xcond(false),ii(0);
var : N1(0),daypl(0),mav(0), Xcond1(false),Xcnt(0),T1(0);
mav = ma(c,P);
mav1 = ma(c,P1);
mav2 = ma(c,P2);
mav3 = ma(c,P3);
mav4 = ma(c,P4);
MACDV = MACD(short,long);
MACDS = ema(MACDv,sig);
if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("종료시간 매수청산");
if MarketPosition == -1 Then
ExitShort("종료시간 매도청산");
}
if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then
{
T = 0;
Tcond = true;
Xcond = false;
Xcond1 = false;
Xcnt = 0;
N1 = NetProfit;
}
//daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and (IsExitName("S청산",1) or IsExitName("B청산",1)) Then
{
Xcnt = Xcnt+1;
if Xcnt == 만족 Then
Xcond1 = true;
}
if mav3 > mav3[1] and mav4 > mav4[1] and CrossUp(macdv,macds) Then{
T = 1;
ii = index;
}
if mav3 < mav3[1] and mav4 < mav4[1] and CrossDown(macdv,macds) Then{
T = -1;
ii = index;
}
if Tcond == true and Xcond1 == false then{
if MarketPosition == 0 and T == 1 and index <= ii+2 and c < mav Then
buy("S");
if MarketPosition == 0 and T == -1 and index <= ii+2 and c > mav Then
sell("B");
}
if CrossDown(mav1,mav2) Then
Exitlong("Sx");
if CrossUp(mav1,mav2) Then
ExitShort("Bx");
----------------------------------------------------------------------------------------
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식부탁드립니다.
>
안녕하세요
예스스탁입니다.
input : short(12),long(26),sig(9);
var : MACDV(0),MACDS(0),MACDO(0);
var : sum(0),ii(0),mav(0),mav1(0),mav2(0);
MACDv = MACD(Short,long);
MACDS = ema(MACDV,sig);
MACDO = MACDv-MACDs;
if crossup(MACDO,0) or CrossDown(MACDO,0) Then{
sum = 0;
ii = 0;
mav1 = mav[1];
mav2 = mav1[1];
if crossup(MACDO,0) and (mav1+mav2)/2 >= 0.5 Then
buy();
if CrossDown(MACDO,0) and (mav1+mav2)/2 >= 0.5 Then
sell();
}
sum = sum + abs(MACDO);
ii = ii + 1;
mav = sum/ii;
즐거운 하루되세요
> 바바큰 님이 쓴 글입니다.
> 제목 : 수식부탁드립니다.
> 수식 부탁드립니다.
이전 한 개 싸이클(+,-) 구간 오실레이터 각각 막대의 절대값들의 평균이 0.5 이상이고
MACD Cross up 하면 매수
이전 한 개 싸이클(-,+) 구간 오실레이터 각각 막대의 절대값들의 평균이 0.5 이상이고
MACD Cross down 하면 매도
예)
매수 전 한 싸이클 오실레이터 막대 값들의 평균 값
(+구간) 평균값: +0.8, (-구간) 평균값: -0.4
매수 전 한 싸이클(+,-) 구간 오실레이터 각각의 절대값들의 평균: (|+0.8|+|-0.4|) / 2 = 0.6
매도 전 한 싸이클 오실레이터 막대 값들의 평균 값
(-구간) 평균값: -0.4, (+구간) 평균값: +1.0
매도 전 한 싸이클(-,+) 구간 오실레이터 각각의 절대값들의 평균: (|-0.4|+|+1.0|) / 2 = 0.7
2017-02-14
119
글번호 106813
답변완료
Money Flow Index 수정요청
항상 감사를 드립니다.
아래의 Money Flow Index 값을 가지고 볼린저밴드형태로 지표에 표시하고 싶습니다.
즉 Money Flow Index 값을 주가의 값이라고 간주하고 그 값을 이용해서 20일 이동평균값(20)과
표준편차(2)를 이용하여 볼린저밴드를 만들어서 지표값을 출력했으면 합니다.
Input: Period(14);
var : MoneyFlow(0);
MoneyFlow = MFI(Period);
Plot1(MoneyFlow, "MFI");
PlotBaseLine1(20, "하단기준선");
PlotBaseLine2(80, "상단기준선");
2017-02-14
139
글번호 106809
답변완료
식??
안녕하세요
야간선물 CME data2 또는 국내종합지수 타주기로하고
정규장 연결선물
Nextbaropen 사용하여 빠른주문하고저합니다
정상 적동되는 식 부탁합니다
전일종가 대비 1% 를 예로 했을때
작성법??? 감사합니다^^
2017-02-14
124
글번호 106800
회원 님에 의해서 삭제되었습니다.
2017-02-14
0
글번호 106799
답변완료
문의드립니다.
안녕하세요?
기준선 돌파시 바로 매수하려면 어떻게 해야 되나요?
예) if MarketPosition == 0 and crossup(c,60) then buy();
라고 작성시 종가매매(=완성봉)를 하는데요.
종가진입(완성봉)가 아닌 60일선 돌파되면 바로 매수하는 식이 부탁드립니다.
2017-02-13
121
글번호 106798
kingson 님에 의해서 삭제되었습니다.
2017-02-14
17
글번호 106797
답변완료
수식문의
노고가 많으십니다.
일부수익매도 주문을 다음과 같이 줄때,
if C >= AvgEntryPrice*1.07 Then
exitlong("절반수익",OnClose,def,"",floor(CurrentContracts*0.5),1);
이 주문이 조건 만족시 반복적으로 나오는 경우가 많은데, 이 주문을 단한번만 나오게 할 수 있나요? 한번이 아니면 한참 뒤에 나오게 할순 없나요?
캔들간격으로 조정하는 수식 index 도 대입해봤는데, 잘 안되더군요.
방법 부탁드리겠습니다.
2017-02-13
127
글번호 106795