커뮤니티

예스랭귀지 Q&A

글쓰기

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

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

변환 부탁드립니다

아래 수식 종목검색식 부탁드립니다. A1=StochasticsSlow(12,5); B1=eavg(A1,5); A2=StochasticsSlow(5,3); B2=eavg(A2,3); E=(Highest(H,9)+Lowest(L,9)+Highest(H,26)+Lowest(L,26))/4; F=(Highest(H,52)+Lowest(L,52))/2; (CrossUp(A1,B1) or CrossUp(A2,B2)) && (CrossUp(C,E(25)) or CrossUp(C,F(25))) && C>(highestSince(1,CrossUp(Trix(20),0),C)+lowestSince(1,CrossDown(Trix(20),0),C))/2
프로필 이미지
파크에버뉴
2025-05-15
267
글번호 190842
종목검색
답변완료

검색식 부탁합니다

종목검색식 부탁드립니다 조건은 색상이 적색에서 녹색으로 변하는 시점입니다 Inputs: MA_Length(20), // 이동 평균 길이 (기본 20) Speed_Factor_1(0.03), // 1,000원 이하 종목의 속도 가중치 Speed_Factor_2(0.025), // 1,000원 ~ 5,000원 종목의 속도 가중치 Speed_Factor_3(0.02), // 5,000원 ~ 10,000원 종목의 속도 가중치 Speed_Factor_4(0.015), // 10,000원 ~ 50,000원 종목의 속도 가중치 Speed_Factor_5(0.01), // 50,000원 이상 종목의 속도 가중치 Lookback_Period_1(30), // 1,000원 이하 종목의 Lookback 기간 Lookback_Period_2(50), // 1,000원 ~ 5,000원 종목의 Lookback 기간 Lookback_Period_3(75), // 5,000원 ~ 10,000원 종목의 Lookback 기간 Lookback_Period_4(100), // 10,000원 ~ 50,000원 종목의 Lookback 기간 Lookback_Period_5(150); // 50,000원 이상 종목의 Lookback 기간 Vars: i(0), MA(0), Speed(0), Trend_Line(0), Total_Speed(0), Speed_Avg(0), Speed_Factor(0), // 가격대별 선택된 속도 가중치 Lookback_Period(0), // 가격대별 선택된 Lookback 기간 Color_Code(0); // 추세선 색상 (상승 초록, 하락 빨강) Arrays: Speed_Array[500](0) ; // 배열 크기 지정 // 최대 500칸 배열로 설정 (Lookback 데이터 저장) // === 1. 가격대별 변수 설정 === If Close < 1000 Then Begin // 1,000원 이하 종목 Speed_Factor = Speed_Factor_1; Lookback_Period = Lookback_Period_1; End Else If Close < 5000 Then Begin // 1,000원 ~ 5,000원 종목 Speed_Factor = Speed_Factor_2; Lookback_Period = Lookback_Period_2; End Else If Close < 10000 Then Begin // 5,000원 ~ 10,000원 종목 Speed_Factor = Speed_Factor_3; Lookback_Period = Lookback_Period_3; End Else If Close < 50000 Then Begin // 10,000원 ~ 50,000원 종목 Speed_Factor = Speed_Factor_4; Lookback_Period = Lookback_Period_4; End Else Begin // 50,000원 이상 종목 Speed_Factor = Speed_Factor_5; Lookback_Period = Lookback_Period_5; End; // === 2. 이동 평균 계산 === MA = Average(Close, MA_Length); // 지정된 길이로 이동 평균 계산 // === 3. 실시간 가격 속도 계산 === For i = 0 to Lookback_Period - 1 Begin // 각 봉의 가격 속도를 계산하여 배열에 저장 Speed_Array[i] = (Close[i] - MA) * Speed_Factor; End; // === 4. 속도 합계 및 평균 계산 === Total_Speed = 0; For i = 0 to Lookback_Period - 1 Begin // Lookback 기간 동안의 속도를 합산 Total_Speed = Total_Speed + Abs(Speed_Array[i]); End; Speed_Avg = Total_Speed / Lookback_Period; // 평균 속도 계산 // === 5. 현재 속도 계산 === Speed = (Close - MA) * Speed_Factor; // 현재 봉의 속도 계산 Trend_Line = MA + Speed; // 속도를 더한 다이나믹 추세선 // === 6. 다이나믹 추세선 출력 === If Speed > 0 Then Begin // 상승 추세일 때 초록색 선 Plot1(Trend_Line, "Dynamic_Trend_Line", RGB(0, 200, 0)); // 상승 (초록) End Else Begin // 하락 추세일 때 빨간색 선 Plot1(Trend_Line, "Dynamic_Trend_Line", RGB(200, 0, 0)); // 하락 (빨강) End; // === 7. 히스토그램 출력 === //Plot2(Speed, "Speed_Histogram", RGB(0, 0, 200)); // 실시간 속도를 히스토그램으로 출력 (파란색)
프로필 이미지
행복만땅
2025-05-14
281
글번호 190841
종목검색

