커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

1분봉에 N분봉 거래량 표시

감사합니다. 1. 1분봉에 N분봉 거래량을 표시하고 싶습니다. N분봉 변수로 해 주십시오. 예) 1분봉에 15분봉 거래량 표시 2. 1분봉에 N분봉 첫봉과 마지막봉을 제외한 거래량을 표시하고 싶습니다.
프로필 이미지
jdavid
2022-09-20
1182
글번호 162343
지표
답변완료

Netprofit 문의좀 드립니다.

안녕하세요 고생이 많으십니다. 해외선물 이용중입니다. 제가 현재 시드를 포인트로 환산해서 input으로 입력하고 거기에 Netprofit을 더해서 시드가 늘어날때마다 계약수가 자동으로 늘어나게끔 시스템식을 짰습니다 ex) input = 최초투입금액(50000); 운용금액 = 최초투입금액 + netprofit 리스크 = 운용금액*0.02 ; 계약수 = 리스크/손절pt; If ~~~ then buy ("롱진입",atmarket,def,계약수); 이런식입니다. 백테스트때는 봉 개수가 9999개 제한이 없어서 잘 적용이되는데요, 1분봉기준으로 돌리다보니 시스템 실제 적용시에는 봉이 최대 9999개밖에 표시가 되지않아서 아침에 초기화때문에 다시 켤때마다 봉이 점점 사라지다 보니 과거 거래내역이 점차 사라져서 netprofit에 변동이 생기고 있는 상황입니다. 그래서 결국 매일 아침마다 어제의 손익을 확인하여 운용금액을 포인트로 환산하고 재조정 해주고 있는데요, 1. 전략실행차트를 끄지 않으면 봉이 9999개를 넘어도 봉이 추가가 되는데 아침에 초기화 재접속때문에 다시 켜면 최근봉 기준으로 9999개가 다시 불러와지면서 과거 9999개를 초과하는 봉들은 삭제되는것으로 이해했는데 맞을까요? 혹시 그렇다면, 아침에 초기화 재접속때 차트가 안꺼지게 하는 방법은 없을까요 ㅜ 2. 혹시 netprofit의 측정 시작지점을 특정시점으로 고정할 수 있는 방법이 있을까요? 3. 혹시 2번이 어렵다면 다른 방법은 없을까요...? 감사합니다.
프로필 이미지
911gt3rs
2022-09-20
1287
글번호 162342
시스템
답변완료

문의 드립니다.

아래는 트래이딩 뷰 지표입니다. 지표 전환 가능할까요? 감사합니다. indicator(title="Hull Moving Average", shorttitle="HMA", overlay=true, timeframe="", timeframe_gaps=true) length3 = input.int(20, minval=1) src5 = input(close, title="Source") hullma1 = ta.wma(2*ta.wma(src5, length3/2)-ta.wma(src5, length3), math.floor(math.sqrt(length3))) plot(hullma1, color=color.rgb(224, 64, 251), linewidth = 3)
프로필 이미지
alltoone
2022-09-20
1337
글번호 162338
지표
답변완료

안녕하세요 믄의드립니다

1.볼린져밴드와 RSI를 한지표안에 구현하게 부탁드립니다 2.볼린져밴드와 MACD를 한지표안에 구현하게 부탁드립니다 3.볼린져밴드와 Stochastics Slow를 한지표안에 구현하게 부탁드립니다 모두 각 기간값을 변수로 조정가능하게 부탁드립니다 감사합니다
프로필 이미지
급등주
2022-09-20
1072
글번호 162337
지표

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

프로필 이미지
alltoone
2022-09-20
1
글번호 162335
지표
답변완료

문의 드립니다!

