커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
6060
글번호 230811
지표
답변완료

60일선과 20일선

60일선과 20일선 간격이 점점 넓어지는 지표 또는 시스템식을 구하고 싶습니다
프로필 이미지
아삼양라면
2018-12-04
215
글번호 124149
지표
답변완료

지표문의

일마다 미결제약정 누적지표 받고 싶은데 어떻게 하면 될까요? 1분봉으로 보고 싶습니다.
프로필 이미지
아삼양라면
2018-12-04
199
글번호 124148
지표
답변완료

수식 문의드립니다

high-low oscillator 최고갑 의 신호 뛰울려고 해는데 검색결과 이상케 나왓어 수식수정 부탁드립니다 Input : Period(3) ,period1(30); Vars : v1(0), v2(0), v3(0); if (H-L) <> 0 then v1 = ( H-C[1]) / (H-L); Else v1 = 0.01; v3 = Highest (v1,period1); if v3 Then begin Plot1( c, "buy" ); end else NoPlot(1);
프로필 이미지
커피한잔
2018-12-04
219
글번호 124147
검색
답변완료

종목검색식 부탁함니다.

안녕하십니까! 아래와 같은 조건으로 종목검색을 하고 합니다. 검색조건 - 일봉 60일선과 주봉 60일선 위 - 20과 60선의 이격도는 30% 이내(일봉 및 주봉) - 60선의 우상향 추세(일봉 및 주봉) 종목검색식으로 어떻게 종목검색을 해야 하는지 절차를 알려주세요. 감사합니다.
프로필 이미지
아틀라스
2018-12-04
217
글번호 124146
종목검색
답변완료

문의드립니다

문의드립니다. 분봉에서 일봉 주봉 월봉의 price channel 과 볼린저밴드를 불러올때 수식 cnt 와 counter 사용범위가 궁금합니다. 분봉의 pc 는 cnt 볼린저밴드는 counter 를 사용하고 일,주,월의 pc 는 dcnt wcnt mcnt 볼린저밴드는 dCounter wcounter mcounter Top dTop wTop mTop 에서는 cnt 를 맞게 사용하고 있는지 알려주시기 바랍니다. 분봉의 pc 에서 cnt 와 counter의 차이점이 무엇인지 궁금합니다 감사합니다.
프로필 이미지
맥스
2018-12-04
274
글번호 124145
지표
답변완료

확인부탁드립니다!

안녕하세요! 아래는 어제 만들어 주신 수식인데요! 월물(콜과 풋의 당월 근월물 첫날 저가와 고가)가 표현이 안되는것 같습니다! 적용을 해보니 콜은 적용이 되면 풋은 0으로 선 구현이 됩니다! 다시 한번 수식 점검을 부탁드립니다! 감사합니다! ------------------------------------------------------ var : nday1(0,data1),week1(0,data1),Exdate1(false,data1); var : H1(0,data1),L1(0,data1),D1(0,data1),V11(0,data1),V12(0,data1); var : nday2(0,data2),week2(0,data2),Exdate2(false,data2); var : H2(0,data2),L2(0,data2),D2(0,data2),V21(0,data2),V22(0,data2); nday1 = data1(date - int(date/100)*100); week1 = data1(DayOfWeek(date)); if nday1 >= 8 and nday1 <= 14 and week1 == 4 then Exdate1 = true; Else Exdate1 = false; if data1(bdate != bdate[1] and Exdate1 == false and Exdate1[1] == true) Then { D1 = data1(bdate); H1 = data1(H); L1 = data1(L); } if sdate == D1 Then { v11 = data1(daylow); v12 = data1(DayHigh); } if data1(H) > H1 Then H1 = data1(H); if data1(L) < L1 Then L1 = data1(L); plot1(data1(DayHigh(1)),"전일고가"); plot2(data1(daylow(1)),"전일저가"); plot3(data1(DayOpen(0)),"전일시가"); if H1 > 0 and L1 > 0 then { plot4(H1,"월고"); plot5(L1,"월저"); } plot6(v11,"월물첫날저가"); plot7(v12,"월물첫날고가"); nday2 = data2(date - int(date/100)*100); week2 = data2(DayOfWeek(date)); if nday2 >= 8 and nday2 <= 14 and week2 == 4 then Exdate2 = true; Else Exdate2 = false; if data2(bdate != bdate[1] and Exdate2 == false and Exdate2[1] == true) Then { D2 = data2(bdate); H2 = data2(H); L2 = data2(L); } if sdate == D2 Then { v21 = data2(lowD(0)); v22 = data2(HighD(0)); } if data2(H) > H2 Then H2 = data2(H); if data2(L) < L2 Then L2 = data2(L); plot11(data2(HighD(1)),"전일고가"); plot12(data2(lowD(1)),"전일저가"); plot13(data2(OpenD(0)),"전일시가"); if H2 > 0 and L2 > 0 then { plot14(H2,"월고"); plot15(L2,"월저"); } plot16(v21,"월물첫날저가"); plot17(v22,"월물첫날고가");
프로필 이미지
qha71
2018-12-04
210
글번호 124144
지표
답변완료

