커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

사노소이 님에 의해서 삭제되었습니다.

프로필 이미지
사노소이
2024-09-27
9
글번호 183816
시스템
답변완료

수식 부탁드립니다

키움 화살표로 사용중인대 예스에서 종목검색을 하고 싶어요 도와주셔요 S = supertrend(20, 3); M = ma(C, 20); 조건 = M>M(1) && CrossUp(S, M); bs = BarsSince (조건); bs > 0 && bs < 간격 && CrossDown(S, M) && M> M(1) && C(1) < S(1) 지표변수 간격 35 입니다 부탁드립니다
프로필 이미지
아르고스
2024-09-27
721
글번호 183815
검색
답변완료

안녕하세요 수식 검토 부탁드립니다~

안녕하세요, 만들어 주신 수식 감사히 잘 사용중입니다. 아래의 강조수식을 종목검색식으로 변환과 그에 맞는 새로운 강조식,신호검색식 부탁드립니다. input : n(260),BBP(20),Dv(2); var : BBup(0),TL(0); BBup = BollBandUp(BBP,dv); if v > highest(v,n)[1] and C > O Then { PlotPaintBar(H,L,"강조",Yellow); } 1. 30분봉에 사용할 수식으로 아래와 같습니다. *N(13)봉 이내에 260봉 최고거래량 발생. *종가가 260봉중 최고거래량이 발생한 봉의 중간값((저가+고가)/2) 이상일 것. *오늘 당일 (Upvol-Downvol) > 0 and sumPL > 0. *30분봉이 완성되는 매30분 또는 매정시 봉완성후 종목이 검색되는 것이 아니고, 조건이 충족되면 바로 검색. (9시7분에라도 260봉 신고거래가 발생되면 바로검색되게요) *전일 데이터는 제외하고, 오늘데이터만 적용. 260봉 신고거래량 양봉 1회이상 출현. *위 수식에서 볼린저밴드 부분 삭제. *종목검색식과 강조수식, 신호검색식 부탁드립니다. 늘 감사드립니다. 고맙습니다!!
프로필 이미지
소나기
2024-09-30
832
글번호 183814
종목검색
답변완료

프리장에서의 캔들의 크기?

항상 친절한 답변에 감사를 드립니다. 해외선물 프리장(07:00~21:30)에서의 캔들의 크기가(고가 - 저가) 본장에서 어느정도 영향을 미치는지를 알고 싶습니다. 07;00 에서 21:30까지의 캔들의 고가와 저가를 구하는 방법을 알려주시면 고맙겠습니다. (시스템트레이딩에 적용을 해보고 싶습니다)
프로필 이미지
하날랑
2024-09-27
862
글번호 183813
시스템
답변완료

문의드립니다

파라볼릭 당일용 부탁드립니다 아침 장시작후 부터 나오는.. 고가/저가를 이용하지 않고 봉의 종가를 기준으로 하는 파라볼릭 부탁합니다 감사합니다
프로필 이미지
러블리
2024-09-27
674
글번호 183804
지표
답변완료

수식 부탁드립니다

