커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 문의 드립니다.

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

수식 문의 드립니다.

매수 5 이평선 위에서 전일종가보다 7% 상승시 즉시매수 매도: 매수점 보다 수익이 마이너스 이고 당일 봉이 음봉일 경우 즉시 매도 매도: 이전5봉중 최고점대비 10% 하락시 즉시매도
프로필 이미지
회원
2023-04-20
1129
글번호 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
1100
글번호 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
1293
글번호 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
1213
글번호 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
1227
글번호 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
1234
글번호 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
993
글번호 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
923
글번호 168336
지표