1, 아래 78834 답변관련하여 추가문의 드립니다 수식을 국선 분봉에 적용해본결과 plot5, plot6, plot7 선이 보이지않는데요 * 기본챠트속성창에서 "화면(기본챠트)"에 지정된 챠트입니다 "화면(기본챠트*지표))"에 지정시는 챠트가 상하로 벌어져서 캔들을 볼수가없네요 무엇이 문제인지 한번더 검토 부탁드리겠습니다 2, 아래수식중 제가 올린 원본수식의 아래부분에 해당되는 선이 대상입니다 * if trend == 1 Then plot1(upv,"Trend",MAGENTA); Else plot1(dnv,"Trend",blue); (1) 이수식을 서로 다른 조건의 행사가에 적용시는 선이 다르게 발생되는데요 예를들어 1분봉과 2분봉에 적용시 각각 선이 다른위치에 나타납니다 * 첫번째선은 data1에 지정하고 두번째선은 data2에 지정 (2) 이 2개의 선과 선사이에 색상을 입힐수있는 방법이 있을까요? 수식으로든 다른방법으로든 가능한 방법이 있다면 부탁드리겠습니다 감사합니다!!! -------------------------------------------------------------------------------- 안녕하세요 예스스탁입니다. input : n(2),P1(5),P2(20),P3(60); input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true); var : src(0),ATR2(0),ATrv(0),upv(0),dnv(0),trend(1); var : mav1(0),mav2(0),mav3(0); src = (h+l)/2; atr2 = ma(TrueRange, Periods); atrv = iff(changeATR, atr(Periods), atr2); upv = src-(Multiplier*atrv); upv = iff(close[1] > upv[1],max(upv,upv[1]), upv); dnv = src+(Multiplier*atrv); dnv = iff(close[1] < dnv[1],min(dnv, dnv[1]), dnv); trend = iff(trend == -1 and close > dnv[1] , 1 ,IFf(trend == 1 and close < upv[1] , -1 , trend)); if trend == 1 Then plot1(upv,"Trend",MAGENTA); Else plot1(dnv,"Trend",blue); if C > Plot1 Then plot2(999999999,"라인1"); Else plot2(0,"라인1"); var1 = Round(IFf(Trend == 1,upv,dnv),2); if CountIf(trend != 1,2) == 2 and H < var1-PriceScale*n and H[1] >= var1[1]-PriceScale*n Then plot3(999999999,"라인2"); Else plot3(0,"라인2"); if CountIf(trend == 1,2) == 2 and L > var1+PriceScale*n and L[1] <= var1[1]+PriceScale*n Then plot4(999999999,"라인3"); Else plot4(0,"라인3"); mav1 = round(ma(C,P1),2); mav2 = round(ma(C,P2),2); mav3 = round(ma(C,P3),2); if var1 == mav1 Then value11 = value1; if var1 == mav2 Then value12 = value1; if var1 == mav3 Then value13 = value1; if value11 > 0 Then plot5(value11,"Plot1-mav1일치"); if value12 > 0 Then plot6(value12,"Plot1-mav2일치"); if value13 > 0 Then plot7(value13,"Plot1-mav3일치"); 즐거운 하루되세요 > 유로파54 님이 쓴 글입니다. > 제목 : 문의 드립니다! > 안녕하세요! 일전에 작성해주신 수식 많은 도움이 될것같습니다 다시한번 감사드립니다!! 아래수식과 이평선이 동시에 만족될때(일치할때)의 수식도 한번더 부탁드립니다 이평선은 5일선 20일선 60일선을 예시로해서 3개의 선이 발생토록 부탁드립니다 --------------------------------------------------------- input : n(2); input : Periods(10),Multiplier(3.0),changeATR(true),showsignals(true),highlighting(true); var : src(0),ATR2(0),ATrv(0),upv(0),dnv(0),trend(1); src = (h+l)/2; atr2 = ma(TrueRange, Periods); atrv = iff(changeATR, atr(Periods), atr2); upv = src-(Multiplier*atrv); upv = iff(close[1] > upv[1],max(upv,upv[1]), upv); dnv = src+(Multiplier*atrv); dnv = iff(close[1] < dnv[1],min(dnv, dnv[1]), dnv); trend = iff(trend == -1 and close > dnv[1] , 1 ,IFf(trend == 1 and close < upv[1] , -1 , trend)); if trend == 1 Then plot1(upv,"Trend",MAGENTA); Else plot1(dnv,"Trend",blue); if C > Plot1 Then plot2(999999999,"라인1"); Else plot2(0,"라인1"); var1 = IFf(Trend == 1,upv,dnv); if CountIf(trend != 1,2) == 2 and H < var1-PriceScale*n and H[1] >= var1[1]-PriceScale*n Then plot3(999999999,"라인2"); Else plot3(0,"라인2"); if CountIf(trend == 1,2) == 2 and L > var1+PriceScale*n and L[1] <= var1[1]+PriceScale*n Then plot4(999999999,"라인3"); Else plot4(0,"라인3");
프로필 이미지
유로파54
2022-09-20
993
글번호 162334
지표
답변완료

수식문의