지표식 부탁드립니다. study("Optimized Trend Tracker Bands","OTT Bands", overlay=true,format=format.price, precision=2, resolution="") src = input(close, title="Source") length=input(2, "OTT Moving Average Length", minval=1) percent=input(15, "OTT Optimization Coeff", type=input.float, step=0.1, minval=0) X3=input(0.2, "OTT UPPER BAND Optimization Coeff", type=input.float, step=0.001, minval=0) X5=input(0.177, "OTT LOWER BAND Optimization Coeff", type=input.float, step=0.001, minval=0) showfibolines = input(title="Show OTT Bands Fibonacci Levels?", type=input.bool, defval=false) showsupport = input(title="Show Support Line?", type=input.bool, defval=false) highlight = input(title="Show OTT Support Line Color Changes?", type=input.bool, defval=false) mav = input(title="Moving Average Type", defval="VAR", options=["SMA", "EMA", "WMA", "TMA", "VAR", "WWMA", "ZLEMA", "TSF"]) Var_Func(src,length)=> valpha=2/(length+1) vud1=src>src[1] ? src-src[1] : 0 vdd1=src<src[1] ? src[1]-src : 0 vUD=sum(vud1,9) vDD=sum(vdd1,9) vCMO=nz((vUD-vDD)/(vUD+vDD)) VAR=0.0 VAR:=nz(valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*nz(VAR[1]) VAR=Var_Func(src,length) Wwma_Func(src,length)=> wwalpha = 1/ length WWMA = 0.0 WWMA := wwalpha*src + (1-wwalpha)*nz(WWMA[1]) WWMA=Wwma_Func(src,length) Zlema_Func(src,length)=> zxLag = length/2==round(length/2) ? length/2 : (length - 1) / 2 zxEMAData = (src + (src - src[zxLag])) ZLEMA = ema(zxEMAData, length) ZLEMA=Zlema_Func(src,length) Tsf_Func(src,length)=> lrc = linreg(src, length, 0) lrc1 = linreg(src,length,1) lrs = (lrc-lrc1) TSF = linreg(src, length, 0)+lrs TSF=Tsf_Func(src,length) getMA(src, length) => ma = 0.0 if mav == "SMA" ma := sma(src, length) ma if mav == "EMA" ma := ema(src, length) ma if mav == "WMA" ma := wma(src, length) ma if mav == "TMA" ma := sma(sma(src, ceil(length / 2)), floor(length / 2) + 1) ma if mav == "VAR" ma := VAR ma if mav == "WWMA" ma := WWMA ma if mav == "ZLEMA" ma := ZLEMA ma if mav == "TSF" ma := TSF ma ma MAvg=getMA(src, length) fark=MAvg*percent*0.01 longStop = MAvg - fark longStopPrev = nz(longStop[1], longStop) longStop := MAvg > longStopPrev ? max(longStop, longStopPrev) : longStop shortStop = MAvg + fark shortStopPrev = nz(shortStop[1], shortStop) shortStop := MAvg < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop dir = 1 dir := nz(dir[1], dir) dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir MT = dir==1 ? longStop: shortStop OTT=MAvg>MT ? MT*(200+percent)/200 : MT*(200-percent)/200 OTTC = highlight ? MAvg > MAvg[1] ? color.green : color.red : #0585E1 OTTMAIN=plot(nz(OTT[2]), color= #B800D9, linewidth=2, title="OTT", transp=0) plot(showsupport ? MAvg : na, color=OTTC, linewidth=2, title="Support Line") OTTUST=plot(nz(OTT[2])*(1+X3), color=#4500C4, linewidth=2, title="OTT UPPER", transp=0) OTTUSTYARI=plot(showfibolines ? nz(OTT[2])*(1+X3*0.618) : nz(OTT[2])*(1+X3/2), color=#8400FF, linewidth=1, title="OTT UPPER HALF ", transp=0) OTTFIBOUST2=plot(showfibolines ? nz(OTT[2])*(1+X3*0.382) : na, color=#C830FF, linewidth=1, title="OTT UPPER HALF ", transp=0) OTTALT=plot(nz(OTT[2])*(1-X5), color=#00A6FF, linewidth=2, title="OTT LOWER", transp=0) OTTALTYARI=plot(showfibolines ? nz(OTT[2])*(1-X5*0.618) : nz(OTT[2])*(1-X5/2), color=#007BBD, linewidth=1, title="OTT LOWER HALF", transp=0) OTTALTFIBO2=plot(showfibolines ? nz(OTT[2])*(1-X5*0.382) : na, color=#024DE3, linewidth=1, title="OTT LOWER HALF", transp=0) fill(OTTUST, OTTUSTYARI, color=#4500C4, transp=88) fill(OTTFIBOUST2, OTTUSTYARI , color=#8400FF, transp=88) fill(OTTUSTYARI, OTTMAIN, color=#C810FF, transp=88) fill(OTTFIBOUST2, OTTMAIN, color=#C810FF, transp=88) fill(OTTALT, OTTALTYARI, color=#00A6FF, transp=88) fill(OTTALTFIBO2, OTTALTYARI , color=#007BBD, transp=88) fill(OTTALTYARI, OTTMAIN, color=#024DE3, transp=88) fill(OTTALTFIBO2, OTTMAIN, color=#024DE3, transp=88) alertcondition(cross(MAvg, OTT[2]), title="Cross Alert", message="OTT - Support Line Crossing!") alertcondition(crossover(MAvg, OTT[2]), title="Crossover Alarm", message="Support Line BUY SIGNAL!") alertcondition(crossunder(MAvg, OTT[2]), title="Crossunder Alarm", message="Support Line SELL SIGNAL!") alertcondition(cross(src, OTT[2]), title="Price Cross Alert", message="OTT - Price Crossing!") alertcondition(crossover(src, OTT[2]), title="Price Crossover Alarm", message="PRICE OVER OTT - BUY SIGNAL!") alertcondition(crossunder(src, OTT[2]), title="Price Crossunder Alarm", message="PRICE UNDER OTT - SELL SIGNAL!")
프로필 이미지
사노소이
2024-09-27
1087
글번호 183802
지표
답변완료

종목검색식 부탁드림니다.

항상 노고에 감사드림니다. 아래의 수식을 종목검색식으로 부탁드림니다. Crossup(h,BBandsup(Period,D1)) and V(1)*10<=V 지표변수 Period 120 D1 1
프로필 이미지
존슨비치
2024-09-27
721
글번호 183801
종목검색
답변완료

240이평선이 안보여요

안녕하세요.. 차트표시탭에서 이평선1~5까지모두다 체크하고 지표코딩은 아래와 같은데요.. 240이평만 화면에 나타나지 않아요.. 다른 이평은 모두 다 잘나타나거든요.. 왜 그럴까요? [지표코딩] input : p1(5), p2(20), p3(60), p4(120), p5(240); var1 = ma(C,P1); var2 = ma(C,P2); var3 = ma(C,P3); var4 = ma(C,P4);var5 = ma(C,P5); if var1 > var1[1] Then plot1 (var1,"이평1", black); Else plot1 (var1,"이평1", gray); if var2 > var2[1] Then plot2(var2,"이평2", RED); Else plot2(var2,"이평2", Lightred); if var3 > var3[1] Then plot3(var3,"이평3", Blue); Else plot3(var3,"이평3", LightBlue); if var4 > Var4[1] Then plot4 (var4, "이평4", Green); Else plot4 (var4,"이평4", LightGreen); if var5 > Var5[1] Then plot5 (var4, "이평5", Cyan); Else plot5 (var4,"이평5", LightCyan);
프로필 이미지
랑랑
2024-09-27
951
글번호 183798
지표
답변완료

b1 진입조건 무효화 수정

별첨파일은 아래식의 결과물입니다. 1번 차트 코스피200 선물 진입변수 30 10 0 2번 차트 코스피200 미니선물 진입변수 30 10 0 3번 차트 코스피200 미니선물 진입변수 64 10 0 1번과 2번은 동일한 변수를 적용하였습니다. 그런데 어제 9월26일 2번 차트 미니선물에서 진입이 발생하지 않았습니다. 그래서 3번 차트에서 진입변수를 30 에서 63 까지 늘려보았는데 64부터 진입이 발생하였습니다. 제 생각에는 미니선물에서 30틱은 0.6포인트라 고점과 저점 갱신이 쉽게 바뀌므로 진입을 위한 b1값을 잡는데 혼선이 발생하여 나타나는 현상이라고 생각합니다. (1번 차트 선물 30틱은 1.5 포인트, 3번 차트 미니선물 64틱은 1.28 포인트) 평소에는 30 10 0 으로 미니선물이 선물보다 진입을 더 많이 해왔습니다. 이렇게 진입을 하지 않는 경우는 금년 들어 처음입니다. 진입신호가 아예 안나온다는 것은 논리적으로 수식에 오류가 있다고 생각입니다. 수식을 살펴주셨으면 합니다. 항상 고맙습니다. ******************************************************************************** input : 최대(99999),최소(0),거래횟수(10); input : b1(30),진입눌림1(10),진입돌파1(0); input : b2(40),진입눌림2(10),진입돌파2(0); input : 진입시간(084500),진입제한시간(151500); var : T1(0),entry(0),LL(0),EH(0),E1(0),H1(0),i1(0),S1(0),L1(0),V1(0); var : Tcond(false); if (sdate != sdate[1] and stime >= 진입시간) or (sdate == sdate[1] and stime >= 진입시간 and stime[1] < 진입시간) Then Tcond = true; if (sdate != sdate[1] and stime >= 진입제한시간) or (sdate == sdate[1] and stime >= 진입제한시간 and stime[1] < 진입제한시간) Then Tcond = false; if (sdate != sdate[1] and stime >= 진입시간) or (sdate == sdate[1] and stime >= 진입시간 and stime[1] < 진입시간) Then{ T1 = TotalTrades; E1 = 0; LL = L; } if stime >= 진입시간 then{ if L < LL Then LL = L; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 Then{ if E1 == 0 and C >= LL+PriceScale*B1 and C[1] < LL+PriceScale*B1 Then{ E1 = 1; H1 = H; i1 = index; V1 = LL; //시작점 종가 } if E1 == 1 and index > i1 then{ if H > H1 Then H1 = H; #저가가 시작봉종가보다 클때만 눌림체크 if L >= V1 and L <= H1-PriceScale*진입눌림1 Then{ E1 = 2; i1 = index; S1 = H1; } } //시작점 종가보다 낮은 가격이 발생하면 초기화 if E1 >= 1 and L < V1 Then{ E1 = 0; LL = L; } if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파1 and Tcond == true and 최대 >= C and C >= 최소 Then{ buy("b1"); } } if TotalTrades > TotalTrades[1] Then{ E1 = 0; LL = L; } if L < LL Then LL = L; if MarketPosition == 0 and entry >= 1 and entry < 거래횟수 Then{ if E1 == 0 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 Then{ E1 = 1; H1 = H; i1 = index; V1 = LL; //시작점 종가 } if E1 == 1 and index > i1 then{ if H > H1 Then H1 = H; #저가가 시작봉종가보다 클때만 눌림체크 if L >= V1 and L <= H1-PriceScale*진입눌림2 Then{ E1 = 2; i1 = index; S1 = H1; } } //시작점 종가보다 낮은 가격이 발생하면 초기화 if E1 >= 1 and L < V1 Then{ E1 = 0; LL = L; } if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파2 and Tcond == true and 최대 >= C and C >= 최소 Then{ buy("b2"); } } }
프로필 이미지
목마와숙녀
2024-11-06
803
글번호 183797
시스템