커뮤니티

예스랭귀지 Q&A

글쓰기

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

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

종목검색식을 만들고 싶습니다.

안녕하세요. 1. 10일 안에 최저가가 볼랜저밴드(20, 2)값 하단선을 이탈했다가 현재는 하단선 위에 있는 종목 2. 현재 전일 종가보다 3% 이상 양봉 3. 시가총액 1,000 억이 넘는 종목 이렇게 검색식을 만들고 싶습니다. 부탁드립니다. 수고하세요
프로필 이미지
짜짜로니
2025-09-15
190
글번호 194022
종목검색
답변완료

94278번 수정요청

오전에 답변주신 94278번 수정요청 드립니다. 봉의 중간에 세로 라인이 하나 생기는데 세로라인을 없애주시면 감사하겠습니다. 그리고 94279번 양봉에는 표기가 되는데 음봉에는 봉길이가 표기되지 않습니다 이것도 수정 부탁드립니다. 빠른 답변 갑사 드립니다.
프로필 이미지
나도부자1
2025-09-15
187
글번호 194017
지표
답변완료

지표문의

1.지표문의 INPUT: Lookback(500), // 최근 분석할 봉 수 RowSize(200), // 가격 구간 개수 (최대 500) BarWidth(2); VAR: priceMin(9999999), priceMax(0), priceStep(0), i(0), j(0), lower(0), upper(0), level(0), maxVol(0), rowCount(0); ARRAY: volArr[500](0) ; // 최대 500 구간 거래량 저장 // 1) 입력값 제한 rowCount = RowSize; IF rowCount > 500 THEN rowCount = 500; // 2) 최소/최대 가격 찾기 priceMin = 9999999; priceMax = 0; FOR i = 0 TO Lookback-1 BEGIN IF HIGH[i] > priceMax THEN priceMax = HIGH[i]; IF LOW[i] < priceMin THEN priceMin = LOW[i]; END; // 3) 구간 폭 계산 priceStep = (priceMax - priceMin) / rowCount; IF priceStep <= 0 THEN priceStep = 1; // 4) 구간별 거래량 초기화 FOR j = 0 TO rowCount-1 BEGIN volArr[j] = 0; END; // 5) 각 봉의 거래량을 해당 가격구간에 누적 FOR i = 0 TO Lookback-1 BEGIN FOR j = 0 TO rowCount-1 BEGIN lower = priceMin + priceStep * j; upper = priceMin + priceStep * (j + 1); IF (HIGH[i] >= lower) AND (LOW[i] <= upper) THEN volArr[j] = volArr[j] + VOLUME[i]; END; END; // 6) POC(최대 거래량) 찾기 maxVol = 0; FOR j = 0 TO rowCount-1 BEGIN IF volArr[j] > maxVol THEN maxVol = volArr[j]; END; // 7) 히스토그램 출력 (현재봉만) FOR j = 0 TO rowCount-1 BEGIN level = priceMin + priceStep * j + priceStep / 2; IF CURRENTBAR = 0 THEN PLOT(j, volArr[j], "V"+NUMTOSTR(j,0)); END; // 8) POC 출력 FOR j = 0 TO rowCount-1 BEGIN IF volArr[j] = maxVol THEN BEGIN level = priceMin + priceStep * j + priceStep / 2; IF CURRENTBAR = 0 THEN PLOT(rowCount+1, level, "POC"); END; END; CURRENTBAR 를 값을 대입할수있는 변수로 수정 좀해주세요 검증이 안됨 2.그럼 수고하세요
프로필 이미지
성공예견
2025-09-15
260
글번호 194014
지표
답변완료

종목검색입니다

금일 저가가 20캔들 천정 포함 8캔들 최저가 인 종목 검색 감사합니다
프로필 이미지
para
2025-09-15
156
글번호 194009
종목검색
답변완료

추가 문의

> 수고 많으십니다. var1 = IFf(C>O,1,-1); 위 var1은 '현재가가 시가 위면 1, 아래면 -1'을 표시한 것인데 여기에 '시가가 전일 종가보다 높고'라는 조건을 추가하여, 즉 '시가가 전일 종가보다 높고, 현재가가 시가보다 위이면1, 아래면 -1'을 표시하는 식 부탁드립니다.
프로필 이미지
가람봉
2025-09-15
198
글번호 193999
지표
답변완료