1.지표구현이 안돼서요.확인좀 부탁 합니다. Input:전환포인트(1); Var:j(0),upTr(100),dnTr(-100),trnd(0),TL(0), date11(0),date12(0),time11(0),time12(0),TL1(0), date21(0),date22(0),time21(0),time22(0),TL2(0), date31(0),date32(0),time31(0),time32(0),TL3(0); Array:hiVal[10](0),loVal[10](0),hiBar[10](0),loBar[10](0); var : TL13(0),TL14(0),color(0),Tx1(0),Tx2(0),tx3(0),tx4(0); for j = 1 to 9 { loBar[j] = loBar[j] + 1; hiBar[j] = hiBar[j] + 1; } if hiVal[0] <= H or hiVal[0] == 0 then { hiVal[0] = H; hiBar[0] = 0; } else { hiBar[0] = hiBar[0] + 1; } if loVal[0] >= L or loVal[0] == 0 then { loVal[0] = L; loBar[0] = 0; } else { loBar[0] = loBar[0] + 1; } if trnd != dnTr && hiVal[0] > H && hiVal[0]-전환포인트 > L then trnd = dnTr; else if trnd != upTr && loVal[0] < L && loVal[0]+전환포인트 < H then trnd = upTr; if trnd[1] == upTr and trnd == dnTr then { SELL(); for j = 8 downto 1 { hiVal[j+1] = hiVal[j]; hiBar[j+1] = hiBar[j]; } hiVal[1] = hiVal[0]; hiBar[1] = hiBar[0]; hiVal[0] = H; hiBar[0] = 0; loVal[0] = L; loBar[0] = 0; date11 = date[loBar[1]]; //추세선 시작일. 전저점의 날짜 time11 = stime[loBar[1]]; //추세선 시작시간 Value11 = loVal[1]; //추세선 시작가격 date12 = date[hiBar[1]]; //추세선 종료일. 전고점의 날짜 time12 = stime[hiBar[1]]; //추세선 종료시간 Value12 = hiVal[1]; //추세선 종료가격 TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); } if trnd[1] == dnTr and trnd == dnTr and hiVal[1] < hiVal[0] and hiVal[0]-전환포인트 > L then { hiVal[1] = hiVal[0]; hiBar[1] = hiBar[0]; hiVal[0] = H; hiBar[0] = 0; loVal[0] = L; loBar[0] = 0; date12 = date[hiBar[1]]; //추세선 종료일 time12 = stime[hiBar[1]]; Value12 = hiVal[1]; TL_SetEnd(TL1, date12,time12,Value12); if trnd[1] == dnTr and trnd == upTr then { BUY(); for j = 8 downto 1 { loVal[j+1] = loVal[j]; loBar[j+1] = loBar[j]; } loVal[1] = loVal[0]; loBar[1] = loBar[0]; loVal[0] = L; loBar[0] = 0; hiVal[0] = H; hiBar[0] = 0; date11 = date[hiBar[1]]; time11 = stime[hiBar[1]]; Value11 = hiVal[1]; date12 = date[loBar[1]]; time12 = stime[loBar[1]]; Value12 = loVal[1]; TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); } if trnd[1] == upTr and trnd == upTr and loVal[1] > loVal[0] and loVal[0]+전환포인트 < H then { loVal[1] = loVal[0]; loBar[1] = loBar[0]; loVal[0] = L; loBar[0] = 0; hiVal[0] = H; hiBar[0] = 0; date12 = date[loBar[1]]; time12 = stime[loBar[1]]; Value12 = loVal[1]; TL_SetEnd(TL1, date12,time12,Value12); } if trnd == upTr and loVal[2] > loVal[1] then{ TL_SetColor(TL1,BLUE); color = blue; } else if trnd == dnTr and hiVal[2] < hiVal[1] then{ TL_SetColor(TL1,RED); color = RED; } else { TL_SetColor(TL1,BLACK); color = BLACK; } TL_SetSize(TL1,2); TL_SetColor(TL2,RED); TL_SetColor(TL3,BLUE); 2. 분봉에서 첫봉이 완성되면, 첫봉의 고,저점이 당일 고가,저가가 됩니다. a지표 ; 이때, 첫봉포함 새로운 고점을 만든봉만의 고점 누적평균값.[이전 당일 고점과 동일가제외] b지표 ; " 저점을 " 저점 " [ " ] c지표 ; " , 첫봉포함 새로운 고점,저점을 만든봉들만의 고점,저점 평균값. 즉, 첫봉포함해서 신고점,저점을 만든 봉만을 평균 하고 싶은것입니다.
프로필 이미지
대발이
2022-09-20
1500
글번호 162333
지표
답변완료

질문드립니다

안녕하세요 어제 질문 답변 감사드립니다. 3% 이상 하락한 종목중에, DEMA 20선이 DEMA 60선을 상향돌파하는 종목 검색식을 만들어주셨는데요 DEMA20 선이 MA20(그냥 이평선)을 상햘돌파통과하는 것으로 만드는 것을 어려울까요? 원래 제가 이렇게 질문 드렸는데 DEMA 20/ DEMA60으로 주신건 이유가 있을 것 같지만 제가 평소 보는것은 DEMA20-MA20 인지라 한번 더 질문 드립니다. 다음 수식은 어제 답변 주셨던 내용입니다. 여기서 DEMA60 부분만 그냥 이평 20선으로 바꿔주시면 될 것 같습니다. 감사합니다. INPUTS: LENGTH1(20),LENGTH2(60); VARS : DEMA1(0),DEMA2(0); var1= EMA(C,LENGTH1); value1= EMA(EMa(C,LENGTH1),LENGTH1); var2= EMA(C,LENGTH2); value2= EMA(EMa(C,LENGTH2),LENGTH2); DEMA1 = var1 * 2 - value1; DEMA2 = var2 * 2 - value2; if C <= highest(H,30)*0.97 and CrossUp(DEMA1,DEMA2) Then Find(1);
프로필 이미지
견유학자
2022-09-19
1391
글번호 162332
종목검색

배움이 님에 의해서 삭제되었습니다.

프로필 이미지
배움이
2022-09-19
21
글번호 162330
시스템