커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

지표식 부탁드립니다.

안녕하세요? 제가 아래의 식을 메인챠트에 적용해서 사용하고 있습니다. 그런데보조지표식에도 적용을 해서 다이버전스를 확인하려고 하는데 실력이 짧아 만들지를 못하겠습니다. 아래의 Plot1과 Plot2를 StochasticsK선에 적용하는 지표식을 부탁드립니다. 그리고 작성된 보조지표식을 Data2에도 적용할 수 있도록 수정한 식도 같이 부탁드립니다. 감사합니다. ##피보나치되돌림## Inputs: XAvgLen(9), HiLoLen(50), Retrace(0.382); Vars: HiHi(0),LoLo(0),Retracement(0),HRetrace(0),LRetrace(0); HiHi = Highest(High, HiLoLen); LoLo = Lowest(Low, HiLoLen); Retracement = (HiHi - LoLo) * Retrace; HRetrace = HiHi - Retracement; Lretrace = LoLo + Retracement; plot1(Hretrace-((HiHi-LoLo)*0.612),"저점상승"); plot2(Lretrace+((HiHi-LoLo)*0.612),"고점하락");
프로필 이미지
회원
2015-04-15
261
글번호 85060
지표
답변완료

답변 부탁드립니다.

> 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 부탁합니다. > 안녕하세요 예스스탁입니다. 1번식은 한봉에 매수와 매도 한번씩 진입합니다. 매수나 매도중 하나만 진입하기 위해서는 수식에서 지정한 가격 터치시 진입은 atstop이나 atlimit타입을 사용하는데 모두 전봉에서 가격을 셋팅해 현재봉시세 조건만족시에 신호가 발생합니다. 그러므로 매수나 매도중 하나만 진입하기 위해서는 2개가 동시에 충족되지 않는 조건을 넣어야 합니다. 2번식은 시가가 직전봉 종가대비 같거나 높으면 매수쪽으로만 시가가 지전봉 종가대비 아래면 매도쪽으로만 진입이 발생하게 작성한 식입니다. 이용에 참고하시기 바랍니다. 1. input : 시가대비틱수(5),손절틱수(10),익절틱수(20),최고수익대비하락틱수(10); input : X(5),Y(10),A(5),B(5); if MarketPosition <= 0 Then buy("b",AtStop,NextBarOpen+PriceScale*시가대비틱수); if MarketPosition >= 0 then sell("s",AtStop,NextBarOpen-PriceScale*시가대비틱수); if MarketPosition == 1 Then{ exitlong("btr1",AtStop,Highest(H,BarsSinceEntry)-PriceScale*최고수익대비하락틱수); if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*x and highest(H,BarsSinceEntry) < EntryPrice+PriceScale*y Then exitlong("btr2",AtStop,highest(H,BarsSinceEntry)-PriceScale*a); if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*y Then exitlong("btr3",AtStop,highest(H,BarsSinceEntry)-PriceScale*b); } if MarketPosition == -1 Then{ ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*최고수익대비하락틱수); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*x and Lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*y Then ExitShort("str2",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*a); if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*y Then ExitShort("str3",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*b); } SetStopProfittarget(PriceScale*손절틱수,PointStop); SetStopLoss(PriceScale*익절틱수,PointStop); 2번 input : 시가대비틱수(5),손절틱수(10),익절틱수(20),최고수익대비하락틱수(10); input : X(5),Y(10),A(5),B(5); if MarketPosition <= 0 and NextBarOpen >= C Then buy("b",AtStop,NextBarOpen+PriceScale*시가대비틱수); if MarketPosition >= 0 and NextBarOpen < C then sell("s",AtStop,NextBarOpen-PriceScale*시가대비틱수); if MarketPosition == 1 Then{ exitlong("btr1",AtStop,Highest(H,BarsSinceEntry)-PriceScale*최고수익대비하락틱수); if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*x and highest(H,BarsSinceEntry) < EntryPrice+PriceScale*y Then exitlong("btr2",AtStop,highest(H,BarsSinceEntry)-PriceScale*a); if highest(h,BarsSinceEntry) >= EntryPrice+PriceScale*y Then exitlong("btr3",AtStop,highest(H,BarsSinceEntry)-PriceScale*b); } if MarketPosition == -1 Then{ ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*최고수익대비하락틱수); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*x and Lowest(L,BarsSinceEntry) > EntryPrice-PriceScale*y Then ExitShort("str2",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*a); if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*y Then ExitShort("str3",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*b); } SetStopProfittarget(PriceScale*손절틱수,PointStop); SetStopLoss(PriceScale*익절틱수,PointStop); 즐거운 하루되세요 > 재정적자유 님이 쓴 글입니다. > 제목 : 수식 부탁합니다. > 해외 선물 매매자 입니다. 수식 부탁드립니다. 괄호 안은 함수가 아니고 함수에 대한 설명 부분입니다. 매수 진입 봉 시가 대비 x 틱 상승 시 진입 + 한 봉에서 1 번 만 진입 매수 청산 ( 아래 다섯가지 청산 방법중에 하나만 만족해도 청산 되게 해주십시요.) 익절 x 틱 손절 x 틱 진입 봉 종가 청산 진입 후 최고가 대비 x 틱 하락 시 청산 진입 후 x 틱 상승 후 a 틱 하락시 청산, y 틱 상승 후 b 틱 하락 시 청산..( y 가 x보다 절대값이 큰 숫자입니다.) 매도 진입 봉 시가 대비 x 틱 하락 시 진입 + 한 봉에서 1 번 만 진입 매도 청산 ( 아래 다섯가지 청산 방법중에 하나만 만족해도 청산 되게 해주십시요.) 익절 x 틱 손절 x 틱 진입 봉 종가 청산 진입 후 최저가 대비 x 틱 상승 시 청산 진입 후 x 틱 하락 후 a 틱 상승 시 청산, y 틱 하락 후 b 틱 상승 시 청산.( x보다 y 가 절대값이 큰 숫자입니다.) 질문 하나 "수식에서 지정한 가격 터치시 진입은 atstop이나 atlimit타입을 사용하는데 모두 전봉에서 가격을 셋팅해 현재봉시세 조건만족시에 신호가 발생합니다" 위 글의 뜻은 "현재 봉 시가 대비 x 틱 상승시점",그러니까 그 즉시는 진입 못하고 x 봉 상승이라는 조건을 만족한 봉 다음봉 시가에 진입한다는 말인가요? 질문 둘 진입 조건에 추가 함수 한가지 부탁 합니다. 뭐냐면 x 틱 상승(하락)시 진입할 때 슬리피지가 너무 클 때는 진입 하지않게,이럴테면 "체결가가 시가 대비 x틱 상승(하락) 에서 슬리피지가 k틱 이내일때에만 진입한다." 라는 함수를 추가하는게 가능한지요? 가능하다면 함수를 1번식,2번식에 추가 부탁합니다. 질문 셋 "그러므로 매수나 매도중 하나만 진입하기 위해서는 2개가 동시에 충족되지 않는 조건을 넣어야 합니다." 위 글에서 "2개"는 무엇을 뜻하는지요? 질문 넷 "2번식은 시가가 직전봉 종가대비 같거나 높으면 매수쪽으로만 시가가 지전봉 종가대비 아래면 매도쪽으로만 진입이 발생하게 작성한 식입니다." 그럼 현재봉 시가가 직전봉 종가대비 같거나 높았는데 약간 상승하다가 현재봉 시가대비 x 틱이상 하락해도 매도 진입 안되는건가요? 그 반대인 경우에도 매수 진입 역시 안되는지요? 질문 다섯 답변해 주신 수식들의 각 함수들,그러니까 한줄 한줄 밑에 한글로 그뜻을 풀이 해주실수 있을런지요. 팝송 가사를 우리말로 번역 하듯이 말입니다. 제가 너무 초보라서 해독이 안되어서요. 공부하는데 큰 도움 될것같습니다. 꼭 좀 부탁드립니다. 질문 여섯 부탁드린 청산 방법이 5 가지 였는데 모두 다 표현 되어 있는지요? 질문 일곱 전략을 실행차트에 적용시킬때 차트에는 전략에 포함된 모든 지표가 띄워져 있어야 합니까? 질문 여덟 청산 함수 "진입 후 최고가 대비 X틱 하락시 청산" 에서 만약 진입시, 슬리피지 때문에 로직보다 더 높은 가격으로 진입했다면, "최고가" 계산할 때 기준을 체결가로 하나요,아님 슬리피지 무시하고 로직함수를 기준으로 하나요.
프로필 이미지
재정적자유
2015-04-14
249
글번호 85059
시스템
답변완료