수식 문의

안녕하세요? input: n1(10), n2(20), n3(50); n(10)봉 전의 봉과 n2(20)봉 전의 봉과 n3(50)봉 전의 봉을 표시하고 싶습니다. 1) 지표식: 10봉 전과 20봉 전, 50봉 전에는 1 값을 갖고, 나머지 봉들에서는 0 값을 갖는 지표. 2) 강조식?: 10봉 전의 봉과 20봉 전의 봉, 50봉 전의 봉에 뭔가 표시를 하는 식. 그런데, 강조식의 똥그래미가 너무 작은 거 같은데, 좀 더 크게 하는 방법이 있으면 알려주시기 바랍니다. 뭔가 크기를 조절할 수 있는 똥그래미를 봉의 위나 아래에 그릴 수 있으면 좋겠습니다. 강조식이 아니어도 좋습니다. 3) 배경색 바꾸기: 이건 지표식인가요? 10봉 전의 봉부터 20봉 전의 봉까지를 예컨대 노란 배경색으로 칠하고, 20봉전 ~ 50봉 전까지는 다른 배경색으로 칠하기 감사합니다.
프로필 이미지
에구머니
2025-09-15
219
글번호 193995
지표
답변완료

수식문의입니다

input : R기간(14),과매도율(25),과매수율(75)); var : A(0),BD(False),BU(False),FU(False),FD(False); A=RSI(R기간); BD=CrossDown(A,과매도율); BU=CrossUp(A,과매도율; FU=CrossUp(A,과매수율); FD=CrossDown(A,과매수율); 수식1) RSI선이 기준선(과매도율)선을 하향이탈하거나, 상향돌파할때의 종가를 표시하는 라인 수식2) RSI선이 기준선(과매수율)선을 상향돌파하거나, 하향이탈할때의 종가를 표시하는 라인 if BD == true Then BBD = C; 상기처럼 한개씩은 수식이 가능한데 BD이거나 BU이거나 할때의 수식은 잘 안되네요. 부탁드립니다
프로필 이미지
해피오
2025-09-15
182
글번호 193994
지표
답변완료

수식 문의

안녕하세요. 키움증권의 수식인 Valuewhen 을 돌파하는 종목을 검색하고자 하는데 예스랭귀지의 Valuewhen 을 돌파하는 종목 검색의 로직이 궁금합니다. 다음 두 가지 예를 들어 주시면 고맙겠습니다. (1) 박스라인 돌파 A=Lowest(L(1),기간); B=Highest(H(1), 기간); Valuewhen(1,BarsSince(L<A(1))==(기간-P),B) [기간: 20 / P: 3] (2) 최저 거래량 라인 돌파 A1 = V<lowest(V(1), Period); Valuewhen(1, A1, C) [period: 120]
프로필 이미지
saeroi
2025-09-14
212
글번호 193993
종목검색
답변완료

부탁합니다.