남한산성 님에 의해서 삭제되었습니다.

프로필 이미지
남한산성
2025-05-16
34
글번호 190840
시스템
답변완료

검색식 부탁합니다

슈퍼트렌드지표입니다. 종목검색식 부탁드립니다 input : factor(3), AtrPeriod(10); var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0); var : prevSuperTrend(0), superTrend(C), direction(0),alpha(0),source(0); if CurrentBar > 1 Then { src = (H+L+c)/3; // ATR계산(ATR 계산시 지수가중이동평균(rma)이용) alpha = 1 / AtrPeriod ; source = max(high - low, abs(high - close[1]), abs(low - close[1])); ATrV = alpha * source + (1 - alpha) * ATrV[1]; upperBand = src + factor * AtrV; lowerBand = src - factor * AtrV; prevLowerBand = lowerBand[1]; prevUpperBand = upperBand[1]; if lowerBand > prevLowerBand or close[1] < prevLowerBand Then lowerBand = lowerBand; Else lowerBand = prevLowerBand; if upperBand < prevUpperBand or close[1] > prevUpperBand Then upperBand = upperBand; Else upperBand = prevUpperBand; if C > UpperBand Then direction = 1; if C < LowerBand Then direction = -1; if direction == 1 Then supertrend = lowerband; Else supertrend = upperband; } if C > superTrend Then { Plot1(superTrend,"UpTrend", GREEN, 0, 1); NoPlot(2); } Else { Plot2(superTrend,"DnTrend", RED, 0, 1); NoPlot(1); } if direction == 1 and direction[1] == -1 Then plot3(superTrend,"BuyStart",green,0,8); if direction == -1 and direction[1] == 1 Then plot4(superTrend,"SellStart",RED,0,8);
프로필 이미지
행복만땅
2025-05-14
263
글번호 190839
종목검색
답변완료

종목검색 오류 문의

input : 신고기간(225),돌파기준(C); var : B(0),양(False),일기준(False); var : CS1(-1),조건1(False),일(False),건상단선(0),건하단선(0); var : CS2(-1),조건2(False),천1(False),천선1(0); var : CS3(-1),조건3(False),천2(False),천선2(0); B= (((L+H+C)/3)*V/100000000); 양= B>HIGHEST(B,신고기간)[1]; 일기준= crossdown(C,ma(H,3)); if 양 Then CS1 = 0; if 일기준 == true Then if CS1 >= 0 Then CS1 = CS1+1; 조건1= CS1==1; 일= 조건1==true and 조건1[1]==False; if 일 == true Then 건상단선 = Max(O,C); if 일 == true Then 건하단선 = min(O,C); 천1= CrossUp(C,건상단선); 천2= CrossUp(H,건상단선); if 일 Then CS2=0; if 천1== true Then if CS2>= 0 then CS2=CS2+1; 조건2= CS2==1; 천1= 조건2==true and 조건2[1]==False; if 천1 == true Then 천선1 = H; if 일 Then CS3=0; if 천2== true Then if CS3>= 0 then CS3=CS3+1; 조건3= CS3==1; 천2= 조건3==true and 조건3[1]==False; if 천2 == true Then 천선2 = H; var1= 천선1; var2= 천선2; if (crossup(돌파기준,var1) or crossup(돌파기준,var2)) Then find(1); ====================================================================================== 이렇게 작성하니 var1 or var2를 돌파하지 않은 것도 종목검색에 나오는데 어떻게 해야하나요?
프로필 이미지
핑꺼비
2025-05-14
252
글번호 190838
종목검색
답변완료

수식 문의드립니다.

답변 감사합니다. 지표값이 실시간으로 변하지 않는다고 생각했는데요. 이제보니 캔들이 바뀌어야 적용이 되는것 같아요. 실시간(첫봉)으로 바뀌게 할순 없을까요. --------------------------------------------------------------------- var : HH(0),LL(0),진입효율(0); if I_MarketPosition == 1 Then { if I_MarketPosition != I_MarketPosition[1] Then { HH = H; LL = L; } Else { if H > HH Then HH = H; if L < LL Then LL = L; } 진입효율 = (HH-I_AvgEntryPrice)/(HH-LL)*100; } if I_MarketPosition == -1 Then { if I_MarketPosition != I_MarketPosition[1] Then { HH = H; LL = L; } Else { if H > HH Then HH = H; if L < LL Then LL = L; } 진입효율 = (I_AvgEntryPrice-LL)/(HH-LL)*100; } Plot1(진입효율); ---------------------------------------------------------------- 일단, 시스템성과보고서의 진입효율값이 엉망이네요.. 지난데이터라 그런가봅니다. 그리고, 너무 일관성이 없어보여요...
프로필 이미지
율담
2025-05-15
258
글번호 190837
사용자 함수
답변완료

수고하십니다

1.A1=BBandsUp(20,2); A2=BBandsUp(40,2); A3=BBandsUp(60,2); A4=MA(C,120,단순); if(crossup(C,A1)&&crossup(C,A2)&& crossup(C,A3),D,0)&& crossup(C,A4) 2.가=MA(가격,기간1,이평종류); 나=MA(가격,기간2,이평종류); IF(가>=가(1),가,0) && IF(나>=나(1),나,0) && V>V(1)*5
프로필 이미지
억새
2025-05-15
251
글번호 190835
종목검색
답변완료

종목 검색 부탁드립니다.

1. 종목 검색식 부탁 드립니다. CC=CCi(9); Cs=eavg(CC,12); CC>Cs 2. 종목 검색식 부탁 드립니다. Dp =DiPlus(14); Dm=DiMinus(14); Dp>Dm
프로필 이미지
일지매7
2025-05-14
274
글번호 190834
종목검색
답변완료

문의드립니다.

이전 문의에 대해 어려운 점이 있다 하셔서 이전 vwap session 지표와 비숫한 아래의 수식을 다시 변환부탁드리고자 합니다. 거듭 부탁드립니다. ===================== study("VWAP Stdev Bands v2 Mod", overlay=true) devUp1 = input(1.28, title="Stdev above (1)") devDn1 = input(1.28, title="Stdev below (1)") devUp2 = input(2.01, title="Stdev above (2)") devDn2 = input(2.01, title="Stdev below (2)") devUp3 = input(2.51, title="Stdev above (3)") devDn3 = input(2.51, title="Stdev below (3)") devUp4 = input(3.09, title="Stdev above (4)") devDn4 = input(3.09, title="Stdev below (4)") devUp5 = input(4.01, title="Stdev above (5)") devDn5 = input(4.01, title="Stdev below (5)") showDv2 = input(true, type=bool, title="Show second group of bands?") showDv3 = input(true, type=bool, title="Show third group of bands?") showDv4 = input(false, type=bool, title="Show fourth group of bands?") showDv5 = input(false, type=bool, title="Show fifth group of bands?") showPrevVWAP = input(false, type=bool, title="Show previous VWAP close") start = security(tickerid, "D", time) newSession = iff(change(start), 1, 0) vwapsum = iff(newSession, hl2*volume, vwapsum[1]+hl2*volume) volumesum = iff(newSession, volume, volumesum[1]+volume) v2sum = iff(newSession, volume*hl2*hl2, v2sum[1]+volume*hl2*hl2) myvwap = vwapsum/volumesum dev = sqrt(max(v2sum/volumesum - myvwap*myvwap, 0)) A=plot(myvwap,style=circles, title="VWAP", color=black) U1=plot(myvwap + devUp1 * dev,style=circles, title="VWAP Upper", color=gray) D1=plot(myvwap - devDn1 * dev, style=circles, title="VWAP Lower", color=gray) U2=plot(showDv2 ? myvwap + devUp2 * dev : na, color=red, title="VWAP Upper (2)") D2=plot(showDv2 ? myvwap - devDn2 * dev : na, color=green, title="VWAP Lower (2)") U3=plot(showDv3 ? myvwap + devUp3 * dev : na, title="VWAP Upper (3)", color=red) D3=plot(showDv3 ? myvwap - devDn3 * dev : na, title="VWAP Lower (3)", color=green) U4=plot(showDv4 ? myvwap + devUp4 * dev : na, title="VWAP Upper (4)", color=red) D4=plot(showDv4 ? myvwap - devDn4 * dev : na, title="VWAP Lower (4)", color=green) U5=plot(showDv5 ? myvwap + devUp5 * dev : na, title="VWAP Upper (5)", color=red) D5=plot(showDv5 ? myvwap - devDn5 * dev : na, title="VWAP Lower (5)", color=green) prevwap = iff(newSession, myvwap[1], prevwap[1]) plot(showPrevVWAP ? prevwap : na, style=circles, color=close > prevwap ? green : red) fill(U1, U2, color=red, transp=90, title="Over Bought Fill 1") fill(D1, D2, color=green, transp=90, title="Over Sold Fill 1") fill(U2, U3, color=red, transp=90, title="Over Bought Fill 2") fill(D2, D3, color=green, transp=90, title="Over Sold Fill 2") fill(U3, U4, color=red, transp=90, title="Over Bought Fill 3") fill(D3, D4, color=green, transp=90, title="Over Sold Fill 3") fill(U4, U5, color=red, transp=90, title="Over Bought Fill 4") fill(D4, D5, color=green, transp=90, title="Over Sold Fill 4") fill(A, U1, color=gray, transp=90, title="Middle Fill Up") fill(A, D1, color=gray, transp=90, title="Middle Fill Down") ========================== 선들사이에 색은 넣지 않아도 됩니다. 최대한 간단히 중심선과 위아래 선들만 나오게 해주셔도 감사하겠습니다. 항상 감사드립니다. 수고하세요!!!
프로필 이미지
해암
2025-05-14
321
글번호 190833
지표