커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다

분봉에서 일봉을 참조데이터로 사용하지않고 분봉차트에서 일봉의 볼린저밴드를 계산하는 수식 부탁드립니다 (당일 장중에 가격변화를 일봉의 볼린저밴드가 반영하도록 부탁드립니다)
프로필 이미지
jba
2021-06-28
1451
글번호 150318
지표
답변완료

추가 요청2

안녕하세요? 아래 매매로직을 12:00에 포지션 청산하는 것을 추가해 주시면 감사하겠습니다. ------------------ input : P1(5),P2(20); input : sto1(10),sto2(5),sto3(5); var : stok(0),stod(0); var : mav1(0),mav2(0),T(0); stok = stochasticsK(sto1,sto2); stod = stochasticsD(sto1,sto2,sto3); mav1 = ma(C,P1); mav2 = ma(C,P2); if CrossUp(mav1,mav2) Then T = 1; if CrossDown(mav1,mav2) Then T = -1; if T == 1 and CrossUp(stok,stod) Then { T = 2; Buy("b"); } if T == -1 and CrossDown(stok,stod) Then { T = -2; Sell("s"); } SetStopProfittarget(1.2,PointStop); SetStopLoss(1,PointStop);
프로필 이미지
손추
2021-06-28
1661
글번호 150313
시스템
답변완료

수식 검토 요청 드립니다 (미리 감사드립니다)

안녕하세요, 다음과 같은 전략을 아래와 같이 YesLangauge로 구현하였고 코스닥 선물에 돌리려고 하는데 맞는지 검증좀 부탁 드리려고요. 전략(일봉 기준으로 오늘 봤을때) 조건: 어제의 종가 < 그저께 종가 매도: 오늘의 종가 매도청산: 다음날 시가 다만 실제로 적용할때는 (전략은 일봉 기준으로 작성했지만) 5분봉을 열고 아래의 코드를 적용해야함(?) If NextBarSdate!=sDate and DayClose(1)<DayClose(2) and MarketPosition == 0 Then { Sell("Sell", OnClose); } ExitShort("ExitSell",AtMarket); 1) Yes트레이더에서 시스템트레이딩->전략실행 차트 선택 2) 106R9000 (KQ150 F 2109)를 열고 5분 봉으로 300바를 선택하고 확인 누름 3) 차트에서 우클릭 -> 적용 -> 시스템트레이딩에서 시스템 트레이딩 설정을 아래와 같이함 - 1계약만 거래하려면 비용/수량 tab에서 동일수량(계약)진입에서 거래수량을 1로 세팅 - 매매 tab에서 자동주문을 선택 처음 거래를 진행하려고 하는데 실제로 시스템을 연동하고 돌리려니 뭔가 좀 많이 햇갈리네요 ㅠ 혹시 시스템을 실제로 연동해서 돌리는데 참고할 만한 자료가 있을까요? 매번 너무 감사드립니다.
프로필 이미지
mildred
2021-06-28
2254
글번호 150312
시스템
답변완료

부탁드립니다

아래 trading view 에 있는 atr trading stop 지표를 예스수식으로 변환부탁드립니다. //=========================// study("ATR Trailing Stoploss",overlay=true) Atr=input(defval=5,title="Atr Period",minval=1,maxval=500) Hhv=input(defval=10,title="HHV Period",minval=1,maxval=500) Mult=input(defval=2.5,title="Multiplier",minval=0.1) Prev = highest(high-Mult*atr(Atr),Hhv),barssince(close>highest(high-Mult*atr(Atr),Hhv) and close>close[1]) TS = iff(cum(1)<16 ,close,iff( close > highest(high-Mult*atr(Atr),Hhv) and close>close[1],highest(high-Mult*atr(Atr),Hhv),Prev)) Color=iff(close>TS,color.green,iff(close<TS,color.red,color.black)) plot(TS,color=Color,linewidth=3,title="ATR Trailing Stoploss")
프로필 이미지
당일선물
2021-06-28
1966
글번호 150311
지표
답변완료

조건에 맞을때 매수매도 시스템