아래 지표로 시스템식을 부탁합니다. 기본사항 : 투자금액을 100% 로 잡았을때 30%를 3회까지 분할매수 ( 예: 1천만원일때 1회 3백만원씩 신호나올때마다 3회까지 매수 ) 매수 1. 밴드의 중심선이 상승일때 and 2. 저점이 밴드 하단밖에 있을때 양봉이면 매수 청산 1. 시가가 밴드안에서 시작해서 양봉으로 상단밴드밖에서 종가일때 or 2. 익절 1% ~ (변수로 부탁합니다) or 3. 종가기준 3% 손절 ( 변수로 부탁합니다.) or 4. 매수후 중심선이 하락으로 바뀌면 본절청산 input : HalfLength(60); input : PriceType(5);#1: Close, 2:Open, 3:High, 4:Low, 5:Median, 6:Typical, 7:Weighted, 8:Average input : AtrPeriod(60); input : AtrMultiplier(4); input : TMAangle(2); input : crossUpInput(false); input : crossDownInput(false); input : comingBackInput(false); input : onArrowDownInput(false); input : onArrowUpInput(false); input : colorDOWN(red); input : colorUP(green); input : colorBands(Gray); input : cautionInput(true); Array : TX1[100](0),TX2[100](0),TX3[100](0); var : cnt(0),price(0),colorBuffer(Nan); var : asum(0),ATR(0),i(0),j(0); var : sum(0),sumw(0),k(0),tmac(0),tmau(0),tmad(0); var : pastTmac(nan),pastTmau(nan),pastTmad(Nan); var : tmau_temp(nan),tmac_temp(Nan),tmad_temp(nan); var : point(0),reboundD(0),reboundU(0),caution(0),last(False); For cnt = 0 to 99 { Text_Delete(TX1[cnt]); Text_Delete(TX2[cnt]); Text_Delete(TX3[cnt]); } if PriceType == 1 Then Price = close; Else if PriceType == 2 Then Price = open; Else if PriceType == 3 Then Price = high; Else if PriceType == 4 Then Price = low; Else if PriceType == 5 Then Price = (high + low) / 2; Else if PriceType == 6 Then Price = (high + low + close) / 3; Else if PriceType == 7 Then Price = (high + low + close + close) / 4; Else Price = (high + low + close + open)/ 4; //MAIN for i = HalfLength downto 0 { //ATR asum = 0.0; for j = 0 to AtrPeriod - 1 { asum = asum + max(high[i + j + 10], close[i + j + 11]) - min(low[i + j + 10], close[i + j + 11]); } atr = asum/AtrPeriod; //BANDS sum = (HalfLength + 1) * Price[i]; sumw = (HalfLength + 1); k = HalfLength; for j = 1 to HalfLength { sum = sum + k * Price[i + j]; sumw = sumw + k; if (j <= i) Then { sum = sum + k * Price[i - j]; sumw = sumw + k; } k = k -1; } tmac = sum/sumw; tmau = tmac+AtrMultiplier*atr; tmad = tmac-AtrMultiplier*atr; //CHANGE TREND COLOR if pastTmac != 0.0 Then { if tmac > pastTmac Then colorBuffer = colorUP; if tmac < pastTmac then colorBuffer = colorDOWN; } //SIGNALS reboundD = 0.0; reboundU = 0.0; caution = 0.0; if pastTmac != 0.0 Then { if (high[i + 1] > pastTmau and close[i + 1] > open[i + 1] and close[i] < open[i]) Then { reboundD = high[i] + AtrMultiplier * atr / 2; if (tmac - pastTmac > TMAangle * point) Then { caution = reboundD + 10 * point; } } if (low[i + 1] < pastTmad and close[i + 1] < open[i + 1] and close[i] > open[i]) Then { reboundU = low[i] - AtrMultiplier * atr / 2; if (pastTmac - tmac > TMAangle * point) then { caution = reboundU - 10 * point; } } } //LAST REAL if i == HalfLength Then { last = true; tmau_temp = tmau; tmac_temp = tmac; tmad_temp = tmad; } //DRAW HANDICAPPED BANDS if i < HalfLength Then { TX1[i] = Text_New(NextBarSdate[i],NextBarStime[i],Tmau,"-"); Text_SetColor(TX1[i],colorBands); Text_SetStyle(TX1[i],2,2); TX2[i] = Text_New(NextBarSdate[i],NextBarStime[i],Tmac,"-"); Text_SetColor(TX2[i],colorBuffer); Text_SetStyle(TX2[i],2,2); TX3[i] = Text_New(NextBarSdate[i],NextBarStime[i],Tmad,"-"); Text_SetColor(TX3[i],colorBands); Text_SetStyle(TX3[i],2,2); } } //DRAW REAL BANDS plot1(iff(last , tmau_temp , tmau), "TMA Up", colorBands); plot2(iff(last , tmac_temp , tmac), "TMA Mid", colorBuffer); plot3(iff(last , tmad_temp , tmad), "TMA Down", colorBands); FixPlotShift(1,-HalfLength); FixPlotShift(2,-HalfLength); FixPlotShift(3,-HalfLength);
프로필 이미지
as8282
2025-09-14
297
글번호 193992
시스템