수식 문의 드립니다.

안녕하세요. 지수가 고점갱신후 60분 이내에 고점갱신이 없다가, 60분 이후 고점갱신하면 매수 지수가 저점갱신후 60분 이내에 저점갱신이 없다가, 60분 이후 저점갱신하면 매도 수식 부탁드립니다.
프로필 이미지
린포체
2015-04-14
126
글번호 85058
시스템
답변완료

수식 문의 드립니다..

수식 검토바랍니다.. ///// var1 = ma(c,5); var2 = ma(c,20); var3 = ma(c,60); if var2< var2[1] and var3 <var3[1] then{ if CrossDown(c,var1) Then{ sell("ss"); } } if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*5 Then ExitShort("SL1",AtStop,EntryPrice); Else ExitShort("sl2",AtStop,EntryPrice+PriceScale*4); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*8 and CrossUp( C , highest(max(c,O),2)[1]) Then ExitShort("sx"); /////// >>>>>>매도가 나오자마자 청산신호가 바로뜨는데 검토&#48535;탁드립니다...
프로필 이미지
고구미
2015-04-14
123
글번호 85057
시스템

텐푸로 님에 의해서 삭제되었습니다.

프로필 이미지
텐푸로
2015-04-14
0
글번호 85056
종목검색

관리자에 의해 프로그램 사용법 QnA로 이동되었습니다