안녕하세요 수식에 관해 도움을 주셔서 늘 감사드립니다. 아래와 같은 조건에서의 시스템식을 구현했으면 합니다. 수치는 모두 변경 가능하면 좋겠습니다. A . 매수의경우 - 볼밴 60 하단선 위에 있을때 다음과 같은 경우에만 매수신호 1. 일목 기준선 (26)위에 가중이평 20선을 가중이평 5선이 크로스할때 매수신호. 2. 단순 60 이평위에 있는 가중이평 20선을 가중이평 5선이 크로스할때 매수신호. 3. 볼밴 20 의 하단선이 최저에 있는 상태에서 다음 볼밴 20선의 하단선이 계단처럼 한단계 높아졌을때 가중이평 20선을 가중이평 5선이 크로스할때 매수신호. A . 매수의경우 - 볼밴 60 하단선 위에 있을때 다음과 같은 경우에만 매수신호 1. 일목 기준선 (26)위에 가중이평 20선을 가중이평 5선이 크로스할때 매수신호. 2. 단순 60 이평위에 있는 가중이평 20선을 가중이평 5선이 크로스할때 매수신호. 3. 볼밴 20 의 하단선이 최저점에 있는 상태에서 다음 볼밴 20선의 하단선이 계단처럼 한단계 높아졌을때 가중이평 20선을 가중이평 5선이 크로스할때 매수신호. B . 매도의경우 - 볼밴 60 상단선 아래 있을때 다음과 같은 경우에만 매도신호 1. 일목 기준선 (26)아래에 가중이평 20선을 가중이평 5선이 크로스할때 매도신호. 2. 단순 60 이평아래에 있는 가중이평 20선을 가중이평 5선이 크로스할때 매도신호. 3. 볼밴 20 의 상단선이 최고점에 있는 상태에서 다음 볼밴 20선의 상단선이 계단처럼 한단계 낮아졌을때 가중이평 20선을 가중이평 5선이 크로스할때 매도신호. 이상입니다. 감사합니다.
프로필 이미지
라몬
2021-06-27
1749
글번호 150310
시스템
답변완료

문의

5이평 위면서 1봉전 봉은 음봉이고 지금봉이 양봉일때 매수신호 나오게 할수 있도록 수식좀 부탁드릴게요
프로필 이미지
레전드
2021-06-27
1666
글번호 150309
시스템
답변완료

시스템식 부탁드립니다.

진입조건: 매수1 : 시가대비 -205틱 매수2 : 시가대비 -255틱 매수3 : 시가대비 -305틱 매도1 : 시가대비 +205틱 매도2 : 시가대비 +255틱 매도3 : 시가대비 +305틱 본청(매수진입중일경우): (당일시가 터치후 시가대비 -200터치시) 본청(매도진입중일경우): (당일시가 터치후 시가대비 +200터치시) 손절(매수포지션일경우,일괄손절) : 시가대비 -430라인(일괄손절청산) 손절(매도포지션일경우,일괄손절) : 시가대비 +430라인(일괄손절청산) 익절(매수포지션일경우) : 진입자리에서 365틱 익절(매도포지션일경우) : 진입자리에서 365개
프로필 이미지
신나는파파
2021-06-27
2097
글번호 150308
시스템
답변완료

부탁드립니다

input :sm(21),cd(0.4); var : src(0),di(0),c1(0),c2(0),c3(0),c4(0),c5(0); var : i1(0),i2(0),i3(0),i4(0),i5(0),i6(0),bfr(0),bfrc(0),tc(0); src = close; di = (sm - 1.0) / 2.0 + 1.0; c1 = 2 / (di + 1.0); c2 = 1 - c1; c3 = 3.0 * (cd * cd + cd * cd * cd); c4 = -3.0 * (2.0 * cd * cd + cd + cd * cd * cd); c5 = 3.0 * cd + 1.0 + cd * cd * cd + 3.0 * cd * cd; if CurrentBar >= 1 Then { i1 = c1*src + c2*i1[1]; i2 = c1*i1 + c2*i2[1]; i3 = c1*i2 + c2*i3[1]; i4 = c1*i3 + c2*i4[1]; i5 = c1*i4 + c2*i5[1]; i6 = c1*i5 + c2*i6[1]; bfr = -cd*cd*cd*i6 + c3*(i5) + c4*(i4) + c5*(i3); bfrC = iff(bfr > bfr[1], green,iff(bfr < bfr[1], red , blue)); plot1(bfr,"Trend",bfrC); } 위 지표를 10일 20일 60일 120일 240 일선 추가해서 수정 부탁드립니다
프로필 이미지
매치다는
2021-06-27
2278
글번호 150307
지표
답변완료