부탁드립니다.

항상 감사드립니다. 매구 가능 조건 후 (BuyEntry == true) mav1 > mav2 and mav3[1] < mav3 상태이면서 U2 == 1 and U2!=U2[1] 이면 매수하는 식으로 해보았습니다. 매구 가능 조건 후 (BuyEntry == true) mav1 > mav2 and mav3[1] < mav3 상태가 풀리면 U2 == 1 and U2!=U2[1] 이어도 매수하지 않고 싶습니다. 아래식은 매수 가능 조건후 mav1 > mav2 and mav3[1] < mav3 상태가 풀리더라도 한참뒤어 mav1 > mav2 and mav3[1] < mav3 와 U2 == 1 and U2!=U2[1] 가 만족되면 매수가 들어갑니다. 부탁드립니다. 1식은 제가 구성해 본 식이며, 2식은 작성해 주신 식입니다. 두개 모두 동일합니다. 1. Input : Period(5), Period1(5); Input : P1(30), P2(60), P3(300); var : FstK(0),FstD(0); var : mav1(0), mav2(0), mav3(0); var : t(0), t1(0), tx(0), U2(0); var : BH(0),SL(0),HE(0),LE(0); var : BuyEntry(false); FstK = FastK(Period); FstD = FastD(Period,Period1); mav1 = wma(C, P1); mav2 = wma(C, P2); mav3 = wma(c, P3); if FstK[1] < FstK Then #FstK 상승 U2 = 1; if FstK[1] > FstK Then #FstK 하강 U2 = -1; if mav1 > mav2 and mav3[1] < mav3 then { t = 1; #t는1 mav1>mav2 & mav3 상향구간 t값은 t1에 저장 t1 = t[1]; } # t가 1인 상태에서 Fstk가 80을 CrossDown 하면 t = 2로 변경 ● 출력 if t == 1 and Crossdown(FstD, 80) Then { t = 2; #t는 2로 변경 #●출력 tx = Text_New(sdate,stime,H+PriceScale,"●"+NumToStr(C,2)); Text_SetStyle(tx,2,2); Text_SetColor(tx,RED); BuyEntry = true; //매수가능 } # mav1>mav2 & mav3 상향구간 # Crossdown(Fastk, 80) t는 2까지 기록했고 # mav1>mav2 & mav3 상향구간 인 상태이고 FastK가 다시 상승하면 매수 if BuyEntry == true and mav1 > mav2 and mav3[1] < mav3 and U2 == 1 and U2!=U2[1] then BuyEntry = false; # false로 초기화 buy("B3"); } if MarketPosition == 1 Then { BH = highest(H,BarsSinceEntry); if MaxEntries == 1 Then HE = LatestEntryPrice(0); if MaxEntries >= 2 and LatestEntryPrice(0) > HE Then HE = LatestEntryPrice(0); SetStopProfittarget(0.4); ExitLong("B손절",AtStop,HE-PriceScale*80); } 2. Input : Period(5), Period1(5); Input : P1(30), P2(60), P3(300); var : FstK(0),FstD(0); var : mav1(0), mav2(0), mav3(0); var : t(0), t1(0), tx(0), U2(0); var : BH(0),SL(0),HE(0),LE(0); var : BuyEntry(false); FstK = FastK(Period); FstD = FastD(Period,Period1); mav1 = wma(C, P1); mav2 = wma(C, P2); mav3 = wma(c, P3); if FstK[1] < FstK Then #FstK 상승 U2 = 1; if FstK[1] > FstK Then #FstK 하강 U2 = -1; if mav1 > mav2 and mav3[1] < mav3 then { t = 1; #t는1 mav1>mav2 & mav3 상향구간 t값은 t1에 저장 t1 = t[1]; } # t가 1인 상태에서 Fstk가 80을 CrossDown 하면 t = 2로 변경 ● 출력 if t == 1 and Crossdown(FstD, 80) Then { t = 2; #t는 2로 변경 #●출력 tx = Text_New(sdate,stime,H+PriceScale,"●"+NumToStr(C,2)); Text_SetStyle(tx,2,2); Text_SetColor(tx,RED); BuyEntry = true; //매수가능 } # mav1>mav2 & mav3 상향구간 # Crossdown(Fastk, 80) t는 2까지 기록했고 # mav1>mav2 & mav3 상향구간 인 상태이고 FastK가 다시 상승하면 매수 if t > 0 and t1 >= 2 and U2 == 1 and U2!=U2[1] and BuyEntry == true Then 매수가능일때만 매수 { BuyEntry = false;# false로 초기화 buy("B3"); } if MarketPosition == 1 Then { BH = highest(H,BarsSinceEntry); if MaxEntries == 1 Then HE = LatestEntryPrice(0); if MaxEntries >= 2 and LatestEntryPrice(0) > HE Then HE = LatestEntryPrice(0); SetStopProfittarget(0.4); ExitLong("B손절",AtStop,HE-PriceScale*80); }
프로필 이미지
라떼처럼
2018-12-04
198
글번호 124143
시스템
답변완료