프로필 이미지
텐푸로
2015-04-14
5
글번호 85055
종목검색
답변완료

예스랭귀지에서 매수1호가, 매도1호가를 알수 없나요?

제가 예스랭귀지를 살펴보고 있는데 궁금한 점이 있어 문의드립니다. 예스랭귀지에서 코스피200 선물,옵션 종목들에서 매수1호가, 매도1호가의 호가 가격을 알수 있는지 궁금합니다. 예스랭귀지 편집기의 사전을 찾아보니 종가같은 경우는 close 라는 변수를 참조하면 종가를 알수 있는 것 같던데요. 사전창의 범주 탭에서 데이터란 범주내의 함수중에 Asks 라는 것이 매도잔량, Bids 가 매수잔량...이라고 나와있긴 하지만 특별히 매수1호가, 매도1호가를 특정하는 변수는 없는 거 같더군요. 예를들어, 코스피200선물 최근월물의 현재가가 263.00 이라고 가정했을 때, 매수1호가가 263.00, 매수2호가가 262.95, 매수3호가가 262.90...이렇게 되어있다면, 매도1호가는 263.05, 매도2호가는 263.10, 매수3호가는 263.15...이렇게 나가겠죠. 가령 현재 매수1호가가 263.00 인 상태에서 향후 매수1호가가 263.50이 되면 매도주문을 내도록 수식을 작성하고 싶다고 했을 때, 그것이 가능한지 궁금합니다. 매수1호가나 매도1호가를 특정할수 있는 변수가 예스랭귀지 내에 없다면 이런 수식은 작성할 수 없을 거 같은데요. 매수1호가와 매도1호가를 특정하여 수식을 작성할 수 있는 방법이 있는지 궁금합니다. 있다면 어떤 식으로 수식을 작성하면 되는지도 궁금하네요.
프로필 이미지
김태희
2015-04-14
158
글번호 85054
시스템
답변완료

60이평과 120이평 사이에 색깔을 입힐수 있나요?

1분봉 기준 60이평과 120이평 사이에 색을 바탕색과 달리 하고싶네요
프로필 이미지
날으는여우
2015-04-14
155
글번호 85043
강조
답변완료

종목 연동에 관하여.

예를들어, elw종목이 수천개가 있잖아요. 그럼 그중에서 거래량 10000주이상된 종목을 자동으로 차트에 적용되서 매매가 되게하는건 안되나요? 주식과 elw를 매매할려고하는데, 좋은 알고리즘은 있으나 사람이 일일이 확인하고 집어넣는게 힘들어서 혹시 자동으로 찾아서 알아서 차트에 적용시키는건 없나 여쭈어봅니다. 수고하세요.
프로필 이미지
대구어린울프
2015-04-14
153
글번호 85041
검색