수식 문의 드립니다

두 가지 문의사항이 있습니다 1번 문의사항 Excel로 치자면 LARGE, SMALL 함수를 사용자 함수화 시키고 싶습니다. NthMaxList 설명 : 리스트에 포함된 값 중에서 N번째 큰 값을 구함. 항목은 모두 수치 값이어야 함 함수 : NthMaxList(N,num1,num2,num3,num4,….) 예제 : NthMaxList (3,10, 20, 30, 40) 20 반환 NthMaxList (3, Open, HH, ma(c,5), dayclose(1)) 지정한 4개의 항목 값 중 세번째 높은 값을 구함 . NthMaxList를 사용하자니 함수 안에 일일이 값을 넣어주어야 하니 수식이 너무 길어지더라고요 예를 들어서 현재 봉 기준으로 최근 5개 봉의 종가 중 2번째로 큰 값을 구하려면 NthMaxList(2, C, C[1], C[2], C[3], C[4]) 이렇게 사용하면 되는 것 같은데 현재 봉 기준으로 특정 과거 시점까지 (N개라고 가정), x번째로 큰 값을 구한다 쳤을때 N개가 많아지면.. 많이 불편한데 Excel에 있는 LARGE, SMALL 함수는 LARGE(범위, x) 라고 간단히 쓸 수 있잖아요? 이것을 예스랭귀지로 사용자함수화 시킬 수 없을까요? 이를테면 Large(N, 조건, x) 이렇게 해서 N : Navigation 기간 설정 조건 : Open, High, Low, Close x : 몇 번째인지 N을 갖고 for문을 작성하거나 array를 활용해야하나..? 코딩 실력이 미진하여서 만들기가 너무 난해하네요.. --------------------------------------------------------- 2 번 문의사항 만약에 60분봉을 쓴다고 가정하였을 때에 하루에 봉의 개수는 7개가 나오잖아요? 만약 DayIndex가 7이라면(오늘의 마지막 봉이라면) -> ABS(하루 전 7번봉의 시가 - 오늘의 7번봉의 종가) 아니라면 이전의 자기 자신의 값을 지정 이렇게 설정하려면 수식작성을 어떻게 해야하나요? 설명을 좀 애매하게 적은 것 같은데 구체적으로 예를 들자면 그저께 7번봉 - 값 계산 -> 2 어제 1 - 2 2 - 2 3 - 2 4 - 2 5 - 2 6 - 2 7 - 값 계산 -> 4란 값 산출 오늘 1 - 4 2 - 4 3 - 4 4 - 4 5 - 4 6 - 4 7 - 값 계산 -> 3란 값 산출 Var : Calculation(0); If Index > 30 and DayIndex == 7 Then Calculation = ABS(Open[7] - Close[0]); Else Calculation = Calculation[1]; Plot1(Calculation); 이렇게 작성해보았는데 지표창에 아무것도 출력이 되지 않습니다 isNan(value) == false 를 사용해야 하는 것 같기도 한데.. 결측값 처리를 어떻게 해야할지 모르겠습니다.. 제가 첫 프로그래밍 언어가 YesLanguage이고 비전공자이다 보니까 어렵네요.. ------------------------------------------------------------------------- 늘 많은 도움 받고 있습니다! 꼭 좀 도와주세요ㅠㅠㅠㅠ
프로필 이미지
파트라
2021-06-27
1929
글번호 150306
사용자 함수