수식 부탁드립니다.

5분봉에서 전일거래량 10%발생하면서 5분봉에서 2%이상으로 일봉에서 60일 이동평균선 뚫고 1,2,3,4,5일전 종가위에 있으면서 전일대비 3%이상 상승한 종목에서 매수 수식 부탁드립니다.
프로필 이미지
디얼디어
2018-12-04
204
글번호 124139
시스템
답변완료

함수요청

안녕하세요? 아래 글번호 60311번 재질문 드립니다. 함수요청드립니다. 해외선물 크루드오일 30분봉으로 거래를 하고자 합니다. 써머타임 적용시에는 1번으로, 써머타임 해지시에는 2번전략으로 거래를 하고자 합니다. 하나의 스크립트로 요청드립니다. 1. 써머타임 적용시 -매수: 23시 30분 시점에 현재가 > 00시 30분 시점에 현재가 이면, 익일 1시 시초가 진입 -매도: 23시 30분 시점에 현재가 < 00시 30분 시점에 현재가 이면, 익일 1시 시초가 진입 -청산: SetStopEndOfday(043000); -당일 진입, 당일 청산으로 1번 왕복 거래입니다. 2. 써머타임 해지시 -매수: 22시 30분 시점에 현재가 > 23시 30분 시점에 현재가 이면, 익일 0시 시초가 진입 -매도: 22시 30분 시점에 현재가 < 23시 30분 시점에 현재가 이면, 익일 0시 시초가 진입 -청산: SetStopEndOfday(033000); -당일 진입, 당일 청산으로 1번 왕복 거래입니다. 두 시점의 현재가를 비교하여 특정 시각에 진입한다는 컨셉입니다. 그런데 작성주신 스크립트는 두 시점의 현재값을 비교하여 atmarket하는 걸로 주셨습니다. 바쁘시겠지만 검토 부탁드립니다.
프로필 이미지
흰둥이아빠
2018-12-04
219
글번호 124136
시스템