커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

안녕하세요

안녕하세요 지표식 부탁드립니다 Input : Period(20), D(2), Period11(9); var : BBdown(0),BBUp(0),BandB(0); BBDown = BollBandDown(Period,D); BBUp = BollBandUp(Period,D); BandB = ((C-BBDown)/(BBUp-BBDown))*100; Plot1(BandB, "Band %b"); PlotBaseLine1(10, "기준선10"); PlotBaseLine2(90, "기준선90"); Plot1(BandB, "Band %b");의 이평선(ma) 을 부탁드립니다 <<<Plot2 = ma(Plot1, Period11);>>> 감사합니다
프로필 이미지
금보
2023-07-26
946
글번호 170933
지표
답변완료

수식 부탁드립니다

안녕하세요 수식 부탁드립니다 어제 문의드린 수식에 답변이 없으시어 다시 부탁드립니다 1. Input : shortPeriod(12), longPeriod(26); Var : value(0); value = MACD(shortPeriod, longPeriod); # 매수/매도청산 If CrossUP(value, 0) Then { Buy(); } # 매도/매수청산 If CrossDown(value, 0) Then { Sell(); } 2. Input : Period(12), Period1(5); Var : value(0); value = StochasticsK(Period,Period1); # 매수/매도청산 If CrossUP(value, 20) Then { Buy(); } # 매도/매수청산 If CrossDown(value, 80) Then { Sell(); } Macd 기준선 수식과 Stochastics 수식을 <<<Macd 기준선 수식 + Stochastics 수식>>> 수식을 만틀고자 합니다 3,. Input : Period(20), D(2), Period11(20); var : BBdown(0),BBUp(0),BandB(0); BBDown = BollBandDown(Period,D); BBUp = BollBandUp(Period,D); BandB = ((C-BBDown)/(BBUp-BBDown))*100; Plot1(BandB, "Band %b"); Value1 = ma(Plot1, Period11); PlotBaseLine1(10, "기준선10"); PlotBaseLine2(90, "기준선90"); PlotBaseLine1>"기준선10" 이면 매수식 PlotBaseLine2>"기준선90" 이면 매도식 수식 부탁드립니다 감사합니다
프로필 이미지
금보
2023-07-26
825
글번호 170932
시스템
답변완료

수식 문의 드립니다.

안녕하세요. 기존에는 잘 작동하다가, 최근 들어 수식이 계속 에러가 나서 확인해보니 GetPrevVolume 함수가 이상하게 동작하는 것 같습니다. 예를 들어, GetPrevVolume(1)를 이용해서 DATA를 얻으려고 하는데 삼성전자 005930을 MarektData1 객체명에 일간데이터 사용, 조회건수 100 으로 설정 하고 MarketData1.GetPrevVolume(1)로 메세지로그를 남겨보니 41801757050798080 이라는 숫자가 리턴됩니다. 즉, 설명할 수 없는 큰 숫자로 인해서 오류가 생기고 있는데 GetPrevVolume 최근에 뭔가 바뀐것인지 확인 부탁드리며, 오류가 있었다면 수정을 부탁드립니다. ps : 추가로 편집기에서 아래와 같은 에러가 발생하고 있습니다. TypeError : GetPrevVolume : 1개의 매개변수가 필요합니다.
프로필 이미지
ywesry
2023-07-26
896
글번호 170931
시스템
답변완료

해외선물 시가 청산 문의드립니다.

안녕하세요. 분봉 차트에서 나스닥 선물같은 해외선물을 다음날 장 시작 후 시가에 청산하려고 합니다. Bdate != bdate[1] 로 잡으면 한캔들 넘어가는 거 같은데 어떻게 조건을 잡아야 할까요 ? 서머타임도 고려해야 하나요 ?
프로필 이미지
hiphepho
2023-07-26
812
글번호 170930
시스템
답변완료

문의

input : n분(30); var : S1(0),D1(0),TM(0),TF(0),OO(0),Box(0); var : DD(0),TT(0); if 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%n분; if Bdate != Bdate[1] or (Bdate == Bdate[1] and n분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and n분 > 1 and TM >= TM[1]+n분) or (Bdate == Bdate[1] and n분 == 1 and TM > TM[1]) Then { OO = O; DD = sDate; TT = sTime; box = Box_New(DD,TT,OO,NextBarSdate,NextBarStime,c); Box_SetFill(box,true); } Box_SetEnd(box,NextBarSdate,NextBarStime,c); Box_SetColor(box,IFF(C > OO,Red,IFf(C<OO,Blue,Green))); } 윗꼬리와 아래꼬리 꼭지점과 중심에 선이 나오도록 부탁드립니다
프로필 이미지
레전드
2023-07-26
991
글번호 170929
지표

