커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식부탁드립니다

수고많으십니다. 아래 조건을 수식으로 부탁드립니다. --- 매수 기준 --- 1. 일봉기준으로 2. 시가보다 10틱 아래면 매수 3. 만약 매수진입 후 MACD(10,20,9)조건으로 매도 사인이 나오면 매도(청산) 4. 만약 3번 조건이 2번 조건보다 먼저 나오면 매매 성립 안됨, 즉 3번의 매도가 안됨 5. 2번 조건이 성립되어 매수 후 3번 조건이 안되어 계속 홀딩될 경우 새벽 5시 30분에 청산 --- 매도 기준 ---- 1. 일봉기준으로 2. 시가보다 10틱 위면 매도 3. 만약 매수진입 후 MACD(10,20,9)조건으로 매수 사인이 나오면 매수(청산) 4. 만약 3번 조건이 2번 조건보다 먼저 나오면 매매 성립 안됨, 즉 3번의 매수가 안됨 5. 2번 조건이 성립되어 매도 후 3번 조건이 안되어 계속 홀딩될 경우 새벽 5시 30분에 청산
프로필 이미지
장안
2020-10-05
753
글번호 142824
시스템

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

프로필 이미지
chunsk
2020-10-05
9
글번호 142823
시스템
답변완료

수익선그리기 수정 요청 드립니다.

* 수식 작성에 많은 도움 고맙습니다. * 아래 수식은 잘쓰고 있는데 차트에 표시된 수치와 성능보고서 와 차이가 나는데 어느부분을 수정 해야 하나요? ▶ 아프리카TV → "sotiman" 검색 라이브 방송 에 보시면 화면에 보입니다. ## 그리기 var : TL(0),str(""),TX9(0); if TotalTrades > TotalTrades[1] Then TL_Delete(TL); if MarketPosition == 1 then { if PositionProfit(0) > 0 then str = "수익 : "+NumToStr(abs(C-entryprice),2); else str = "손실 : "+NumToStr(abs(C-entryprice),2); if BarsSinceEntry == 1 then { TL = TL_new(entrydate,entrytime,entryprice,sdate,stime,c); TX9 = text_new(sdate,stime,C,str); TL_SetSize(TX9,3); } else { TL_setend(TL,sdate,stime,c); text_setlocation(tx9,sdate,stime,c); Text_SetString(TX9, str); } if PositionProfit(0) > 0 then TL_setcolor(TL,red); else TL_setcolor(TL,blue); } if MarketPosition == -1 then { if PositionProfit(0) > 0 then str = "수익 : "+NumToStr(abs(C-entryprice),2); else str = "손실 : "+NumToStr(abs(C-entryprice),2); if BarsSinceEntry == 1 then { TL = TL_new(entrydate,entrytime,entryprice,sdate,stime,c); TX9 = text_new(sdate,stime,C,str); TL_SetSize(TX9,3); } else { TL_setend(TL,sdate,stime,c); text_setlocation(tx9,sdate,stime,c); Text_SetString(TX9, str); TL_SetSize(TX9,3); } if PositionProfit(0) > 0 then TL_setcolor(TL,red); else TL_setcolor(TL,blue); } * 매번 고맙습니다. 수고하십시요.
프로필 이미지
요타
2020-10-05
867
글번호 142822
시스템
답변완료

시스템 부탁드립니다

- 분봉테스트 - 하루 시작의 5봉중 3봉이 양이고 - 6번째 봉부터 진입 - 직전봉의 고점을 돌파하고 양봉으로 마감하는 봉의 종가에 매수 진입 - 매수 청산 및 손절- - 진입한 직전봉의 저가에 손절 - 또는 직전봉 저점을 돌파하는 음봉으로 마감시 봉의 종가에 매수 청산 - 또는 15:20분에 매수 청산 혹시몰라 그림을 추가했습니다^^ 부탁드려요~
프로필 이미지
회원
2020-10-05
859
글번호 142821
시스템
답변완료

추가좀 부탁드립니다

아래의 수식에 상하단 밴드 안으로 4등분 선좀 부탁드립니다. input : 기간(20),k(0.03); var1 = highest(H,기간)[1]; var11 = var1*(1+k/100); var2 = lowest(L,기간)[1]; var22 = var2*(1+k/100); plot1(var1,"고점"); plot2(var11,"고점+k%"); plot3(var2,"저점"); plot4(var22,"저점+k%");
프로필 이미지
회원
2020-10-04
1046
글번호 142820
지표
답변완료

이동평균 최대치?

안녕하세요, 적합 이동평균 최대치가 있는지 궁금합니다. 예를들면 10000 이평, 20000 이평 이렇게 큰 숫자의 적합이동평균이 가능한건지, 아니면 최대치가 있는지 궁금합니다. 적합이동평균 숫자를 크게 늘려 보니 예상되는 지표가 안나오고 한계치가 있는 것 같아서요..
프로필 이미지
김예스
2020-10-04
940
글번호 142819
지표
답변완료

