커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식정말고맙습니다.

얼만전 만들어주신 수식정말고맙습니다. 지금정말 잘 쓰고 있습니다.
프로필 이미지
감자골2
2011-05-19
736
글번호 38821
시스템
답변완료

수식부탁드립니다-----------

Input : osLENGTH1(40), osperiod(3),temLENGTH1(200),전봉차(2); Var : osvalue(0); Var : ostema1(0); osvalue = ma(bids,osperiod)-ma(asks,osperiod); ostema1 = (3 * Ema(osvalue,osLENGTH1)) - (3 * Ema(Ema(osvalue,osLENGTH1),osLENGTH1)) + (Ema(Ema(Ema(osvalue,osLENGTH1),osLENGTH1),osLENGTH1)); var77 = (3 * Ema(c,temLENGTH1)) - (3 * Ema(Ema(c,temLENGTH1),temLENGTH1)) + (Ema(Ema(Ema(c,temLENGTH1),temLENGTH1),temLENGTH1)); if stime >= 090100 and stime < 145900 then { #진입========================================================= If MarketPosition == 0 and ostema1[1] > ostema1[2] and ostema1 > ostema1[1] and var77[1] >=var77[2]+전봉차 Then buy("b",AtLimit,H-PriceScale*3); If MarketPosition == 0 and ostema1[1] < ostema1[2] and ostema1 < ostema1[1]and var77[1] <=var77[2]-전봉차 Then sell("s",AtLimit,l+PriceScale*3); SetStopLoss(PriceScale*3,PointStop); SetStopProfittarget(PriceScale*2,PointStop); //시간청산-------------------- var11 = int(date/100)-int(date/10000)*100; //월 var22 = date - int(date/100)*100; //일 var33 = DayOfWeek(date); //요일 if var11%3 == 0 and var22 >= 8 and var22 <= 14 and var33 == 4 then { SetStopEndofday(144800); //만 } else { SetStopEndofday(150100); //평 } } 위 진입과 청산에 각기 다른소리 나게해 주세요
프로필 이미지
leekss1
2011-05-19
682
글번호 38819
검색
답변완료

문의드립니다

If C>C[1] then begin var1 = int(c); end; ------------------------------------------ If C>C[1] then begin end; var1 = int(c); ------------------------------------------- var의 위치만 바뀐 형탠데, 결과는 크게 달라 집니다 어떤 차이죠?
프로필 이미지
회원
2011-05-19
701
글번호 38817
시스템
답변완료

샹들리에 청산을 이익이 얼마이상이면 시작

1 ATRT 상들리에 청산을 이익이 얼마이상이면 작동시킬려면 어떻게 해야한나여? if marketposition == 1 and positionprofit > 코스피1포인트 then exitlong ("", , c- highest(H, barsinceentry)*atr(atrp)*mult);
프로필 이미지
기초부터다시
2011-05-19
816
글번호 38816
시스템
답변완료

MarketPosition관련하여

다음과 같이 식을 짜보았습니다. BuyPrice = Close - PriceScale * 10; // 종가보다 10호가 낮은가격으로 매수 Buy("B", AtLimit, BuyPrice); //Buyit가격 도달시 매수 MessageLog("콜매수, 포지션=%.0f, 종가=%.2f, 주문가격=%.2f", MarketPosition, Close, BuyPrice); 그런데 결과는 다음과 같습니다. 매수, 포지션=0, 종가=3.60, 주문가격=3.10 포지션이 0으로 찍히는것은 왜그런지요?
프로필 이미지
고무
2011-05-19
697
글번호 38815
시스템
답변완료

문의드립니다.

당일 첫봉의 종가를 기준으로 1p변동될때마다 (봉완성시) 지표로 표시하려합니다. 예를들어 첫봉의 종가가 200 이라면 다음봉이 0.5 상승 그 다음봉이 0.8상승 이렇다면 0.8상승한 싯점에 표시가 되고 이때 기준선은 201.3이되고 다시 이 봉의 종가를 기준으로 1p이상 종가상변동된 싯점을 표시합니다. 기준은 1p이상만 변동되면 됩니다. 한봉에 2p ..3p상승해도 상관없습니다. 다만 그 구분되는 지점이 표시되면 이제 그봉의 종가를 기준으로 1p이상변동하면 됩니다. 부탁드립니다.
프로필 이미지
산인
2011-05-19
672
글번호 38814
지표
답변완료

건의 사항

안녕하세요.. 건의 사항이 있는데, 검토해주시면 감사하겠습니다. 현재 시스템으로 한 계좌에서 포트폴리오를 구성하여 실매매를 할 경우, 체결내역란에는 포지션의 매수,매도만 표시되어 어떤 시스템에서 어떤 매매가 이루어졌는지 알 수가 없습니다. 물론 하나의 화면에 하나의 시스템이 연결되므로 해당 화면에서 성과보고서상 거래내역과 실거래를 일일이 비교할 수도 있으나, 이 역시 손이 많이 가는 작업입니다. 그래서 약간 방법을 달리하여, 계좌수를 늘려가면서 포트에 편입된 시스템 한개당 한개의 계좌를 배분하여 운용하고 있습니다. 제가 이렇게 분리하여 매매를 하는 이유는 만일에 발생할 수 있는 로직의 오류 및 미체결 사유등을 쉽게 발견할 수 있기 때문입니다. 그런데 이런 방법을 사용하다 보니 번거로운 점이 많을 수 밖에 없습니다. 그래서 만약 YT에서 가능하다면, 한 계좌에서 포트를 운용할 경우를 고려하여 실매매 체결내역 부분에 해당 매수,매도가 어떤 시스템에서 발생한 것인지 시스템명이 같이 기록된다면 많은 도움이 될 것 같습니다. 이부분은 최근 시스템을 운용하고 있는 지인들과도 이야기 해 본 결과 다들 공감을 하는 부분이라 건의사항으로 말씀드리는 것이니 검토해주셨으면 좋겠습니다. (더블어 체결내역 조회시 주문번호순처럼 '시스템명'순으로도 정렬이 가능하면 더욱 좋을 것 같으네요) 그럼 오늘도 활기찬 하루되시기를 바라며, 감사합니다~
프로필 이미지
새로운세상
2011-05-19
718
글번호 38813
시스템
답변완료

문의드립니다

하한가 시현종목중에서 매수잔량이 남아있는 종목을 검색할 수 있는 수식을 부탁드립니다.
프로필 이미지
민기삼촌
2011-05-19
775
글번호 38806
검색
답변완료

진입질문입니다.

inputs : p1(2), p2(2), pb3(3), vap(3); var : AA(0); var1 = ma(abs(c-o),1)-ma(abs(c-o),3); var3 = ma(H-H[1],p1)-ma(H-H[1],p1)[vap]; var4 = ma(L-L[1],p1)-ma(L-L[1],p1)[vap]; var5 = ma(C,p2)-ma(C,p2)[pb3]; Inputs : mp1(3), mp2(60), slg(5), vlg(10), sb(3), swb(30); Var : ma1(0), ma2(0); Ma1 = ma(c,mp1); ma2 = ma(c,mp2); if swinghighbar(1,ma1,sb,sb,swb) < swinglowbar(1,ma1,sb,sb,swb) Then Condition1 = true; Value2 = swinghigh(1,C,sb,sb,swb); Value1 = swinglow(1,C,sb,sb,swb); if swinghighbar(1,ma1,sb,sb,swb) > swinglowbar(1,ma1,sb,sb,swb) Then Condition2 = true; Value3 = swinghigh(1,C,sb,sb,swb); Value4 = swinglow(1,C,sb,sb,swb); if condition2==true Then condition1 = false; if condition1== true Then condition2 = false; // buy 진입조건 if MarketPosition>=0 and var1[1]<var1 and var3[1]<var3 and var4[1]<var4 and var5[1]<var5 and condition1==true Then buy("b"); //sell 진입조건 if MarketPosition<=0 and var1[1]<var1 and var3[1]>var3 and var4[1]>var4 and var5[1]>var5 and condition2==true Then sell("s"); inputs : st(5), ts(20), tp(150),sl(25); SetStopLoss((PriceScale*10)*sl,PointStop); SetStopProfittarget((PriceScale*10)*tp,PointStop); SetStopTrailing((PriceScale*10)*st,(PriceScale*10)*ts,PointStop); 항상감사드립니다 위 식 가동은 되는데 1. 성과보고에 매수 불능 매도만 이루어 집니다. 컨디션 2를 제외하면 매수가 이루어지는데, 컨디션 2를 활성시키면 역시매수가 불능이 되는군요 컨디션 해제 조건의 문제인가요? 진입조건의 문제인가요? 검토를 부탁드립니다. 2. 위 경우 챠트에서 진입조건 봉에 강조표시식과 알람을 가동시 수식을 부탁드립니다. 3. 매수조건으로 2회 진입하는 조건식을 condition1=true 로 한다음 청산조건까지 이를 이용하고 매수진입분이 청산되면 false 로 하고싶은데 조건식은 어떻게 됩니까? 4. 일정가격 돌파시 진입분 청산과 동시에 반대포지션 진입 수식을 부탁드립니다. 감사합니다.
프로필 이미지
골드핑거
2011-05-19
768
글번호 38805
지표