커뮤니티

예스랭귀지 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 님에 의해서 삭제되었습니다.

프로필 이미지
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
시스템