배움이 님에 의해서 삭제되었습니다.

프로필 이미지
배움이
2023-07-26
1
글번호 170928
종목검색
답변완료

문의 드립니다.

안녕하세요? 최근답변 잘받았습니다. 감사합니다. 아래의 수식에서 종료되는 시간설정을 하면 봉마감되는 시간에 종료가 되고있는데, 혹시 지정시간이되면 바로 청산주문이 들어가게 되었으면 해서 문의 드립니다. 감사합니다. inputs: Length(10), Pval(0.05); input : 익절틱수(10), 손절틱수(10), 진입횟수(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 ; if entry < 진입횟수 then Sell("CBI", AtStop, Lowest(Low, Length) - Pval); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop);
프로필 이미지
대구어린울프
2023-07-25
1276
글번호 170927
시스템
답변완료

수식 부탁드립니다

안녕하세요? 항상 수고많으십니다. 기존 시스템 신호 수식에 합성할 당일 선물 40틱(2.0p) 누적수익 및 30틱(1.5P) 누적손실시 즉시 보유 포지션 청산후 종료하는 수식 부탁 드립니다. 감사합니다. (수익, 손실 변경 가능하도록 부탁드립니다)
프로필 이미지
대박월천
2023-07-25
1178
글번호 170925
시스템
답변완료

수식 문의입니다.

