커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 문의 드립니다.

매수 5 이평선 위에서 전일종가보다 7% 상승시 즉시매수 매도: 매수점 보다 수익이 마이너스 이고 당일 봉이 음봉일 경우 즉시 매도 매도: 이전5봉중 최고점대비 10% 하락시 즉시매도
프로필 이미지
회원
2023-04-20
1142
글번호 168365
시스템
답변완료

수정부탁드립니다

박스색상 채우기 와 안 채우울 결우 사각박서 선표시 및 지그재그선 추가시 지그재그선은 후행성 사각박스 종료시 선표시 부탁드립니다. input : Period(12),선두께(2); Var:상승색(Red), 하락색(Blue); Var:j(0),T(0); Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0), date21(0),date22(0),time21(0),time22(0), date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0)/*,ZZ[20](0)*/; Array:r[7](0),fr[7](0),TL2[7](0),TL3[7](0),TX2[7](0),TX3[7](0); var : box(0),box1(0); For j = 0 To 19 { HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1; } if crossup(c,highest(H,Period)[1]) Then T = 1; if CrossDown(c,Lowest(L,Period)[1]) Then T = -1; If T == -1 Then { If T[1] != -1 Then { For j = 18 DownTo 0 { LoVal[j+1] = LoVal[j]; LoBar[j+1] = LoBar[j]; //ZZ[j+1] = ZZ[j]; } LoVal[0] = L; LoBar[0] = 0; //ZZ[0] = L; date11 = date[HiBar[0]]; time11 = stime[HiBar[0]]; Value11 = HiVal[0]; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; for j = 0 to 6 { fr[j] = LoVal[1] + ((HiVal[0] - LoVal[1]) * r[j]); } box = box_new(date11,time11,Value11,date12,time12,Value12); Box_SetColor(box,하락색); Box_SetFill(box,true); } If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; //ZZ[0] = L; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; date22 = date[0]; time22 = stime[0]; Box_SetEnd(box,date12,time12,Value12); } } If T == 1 Then { If T[1] != 1 Then { For j = 18 DownTo 0 { HiVal[j+1] = HiVal[j]; HiBar[j+1] = HiBar[j]; //ZZ[j+1] = ZZ[j]; } HiVal[0] = H; HiBar[0] = 0; //ZZ[0] = H; date11 = date[LoBar[0]]; time11 = stime[LoBar[0]]; Value11 = LoVal[0]; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; for j = 0 to 5 { fr[j] = LoVal[0] + ((HiVal[1] - LoVal[0]) * r[j]); } box = box_new(date11,time11,Value11,date12,time12,Value12); Box_SetColor(box,상승색); Box_SetFill(box,true); } If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; //ZZ[0] = H; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; TL_SetEnd(TL1, date12,time12,Value12); date32 = date[0]; time32 = stime[0]; Box_SetEnd(box,date12,time12,Value12); } }
프로필 이미지
외국인
2023-04-20
1112
글번호 168364
시스템
답변완료

수정부탁드립니다.

안녕하세요? 진입횟수 설정후, 마지막매매에 스위칭이 안되게끔 하고싶은데요, 혼자 수정해보려니 잘 안되네요... 부탁드립니다. Input : maPeriod(20), ROCPeriod(12), stoPeriod1(5), stoPeriod2(3), sPeriod(12), lPeriod(26); input : 진입횟수(3); var : entry(0); if Bdate != Bdate[1] Then entry = 0; if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; value1 = ema(BW(maPeriod,ROCPeriod,stoPeriod1,stoPeriod2), sPeriod); value2 = ema(BW(maPeriod,ROCPeriod,stoPeriod1,stoPeriod2), lperiod); # 매수/매도청산 if CrossUp(value1-value2,0) Then { if entry < 진입횟수 Then Buy(); Else ExitShort(); } # 매도/매수청산 if CrossDown(value1-value2,0) Then { if entry < 진입횟수 Then Sell(); Else ExitLong(); }
프로필 이미지
대구어린울프
2023-04-20
1304
글번호 168363
시스템
답변완료

수정 부탁드립니다.

https://www.yesstock.com/Board/View.asp?db=board100036&Ext=0&startpage=1&pageno=1&num=168974&ref=168956&Sort=&KeyField=NickName&KeyWord=%BF%D0%B6%F3%BD%BA 에서 ,,,손실이 많아 수정 부탁드립니다. //////////////////////////////////////////// > 1.유진선물 사용 2.수식은 매수 :: 스톡케스틱이 20 이상 그리고 봉2개가 20일선 위에서 시고저종이 올라섯을때 손절은 5,20 이평 매도크로스 청산은 오전 10 부터 오후 5시사이에는 20틱익절 오후 5부터 새벽 3시까지는 40틱익절 ... ///////////////////////////////////////////// 위는 예전 수식입니다. 1.봉 2개가 20이평선 위에 있을때 진입가는 20이평선 가격으로 수정... 2.매도는 반대 조건으로 해주시고 3.손절 삭제 , 스토캐스틱은 삭제 4.반대가 청산후 20 이평선 가격을 기다리면서 왓을때 진입 햇으면 합니다. 미리 감사드립니다.
프로필 이미지
왈라스
2023-04-20
1230
글번호 168360
시스템
답변완료

문의드립니다

문의드립니다. 위클리 C 330 종목에서 (2초봉입니다) 9:00:02 2.57 (시가,고가,저가,종가 모두 동일) 9:00:04 2.55 (시가,고가,저가,종가 모두 동일) 9:00:06 2.50 (시가,고가,저가,종가 모두 동일) 9:00:20 2.20 (시가,고가,저가,종가 모두 동일) 9:00:28 시가 2.16 저가 2.14 고가 2.20 종가 2.20 시스템상 9:00:28 에 매수신호가 나와야 하는데,, 신호가 발생하지 않네요 신호 발생이전봉들이 시고저종 값이 모두 동일해서 발생하는 문제인가요 ? 해결 방법 부탁드립니다.
프로필 이미지
베스트시스템
2023-04-20
1238
글번호 168354
시스템
답변완료

수식 수정 부탁합니다

아래 수식은 이전 분차트의 고가 저가 종가 를 나타내는 수식인데 다른 분차트는 돼는데 1분만 안돼는데 1분도 되게 수정 부탁합니다 예) 1분차트 고가 저가를 틱차트에서 사용할려고 합니다 ============================================================================== input : 분(240),pp(10); var : S1(0),D1(0),TM(0),TF(0),cnt(0); Array : OO[10](0),HH[10](0),LL[10](0),CC[10](0); if index == 0 or Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%분; if bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1])Then { OO[0] = O; HH[0] = H; LL[0] = L; for cnt = 1 to 49 { OO[cnt] = OO[cnt-1][1]; HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; plot1(HH[1]); plot2(LL[1]); plot3(OO[0]); plot4(CC[1]); plot5((HH[1]+LL[1])/2); }
프로필 이미지
팔보채
2023-04-20
1242
글번호 168352
지표
답변완료

함수요청

안녕하세요? 아래글번호 81756번 재질문입니다. 당일 매매인데 매수든 매도든 진입 기준 최대 1번으로 수정 부탁드립니다. 즉 당일에 신호가 생성된다면, 1. 매수진입-> 매수청산 2. 매도진입-> 매도청산 둘 중 하나입니다. 1 input : short(12),long(26),sig(9); var : macdv(0),macds(0); macdv = macd(short,long); macds = ema(macdv,sig); if Bdate != Bdate[1] Then { var1 = 0; Var2 = 0; } Condition1 = macdv > 0 and macds > 0 and CrossDown(macdv,macds); Condition2 = macdv < 0 and macds < 0 and CrossUp(macdv,macds); if Condition1 == true Then { var1 = var1+1; if var1 == 3 Then Sell("s",AtMarket); } if MarketPosition == -1 and Condition2 == true Then ExitShort("sx",AtMarket); if Condition2 == true Then { var2 = var2+1; if var2 == 3 Then Buy("b",AtMarket); } if MarketPosition == 1 and Condition1 == true Then ExitLong("bx",AtMarket); SetStopEndofday(152000);
프로필 이미지
흰둥이아빠
2023-04-20
1006
글번호 168337
시스템
답변완료

도움 요청 드립니다.

아래 지표를 트레이딩뷰에서 찾았는데요, 예트로 변환하고 싶어서 말씀올립니다. 항상 감사드립니다~ src = input(close, title ="Source") len = input(14, title ="Length") oblevel = input(70, title ="OB Level", maxval = 99, minval = 1) oslevel = input(30, title ="OS Level", maxval = 99, minval = 1) bullz = input(60, title ="Bull Zone Level", maxval = 99, minval = 1) bearz = input(40, title ="Bear Zone Level", maxval = 99, minval = 1) fillbtw = input(true, title ="Fill between OB and OS lines") showbbzone = input(false, title ="Show Bull/Bear Zones") drawmidl = input(false, title ="Draw Midline") emasmt = input(1, title ="EMA Smoothing", minval = 1) my_rsi(x, len) => u = max(x - x[1], 0) d = max(x[1] - x, 0) sumu = 0.0, sumd = 0.0 sumu := (u + (len - 1) * nz(sumu[1])) / len sumd := (d + (len - 1) * nz(sumd[1])) / len rs = sumu / sumd res = 100 - 100 / (1 + rs) [res, sumu, sumd] [Rsi, sumu, sumd] = my_rsi(close, len) diffupob = (sumd * ((100 / (100 - oblevel)) -1 )) * len - (len - 1) * nz(sumu[1]) diffdnob = (sumu / ((100 / (100 - oblevel)) -1 )) * len - (len - 1) * nz(sumd[1]) diffupos = (sumd * ((100 / (100 - oslevel)) -1 )) * len - (len - 1) * nz(sumu[1]) diffdnos = (sumu / ((100 / (100 - oslevel)) -1 )) * len - (len - 1) * nz(sumd[1]) oblev = Rsi <= oblevel ? close + diffupob : close - diffdnob oslev = Rsi <= oslevel ? close + diffupos : close - diffdnos oblev := ema(oblev, emasmt) oslev := ema(oslev, emasmt) obl = plot(oblev, color = color.red) osl = plot(oslev, color = color.green) fill(obl, osl, color = fillbtw ? color.new(color.gray, 89) : color.new(color.white, 100)) plot((oblev + oslev) / 2, color = drawmidl ? color.gray : color.new(color.white, 100)) //Bull/Bear Zones diffupblzn= (sumd * ((100 / (100 - bullz)) -1 )) * len - (len - 1) * nz(sumu[1]) diffdnblzn = (sumu / ((100 / (100 - bullz)) -1 )) * len - (len - 1) * nz(sumd[1]) diffupbrzn= (sumd * ((100 / (100 - bearz)) -1 )) * len - (len - 1) * nz(sumu[1]) diffdnbrzn = (sumu / ((100 / (100 - bearz)) -1 )) * len - (len - 1) * nz(sumd[1]) bullzone = Rsi <= bullz ? close + diffupblzn : close - diffdnblzn bearzone = Rsi <= bearz ? close + diffupbrzn : close - diffdnbrzn bullzone := ema(bullzone, emasmt) bearzone := ema(bearzone, emasmt) bullzln = plot(bullzone, color = showbbzone ? color.lime : na) bearzln = plot(bearzone, color = showbbzone ? color.lime : na) fill(obl, bullzln, color = bullz < oblevel and showbbzone ? color.new(color.lime, 90) : color.new(color.white, 100)) fill(osl, bearzln, color = bearz > oslevel and showbbzone ? color.new(color.red, 90) : color.new(color.white, 100))
프로필 이미지
부똘이
2023-04-20
935
글번호 168336
지표
답변완료

수식 문의

안녕하세요. 아래의 수식을 예스수식으로 변환하고 싶습니다. 부탁드리겠습니다. 감사합니다. ======================================== study(title="[RS][UNTESTED]CAP Fibo Channel V2", shorttitle="[RS][UNTESTED]CFC.V2", overlay=true) length = input(120) Smooth = input(2), SmoothOutside = input(type=bool, defval=false) midline = sum(avg(ohlc4,ohlc4[1]),length)/(length)//ema(ohlc4, input(6)) c = cum(close)/(1+n) h = cum(high)/(1+n) l = cum(low)/(1+n) factor = avg((h-c), (c-l))// - stdev(midline, length) //<-- uncomment for psicadelic bubbling effect :p p0 = plot(midline, color=black, linewidth=2) //p1 = plot(midline + factor, color=black, linewidth=1, style=circles) //p2 = plot(midline + factor * 2, color=black, linewidth=1, style=circles) p3 = plot(ema(midline + factor * 3, SmoothOutside ? Smooth*3 : 1), color=black, linewidth=1, style=circles) p4 = plot(ema(midline + factor * 5, SmoothOutside ? Smooth*5 : 1), color=black, linewidth=2) p5 = plot(ema(midline + factor * 8, SmoothOutside ? Smooth*8 : 1), color=black, linewidth=1) p6 = plot(ema(midline + factor * 13, SmoothOutside ? Smooth*13 : 1), color=black, linewidth=1, style=circles) p7 = plot(ema(midline + factor * 21, SmoothOutside ? Smooth*21 : 1), color=black, linewidth=4) p8 = plot(ema(midline + factor * 34, SmoothOutside ? Smooth*34 : 1), color=black, linewidth=1, style=circles) p9 = plot(ema(midline + factor * 55, SmoothOutside ? Smooth*55 : 1), color=black, linewidth=1, style=circles) //m1 = plot(midline - factor, color=black, linewidth=1, style=circles) //m2 = plot(midline - factor * 2, color=black, linewidth=1, style=circles) m3 = plot(ema(midline - factor * 3, SmoothOutside ? Smooth*3 : 1), color=black, linewidth=1, style=circles) m4 = plot(ema(midline - factor * 5, SmoothOutside ? Smooth*5 : 1), color=black, linewidth=2) m5 = plot(ema(midline - factor * 8, SmoothOutside ? Smooth*8 : 1), color=black, linewidth=1) m6 = plot(ema(midline - factor * 13, SmoothOutside ? Smooth*13 : 1), color=black, linewidth=1, style=circles) m7 = plot(ema(midline - factor * 21, SmoothOutside ? Smooth*21 : 1), color=black, linewidth=4) m8 = plot(ema(midline - factor * 34, SmoothOutside ? Smooth*34 : 1), color=black, linewidth=1, style=circles) m9 = plot(ema(midline - factor * 55, SmoothOutside ? Smooth*55 : 1), color=black, linewidth=1, style=circles) fill(p3, p5, color=black, transp=80) fill(m3, m5, color=black, transp=80) fill(p4, p6, color=#ec8014, transp=80) fill(m4, m7, color=#ec8014, transp=80) fill(m4, m8, color=lime, transp=90) fill(p4, p8, color=red, transp=90) fill(p6,p7, color=maroon, transp=60) fill(m6,m7, color=green, transp=60)
프로필 이미지
흑수돌
2023-04-20
818
글번호 168335
지표