커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

이상합니다-------------

Input : LENGTH1(11), period(1); Var : value(0); Var : TEMA1(0); value = ma(bids,period)-ma(asks,period); TEMA1 = (3 * Ema(value,LENGTH1)) - (3 * Ema(Ema(value,LENGTH1),LENGTH1)) + (Ema(Ema(Ema(value,LENGTH1),LENGTH1),LENGTH1)); If TEMA1 > TEMA1[1] Then { Plot1(TEMA1, "매수총잔량 우위"); Plot2(0, "매도총잔량 우위"); PlaySound("d:w리딩스타wDatawalert.wav"); } Else{ Plot1(0, "매수총잔량 우위"); Plot2(TEMA1, "매도총잔량 우위"); } PlaySound("d:w리딩스타wDatawmesu.wav"); PlotBaseLine1(0,"기준선"); #Print("d:₩오실테마.csv",",테마11오실1, %.2f, ",TEMA1); 위와같이하고 대상폴더에도 다른 화일이 있는데 같은 소리가나요
프로필 이미지
leekss1
2011-05-06
610
글번호 38350
검색
답변완료

수식 문의드립니다.

안녕하세요. 수식문의드립니다. 해 봤는데 제대로 안나와서요. 1.10분봉 기준으로해서...1%길이의 양봉다음에 음봉이 완성되는 순간 조건1로 규정하며.. 양봉+음봉 짝중에 양봉의 O(시작가)만을 기억한다. 2. 그 이후의 봉부턴 1개부터 ~10개정도까지 경과하더라도 기억된 O는 유지. (진입없이10봉 경과하면 초기화 or 거래 생기고 청산되도 초기화) 3. c가 그 O를 하회하면 매도한다. (봉완성후) 4. 조건1울 초기화를 해줘야 하겠죠? (안해주면 하루종일 그 O만을 기억하게 되는 거 맞죠?) 1) 날짜가 바뀌어도 초기화된다. 2) 진입청산없이(보유량없이) 10봉 경과하면 초기화. 3) 매도했다가..성공했던 실패했던 일단 청산되면..그때부터 조건1은 RESET초기화. 제가 Try 해본 것입니다. (어디가 틀리거나 부족했을까요?) ----------------------------------------------------------------------- # 양봉+음봉 커플의 수식구현... If C[1] > O[1] #1) 전봉 양봉 and O > C #2) 현재봉 음봉 Then { conditon1 = true Var77 = O[1] #3) 전봉인 양봉 시작가 기억 } #초기화 if date != date[1] or 청산후엔 초기화 (어떻게 표현?) or 보유량없이 Barssince조건A > 10 (어떻게 표현?) then Condition1 = false; 이렇게 세팅해두고... #매도진입 if Conditon1 = true AND C < VAR77 # 기억된 O를 하회하면 매도 then Sell("매도"); -------------------------------------------------------- 가급적 위의 패턴에서 뭐가 잘못되었는지 수정해주시면 가장 좋겠고요... 힘드시면 맨위의 1,2,3,4를 그냥 새로 디자인하셔도 좋습니다. (O에 대한 것, 진입청산후 초기화 )......심플할 수록 좋아요..^^; 그럼 수고많이하세요^^
프로필 이미지
wizard
2011-05-06
719
글번호 38348
시스템
답변완료

해외선물관련

해외선물 모의투자중입니다 9개 종목을 한 화면에 띄워놓고 자동주문을 내는데, 진입시 1계약만 하기를 원하는데 자꾸만 2계약이상이 되네요. 피라미딩에서 주문수량을 1개로 해도 그렇네요. 수식을 새로 짜서 넣어야 하는지? 답변부탁합니다
프로필 이미지
성복
2011-05-06
699
글번호 38347
검색
답변완료

시스템식 문의드립니다

매수진입입니다. 1. 15일 기간이내 양봉이 10개 미만일때 매수진입 2. 거래량이동평균선 5일선이 8000주 이하일때 매수진입 매도진입입니다. 1. 7일 기간이내 최저가 갱신 2. 종가가 4봉연속 볼린져밴드(20,2) 이평선보다 작을때 항상 감사드립니다.
프로필 이미지
새마귀
2011-05-06
641
글번호 38346
시스템
답변완료

질문입니다.

data2의 첫번째봉 종가를 정확히 잡으려면 어떻게 해야 하나요? data2의 첫번째봉 종가 if dayindex==0 then var2=data2(c); if data2(dayindex==0) then var2=data2(c); 두 값이 다르게 적용되는 것 같은데... 왜 그런가요? 두번째 것이 맞나요?
프로필 이미지
한걸음씩
2011-05-06
620
글번호 38337
시스템
답변완료

밑에꺼 18448 말고 이걸로 봐주세요.