수식1 var1 = highest(C,20); var2 = Lowest(C,20); var3 = (var1+var2)/2; plot1(var1,"최고가선"); plot2(var2,"최저가선"); plot3(var3,"중심선"); 수식2 input : length(2),percent(0.6),hllength(10); input : highlighting(true); input : mav(1); # 1:SMA, 2:EMA, 3:WMA, 4:DEMA, 5:TMA, 6:VAR, 7:WWMA, 8:ZLEMA, 9:TSF, 10:HULL var : src(0),srcl(0); var : DEMA(0); src = highest(high, hllength); srcl = lowest(low, hllength); var : valpha(0),vud1(0),vdd1(0),vUD(0),vDD(0),vCMO(0),_var(0); valpha = 2 / (length + 1); vud1 = iff(src > src[1] , src - src[1] , 0); vdd1 = iff(src < src[1] , src[1] - src , 0); vUD = AccumN(vud1, 9); vDD = AccumN(vdd1, 9); vCMO = iff(isnan(((vUD - vDD) / (vUD + vDD))),((vUD - vDD) / (vUD + vDD)),0); _VAR = 0.0; _VAR = iff(isnan(valpha * abs(vCMO) * src) == False,valpha * abs(vCMO) * src,0) + (1 - valpha * abs(vCMO)) * iff(isnan(_VAR[1])==False,_VAR[1],0); DEMA = 2 * ema(src, length) - ema(ema(src, length), length); var : wwalpha(0),wwma(0); wwalpha = 1 / length; WWMA = 0.0; WWMA = wwalpha * src + (1 - wwalpha) * IFf(IsNan(WWMA[1]) == False,WWMA[1],0); var : zxLag(0),zxEMAData(0),ZLEMA(0); zxLag = IFf(length / 2 == round(length / 2,0) , length / 2 , (length - 1) / 2); zxEMAData = src + src - src[zxLag]; ZLEMA = ema(zxEMAData, length); var : lrc(0),lrc1(0),LRS(0),TSF(0); lrc = LRL(src, length); lrc1 = LRL(src, length)[1]; lrs = lrc - lrc1; TSF = lrc + lrs; var : hma(0); HMA = wma(2 * wma(src, length / 2) - wma(src, length), round(sqrt(length),0)); var : valphal(0),vud1l(0),vdd1l(0),vUDl(0),vDDl(0),vCMOl(0),VARl(0); valphal = 2 / (length + 1); vud1l = iff(srcl > srcl[1] , srcl - srcl[1] , 0); vdd1l = iff(srcl < srcl[1] , srcl[1] - srcl , 0); vUDl = AccumN(vud1l, 9); vDDl = AccumN(vdd1l, 9); vCMOl = iff(IsNan((vUDl - vDDl) / (vUDl + vDDl)) == False,(vUDl - vDDl) / (vUDl + vDDl),0); VARl = 0.0; VARl = iff(IsNan(valphal * abs(vCMOl) * srcl),valphal * abs(vCMOl) * srcl,0) + (1 - valphal * abs(vCMOl)) * iff(isnan(VARl[1]) == False,VARl[1],0); var : DEMAl(0); DEMAl = 2 * ema(srcl, length) - ema(ema(srcl, length), length); var : wwalphal(0),WWMAl(0); wwalphal = 1 / length; WWMAl = 0.0; WWMAl = wwalphal * srcl + (1 - wwalphal) * iff(IsNan(WWMAl[1]) == False,WWMAl[1],0); var : zxLagl(0),zxEMADatal(0),ZLEMAl(0); zxLagl = iff(length / 2 == round(length / 2,0) , length / 2 , (length - 1) / 2); zxEMADatal = srcl + srcl - srcl[zxLagl]; ZLEMAl = ema(zxEMADatal, length); var : lrcl(0),lrc1l(0),lrsl(0),TSFl(0); lrcl = lrl(srcl, length); lrc1l = LRl(srcl, length)[1]; lrsl = lrcl - lrc1l; TSFl = LRl(srcl, length) + lrsl; var : HMAL(0); HMAl = wma(2 * wma(srcl, length / 2) - wma(srcl, length), round(sqrt(length),0)); var : _MA(0),mal(0); if mav == 1 then _ma = ma(src, length); if mav == 2 then _ma = ema(src, length); if mav == 3 then _ma = wma(src, length); if mav == 4 then _ma = DEMA; if mav == 5 then _ma = ma(ma(src, Ceiling(length / 2)), floor(length / 2) + 1); if mav == 6 then _ma = _VAR; if mav == 7 then _ma = WWMA; if mav == 8 then _ma = ZLEMA; if mav == 9 then _ma = TSF; if mav == 10 then _ma = HMA; if mav == 1 then mal = ma(srcl, length); if mav == 2 then mal = ema(srcl, length); if mav == 3 then mal = wma(srcl, length); if mav == 4 then mal = DEMAl; if mav == 5 then mal = ma(ma(srcl, Ceiling(length / 2)), floor(length / 2) + 1); if mav == 6 then mal = VARl; if mav == 7 then mal = WWMAl; if mav == 8 then mal = ZLEMAl; if mav == 9 then mal = TSFl; if mav == 10 then mal = HMAl; var : mavg(0),fark(0),longstop(0),longStopPrev(0),shortstop(0),shortstopprev(0); var : dir(0),MT(0),HOTT(0),HOTTC(0); var : MAvgl(0),farkl(0),longStopl(0),longStopPrevl(0),shortStopl(0),shortStopPrevl(0); var : dirl(0),MTl(0),LOTT(0),LOTTC(0); MAvg = _ma; fark = MAvg * percent * 0.01; longStop = MAvg - fark; longStopPrev = iff(IsNaN(longStop[1]) == False, longStop,0); longStop = iff(MAvg > longStopPrev , max(longStop, longStopPrev) , longStop); shortStop = MAvg + fark; shortStopPrev = iff(isnan(shortStop[1])==False, shortStop,0); shortStop = iff(MAvg < shortStopPrev , min(shortStop, shortStopPrev) , shortStop); dir = 1; dir = iff(isnan(dir[1])== False, dir,0); dir = iff(dir == -1 and MAvg > shortStopPrev , 1 , iff(dir == 1 and MAvg < longStopPrev , -1 , dir)); MT = iff(dir == 1 , longStop , shortStop); HOTT = iff(MAvg > MT , MT * (200 + percent) / 200 , MT * (200 - percent) / 200); HOTTC = blue; MAvgl = MAl; farkl = MAvgl * percent * 0.01; longStopl = MAvgl - farkl; longStopPrevl = iff(isnan(longStopl[1]) == False, longStopl,0); longStopl = iff(MAvgl > longStopPrevl , max(longStopl, longStopPrevl) , longStopl); shortStopl = MAvgl + farkl; shortStopPrevl = iff(isnan(shortStopl[1])==False, shortStopl,0); shortStopl = iff(MAvgl < shortStopPrevl , min(shortStopl, shortStopPrevl) , shortStopl); dirl = 1; dirl = iff(isnan(dirl[1]), dirl,0); dirl = iff(dirl == -1 and MAvgl > shortStopPrevl , 1 , iff(dirl == 1 and MAvgl < longStopPrevl , -1 , dirl)); MTl = iff(dirl == 1 , longStopl , shortStopl); LOTT = iff(MAvgl > MTl , MTl * (200 + percent) / 200 , MTl * (200 - percent) / 200); LOTTC = red; plot1(HOTT[2], "HOTT",HOTTC); plot2(LOTT[2], "LOTT",LOTTC); 첫번째: 수식1의 최고가선이 수식2의 HOTT 선을 돌파하면 매수/매도 신호가 나오게 해주세요 두번째: 수식1의 최저가선이 수식2의 LOTT 선을 돌파하면 매수/매도 신호가 나오게 해주세요 수식을 통합하지말고 각각 작성해주세요.
프로필 이미지
신대륙발견
2023-07-25
1237
글번호 170923
시스템