문의 드립니다.

안녕하세요 추석연휴 잘보내셨즌지요..ㅎㅎ 키움 수식을 예스로 변환좀 부탁드립니다. 수식1 aa=ma(가격,기간,이평종류); bb=if(aa(1)<=aa,1,-1); sum(bb) 수식2 aa=ma(가격,기간,이평종류); bb=if(aa(1)<=aa,1,-1); cc=sum(bb); if(cc(1)<=cc,cc,0) 수식3 aa=ma(가격,기간,이평종류); bb=if(aa(1)<=aa,1,-1); cc=sum(bb); if(cc(1)>=cc,cc,0) 수식4 0 지표조건설정 가격 종가 기간 60 이평종류 삼각 이런수식인데요... 선이 상승시에는 빨간선이 하락시에는 파란선이 나오게 하고 싶습니다. 괜찮으시다면 키움차트에 있는 강세약세 처럼 만드는 수식도 같이 만들어 주시면 감사하겠습니다. 감사합니다.
프로필 이미지
로꼬로꼬
2020-10-03
1025
글번호 142818
지표
답변완료

분봉에서..

안녕하세요. 항상 감사드립니다. 분봉에서 바이너리MACD 의 일봉, 주봉 값을 계산해서 쓰고 싶은데요. data2로는 안될 것 같은데.. data2말고 계산해서 쓸 수 있는 방법이 있을까요? 가이드 부탁드립니다.
프로필 이미지
롬롬7
2020-10-03
1031
글번호 142817
시스템
답변완료

문의드립니다.

아래수식을 예스로 부탁합니다. rsiSource = input(title="RSI Source", type=input.source, defval=close) rsiLength = input(title="RSI Length", type=input.integer, defval=7) rsiOverbought = input(title="RSI Overbought", type=input.integer, defval=70, minval=51, maxval=100) rsiOvesold = input(title="RSI Oversold", type=input.integer, defval=30, minval=1, maxval=49) rsiValue = rsi(rsiSource, rsiLength) isOverbought = rsiValue >= rsiOverbought isOversold = rsiValue <= rsiOvesold var laststate = 0 var hh = low var ll = high var label labelll = na var label labelhh = na var line line_up = na var line line_down = na var last_actual_label_hh_price = 0.0 var last_actual_label_ll_price = 0.0 obLabelText() => if(last_actual_label_hh_price < high) "HH" else "LH" osLabelText() => if(last_actual_label_ll_price < low) "HL" else "LL" createOverBoughtLabel(isIt) => if(isIt) label.new(x=bar_index, y=na ,yloc=yloc.abovebar, style=label.style_label_down, color=color.red, size=size.tiny, text=obLabelText()) else label.new(x=bar_index, y=na ,yloc=yloc.belowbar, style=label.style_label_up, color=color.green, size=size.tiny, text=osLabelText()) moveOversoldLabel() => label.set_x(labelll, bar_index) label.set_y(labelll, low) label.set_text(labelll, osLabelText()) line.set_x1(line_down, bar_index) line.set_y1(line_down, low) moveOverBoughtLabel() => label.set_x(labelhh, bar_index) label.set_y(labelhh, high) label.set_text(labelhh, obLabelText()) line.set_x1(line_up, bar_index) line.set_y1(line_up, high) if(laststate == 2 and isOverbought) hh := high labelhh := createOverBoughtLabel(true) last_actual_label_ll_price := label.get_y(labelll) labelll_ts = label.get_x(labelll) labelll_price = label.get_y(labelll) line_up := line.new(x1=bar_index, y1=high, x2=labelll_ts, y2=labelll_price, width=1) if(laststate == 1 and isOversold) ll := low labelll := createOverBoughtLabel(false) last_actual_label_hh_price := label.get_y(labelhh) labelhh_ts = label.get_x(labelhh) labelhh_price = label.get_y(labelhh) line_down := line.new(x1=bar_index, y1=high, x2=labelhh_ts, y2=labelhh_price, width=1) if(isOverbought) if(high >= hh) hh := high moveOverBoughtLabel() laststate := 1 if(isOversold) if(low <= ll) ll := low moveOversoldLabel() laststate := 2 if(laststate == 1 and isOverbought) if(hh <= high) hh := high moveOverBoughtLabel() if(laststate == 2 and isOversold) if(low <= ll) ll := low moveOversoldLabel() if(laststate == 1) if(hh <= high) hh := high moveOverBoughtLabel() if(laststate == 2) if(ll >= low) ll := low moveOversoldLabel()
프로필 이미지
as8282
2020-10-03
1157
글번호 142816
지표