밑에껀 삭제가 안 되네요... 다음 수식 작성 부탁드립니다. 1초봉을 사용하구요. 10시 이후에 당일 최고점(9시 장시작이후부터 봤을 때 최고점입니다)을 돌파하면 매수하고, 진입 시점 이후의 최고가 대비 30% 하락시 매도하는 수식 작성 부탁드립니다. 거래기준 시간은 9시 부터 3시까지만 하도록, 즉, 매수 후에 매도 조건이 충족 안 되었어도 3시가 되면 모두 청산할 수 있게 부탁드립니다. 그리고, 매수와 매도는 하루에 한 번만 일어나도록, 다시말해서 매수 이후 매도 했으면 다시 매수하지 않도록 작성 부탁드립니다. 밑에 유사한 식을 문의드린 적이 있는데 시물레이션 결과, 매수청산 후에 '매도'진입을 하는 것으로 나옵니다. 실제 적용 결과는 다를 수도 있지만 일단 시물레이션상에서는 의도와 다르게 '매도'진입이 나오니 적용하기가 부담스럽네요. '매도' 진입이 일어나지 않도록 수식작성 부탁드립니다. 감사합니다.
프로필 이미지
은색
2011-05-06
630
글번호 38336
시스템
답변완료

수식 작성 부탁드려요

1초봉을 사용하구요. 10시 이후에 당일 최고점(9시 장시작이후부터 봤을 때 최고점입니다)을 돌파하면 매수하고, 진입 시점 이후의 최고가 대비 30% 하락시 매도하는 수식 작성 부탁드립니다. 매수와 매도는 하루에 한 번만 일어나도록, 다시말해서 매수 이후 매도 했으면 다시 매수하지 않도록 작성 부탁드립니다. 밑에 유사한 식을 문의드린 적이 있는데 시물레이션 결과, 매수청산 후에 '매도'진입을 하는 것으로 나옵니다. 실제 적용 결과는 다를 수도 있지만 일단 시물레이션상에서는 의도와 다르게 '매도'진입이 나오니 적용하기가 부담스럽네요. '매도' 진입이 일어나지 않도록 수식작성 부탁드립니다. 감사합니다.
프로필 이미지
회원
2011-05-06
595
글번호 38335
시스템

dqzero 님에 의해서 삭제되었습니다.

프로필 이미지
dqzero
2011-05-06
96
글번호 38334
시스템
답변완료

산식수정요망

작성해주신 산식으로 작업하다 보니..... if part01 != 0 and part01[1] == 0 Then{ var50합계=0; var51합계=0; idx = 0;#봉갯수 } 이렇게 정의된 부분이 있어서 part01 != 0일때의 var50,var51합계가 0으로 나타나더군요 제가 만든 지표의 속성상 통상 이부분에서 var51,52의 신호가 많이 떨어지는데... 애초 아래와 같이 index를 정의 한 이유는 if Padong[2]==Padong[1] and Padong[1]<Padong[0] and Padong[1]==-5 Then PadongI01=index[1]; if Padong[2]>Padong[1] and Padong[1]==Padong[0] and Padong[1]==-5 Then PadongI02=index[1]; if CrossUp(Padong,0) Then PadongI03=index; if Crossdown(Padong,0) Then PadongI04=index; 제가 원하는 구간을 인덱스만 가지고 통제하기 위해서였읍니다만 능력부족으로 ... part01 != 0일때부터 합계가 시작되게 하려면 어떻게 해야 하는지요? 부탁드립니다 var : TX20(0),TX40(0),TX60(0),TX80(0),TX100(0); var : TR20(0),TR40(0),TR60(0),TR80(0),TR100(0); TX40 = ema(TRIX(20),18); TR20 = TRIX(20); TX40 = ema(TRIX(40),32); TR40 = TRIX(40); TX60 = ema(TRIX(60),48); TR60 = TRIX(60); TX80 = ema(TRIX(80),64); TR80 = TRIX(80); TX100 = ema(TRIX(100),80); TR100= TRIX(100); var : Padong(0),Part01(0); Padong=iff(TR20>TX20,1,-1)+iff(TR40>TX40,1,-1)+iff(TR60>TX60,1,-1) +iff(TR80>TX80,1,-1)+iff(TR100>TX100,1,-1); var: PadongI01(0),PadongI02(0),PadongI03(0),PadongI04(0),PadongI05(0),PadongI06(0),PadongI07(0); if Padong[2]==Padong[1] and Padong[1]<Padong[0] and Padong[1]==-5 Then PadongI01=index[1]; if Padong[2]>Padong[1] and Padong[1]==Padong[0] and Padong[1]==-5 Then PadongI02=index[1]; if CrossUp(Padong,0) Then PadongI03=index; if Crossdown(Padong,0) Then PadongI04=index; ####################### # 구간신호 # ####################### //var : part01(0); var52=0; var: 상황01(False); If Padong>Padong[1] and Padong[1]==-5 Then { 상황01=true; part01=5; } If CrossUp(Padong,0) or (상황01==True and Padong<Padong[1] and Padong==-5) Then { // 상황01= False; part01=0; } var50=iff(part01==5 and C>C[1] and C>ma(c,5),1,0); var51=iff(part01==5 and C>O and C>ma(c,5),1,0); If part01[1]==5 and part01==0 and Padong[1]<0 and Padong>0 Then var52=10; var:var50합계(0),var51합계(0),idx(0); if part01 != 0 and part01[1] == 0 Then{ var50합계=0; var51합계=0; idx = 0;#봉갯수 } if part01 > 0 Then{ idx = idx+1; var50합계 = var50합계+var50; var51합계 = var51합계+var51; } Plot10(var50합계/idx); Plot11(var51합계/idx);
프로필 이미지
티끌
2011-05-06
629
글번호 38333
지표