커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8127
글번호 230811
답변완료
수식 부탁드립니다.
아래식을 기준으로 다음 조건을 추가해주세요, 수정해보려 하는데 안되서요..
조건 추가) 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
158
글번호 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
180
글번호 106809
답변완료
식??
안녕하세요
야간선물 CME data2 또는 국내종합지수 타주기로하고
정규장 연결선물
Nextbaropen 사용하여 빠른주문하고저합니다
정상 적동되는 식 부탁합니다
전일종가 대비 1% 를 예로 했을때
작성법??? 감사합니다^^
2017-02-14
169
글번호 106800
회원 님에 의해서 삭제되었습니다.
2017-02-14
0
글번호 106799
답변완료
문의드립니다.
안녕하세요?
기준선 돌파시 바로 매수하려면 어떻게 해야 되나요?
예) if MarketPosition == 0 and crossup(c,60) then buy();
라고 작성시 종가매매(=완성봉)를 하는데요.
종가진입(완성봉)가 아닌 60일선 돌파되면 바로 매수하는 식이 부탁드립니다.
2017-02-13
161
글번호 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
171
글번호 106795
답변완료
문의 드립니다.
안녕하세요
15분봉에서
1. 봉이 RSI(14) 70 이상(돌파)이 되면 BUY 또는
2. 거래량이 현재 봉 기준 5봉전 평균거래량의 200%이상이 되면 buy
어떻게 구현하나요?
2017-02-13
145
글번호 106793
답변완료
부탁합니다
input : Period11(20),Period12(40),Period13(80),Period14(120),Period15(160),Period16(300),Period17(600),Period18(1200),익절틱수(15),손절틱수(15);
input : ntime2(200),sig2(100);
var : mav11(0),mav12(0),mav13(0),mav14(0),mav15(0),mav16(0),mav17(0),mav18(0);
mav11 = ma(c, Period11);
mav12 = ma(c, Period12);
mav13 = ma(c, Period13);
mav14 = ma(c, Period14);
mav15 = ma(c, Period15);
mav16 = ma(c, Period16);
mav17 = ma(c, Period17);
mav18 = ma(c, Period18);
if MarketPosition <= 0 and
mav12 < mav13 and mav13 < mav15 and mav15 < mav16 and mav16 < mav17 and crossup(mav11,mav13) Then
buy("b",OnClose,def,1);
if MarketPosition == 1 Then{
if mav11 < mav11[1] and CurrentContracts < 5 Then
buy("bb",OnClose,def,1);
if mav12 > mav13 and mav13 > mav15 and mav15 > mav16 and mav16 > mav17 and CrossDown(mav11,mav13) Then{
ExitLong("bx");
}
ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수);
ExitLong("bl",AtStop,AvgEntryPrice-PriceScale*손절틱수);
}
if MarketPosition >= 0 and
mav12 > mav13 and mav13 > mav15 and mav15 > mav16 and mav16 > mav17 and CrossDown(mav11,mav13) Then
sell("s",OnClose,def,1);
if MarketPosition == -1 then{
if mav11 > mav11[1] and CurrentContracts < 5 Then
sell("ss",OnClose,def,1);
if mav12 < mav13 and mav13 < mav15 and mav15 < mav16 and mav16 < mav17 and crossup(mav11,mav13) Then
ExitShort("sx");
ExitShort("sp",atlimit,AvgEntryPrice-PriceScale*익절틱수);
ExitShort("sl",AtStop,AvgEntryPrice+PriceScale*손절틱수);
}
위 수식에서 한가지 추가하고자 합니다
만약에 매수진입 후 매수진입 평균단가가 - (마이너스)인 경우 이동평균선 20일이 120일선을 하락크로스CrossDown(mav11,mav14) 인 경우 매수진입 전체청산 추가해주세요
또한
만약에 매도진입 후 매도진입 평균단가가 - (마이너스)인 경우 이동평균선 20일이 120일선을 상승크로스(crossup(mav11,mav14)) 인 경우 매도진입 전체청산 추가해주세요
감사합니다
2017-02-13
153
글번호 106792