커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

일봉

수고 많으십니다. 질문 1. 국내선물 근월물 일봉의 상장때(첫거래일)부터 현재까지의 시(작)가, 고가, 저가를 표시하는 식(참고로 현재 거래되는 근월물은 2024년 9월 13일에 첫거래가 있었습니다.) 2. 이 기간 첫거래부터 현재까지의 거래량, 거래대금을 누적시키는 수식
프로필 이미지
가람봉
2025-06-17
301
글번호 191818
지표
답변완료

시스템수식 작성 부탁드립니다.

안녕하십니까. 시스템 수식 작성 부탁드립니다. 1. 조건 현재가를 X라고 할 때, X가 시가 위에 있고, 시가 < X < (시가+5) 범위 내로 처음 내려왔을 일 경우 (즉 현재가가 시간 위이고 시가+5포인트 범위 내에 처음 들어왔을 경우) 2. 진입 시가+1포인트 가격에서 지정가 매수 진입 3. 청산 1) 익절 진입한 가격에서 +10포인트 되었을 때 그 순간 지정가 매도(익절) 2) 손절 (1) 매수 진입한 캔들의 현재가가 시가-10포인트 이하가 되었을 때 바로 시장가 Stop매도(손절) 또는 (2) 매수 진입한 캔들의 저가가 시가-3포인트 이하가 되었을 경우, 현재가가 시가에 왔을때 시가 지정가 Stop매도(본절) 항상 많은 도움 주셔서 감사합니다.
프로필 이미지
길게가자
2025-06-17
267
글번호 191817
시스템
답변완료

부탁드립니다^^

아래 지표 수식을 화면 box 강세, 약세로 변환 부탁드립니다. input : length(50); input : factor(1.0); input : col_up(Red); input : col_dn(Lime); input : col_ul(Cyan); var : direction(0),count_up(0),count_dn(0); var : volatility(0),upper(0),lower(0),sig_up(False),sig_dn(False); var : upper_band(0),lower_band(0); var : hlc3(0),alpha(0),ATrv(0); var : tx1(0),tx2(0); var1 = ma(C,25); var2 = ma(C,length); hlc3 = (H+L+C)/3; volatility = ma(high-low, 70) * factor; upper = highest(var1 + volatility, int(length/2)); lower = lowest(var2 - volatility, int(length/2)); sig_up = CrossUp(hlc3, upper); sig_dn = CrossDown(hlc3, lower); if sig_up == true Then direction = 1; if sig_dn == true Then direction = -1; upper = iff(direction == 1 , Nan , upper); lower = iff(direction == -1 , Nan , lower); if direction == 1 Then { count_up = count_up+ 0.5; count_dn = 0; } if direction == -1 Then { count_dn = count_dn+0.5; count_up = 0; } count_up = iff(count_up > 70 , 70 , count_up); count_dn = iff(count_dn > 70 , 70 , count_dn); alpha = 1 / 100 ; ATrV = IFf(IsNan(ATrV[1]) == true, ma(TrueRange,100) , alpha * TrueRange + (1 - alpha) * IFf(isnan(ATrV[1])==true,0,ATrV[1])); upper_band = lower + ATRV*5; lower_band = upper - ATRV*5; if IsNaN(upper_band) == False Then plot1(upper_band, "Upper Wave",iff(index % 2 == 0 , nan , col_ul)); Else NoPlot(1); if IsNaN(lower_band) == False Then plot2(lower_band, "Lower Wave",iff(index % 2 == 0 , nan , col_ul)); Else NoPlot(2); if IsNaN(upper) == False Then plot3(upper, "Upper Band",col_dn); Else NoPlot(3); if IsNaN(lower) == False Then plot4(lower, "Lower Band",col_up); Else NoPlot(4); plot5(C); if direction != direction[1] and direction == 1 Then { tx1 = Text_New_Self(sDate,sTime,Lower,"●"); Text_SetStyle(tx1,2,2); Text_SetColor(tx1,col_up); Text_setsize(Tx1,15); tx2 = Text_New_Self(sDate,sTime,L,"▲"); Text_SetStyle(tx2,2,0); Text_SetColor(tx2,col_up); Text_setsize(Tx2,19); } if direction != direction[1] and direction == -1 Then { tx1 = Text_New_Self(sDate,sTime,upper,"●"); Text_SetStyle(tx1,2,2); Text_SetColor(tx1,col_dn); Text_setsize(Tx1,15); tx2 = Text_New_Self(sDate,sTime,H,"▼"); Text_SetStyle(tx2,2,1); Text_SetColor(tx2,col_dn); Text_setsize(Tx2,19); } 감사합니다~맛점하세요^^
프로필 이미지
체리피커
2025-06-17
283
글번호 191814
지표
답변완료

안녕하세요

데이트레이딩에서 당일 고점 또는 저점을 갱신시 매수 또는 매도 진입 하는시스템 식을 부탁드립니다. 청산은 당일 청산입니다 ^^
프로필 이미지
gunman
2025-06-17
228
글번호 191798
시스템

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2025-06-17
24
글번호 191797
시스템
답변완료

수식좀 요청 드립니다.

ㅇ항상 많은 도움에 고맙습니다. ㅇ 아래 수식에 보면 3등분선이 나오는데 색상좀 부탁 드림니다. ## input : n(20); input : BW(1); var : hh(0),ll(0),idx(0),tf(0),hh1(0),ll1(0),hh2(0),ll2(0); var : TL1(0),TL2(0),d1(0),t1(0),TL3(0); var : HTL1(0),HTL2(0),HTL3(0),HTL4(0),HTL5(0),HTL6(0),ii(0),tx(0); if Bdate != Bdate[1] Then idx = 0; Else idx = idx+1; TF = idx%n; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { hh = h; ll = l; hh1 = hh[1]; ll1 = ll[1]; hh2 = hh1[1]; ll2 = ll1[1]; d1 = sDate; t1 = sTime; ii = 1; #TL_Delete(TL1); //TL1 = TL_new(d1,t1,hh,NextBarSdate,NextBarStime,HH); // TL1 = TL_new(d1,t1,hh,NextBarSdate,NextBarStime,NextBarStime); TL1 = TL_New(sDate,sTime,HH[0],NextBarSdate,NextBarStime,HH[0]); //TL1 = TL_New(sDate[0],sTime[0],HH,sDate,sTime,HH); TL_SetColor(TL1,RgB(0,0,255)); TL_SetSize(TL1,BW); //TL_SetEnd(TL1[0],sDate,sTime,NextBarStime); //TL1 = TL_new(sDate,sTime,HH+0.25,NextBarSdate,NextBarStime,HH+0.25); //TL_SetEnd(TL1,sDate,sTime,HH+0.25); //TL_SetExtRight(TL1[10],true); #TL_Delete(TL2); TL2 = TL_new(d1,t1,ll,NextBarSdate,NextBarStime,ll); TL_SetColor(TL2,RgB(0,0,255)); TL_SetSize(TL2,BW); //TL_SetStyle((TL2,2,1); #TL_Delete(TL3); TL3 = TL_new(d1,t1,(hh+ll)/2,NextBarSdate,NextBarStime,(hh+ll)/2); TL_SetColor(TL3,Rgb(0,0,255)); TL_SetSize(TL3,BW); } Else { ii = ii +1; TL_SetEnd(TL1,sDate,sTime,HH); TL_SetEnd(TL2,sDate,sTime,LL); TL_SetEnd(TL3,sDate,sTime,(HH+LL)/2); if ii%2 == 0 Then { tx = Text_New(sDate,sTime,HH,NumToStr(ii,0)); Text_SetStyle(tx,2,1); } } #if h > hh Then #{ # hh = h; // TL_SetBegin(TL1,d1,t1,hh); // TL_SetBegin(TL3,d1,t1,(hh+ll)/2); #} #if l < ll Then #{ # ll = l; //TL_SetBegin(TL2,d1,t1,ll); // TL_SetBegin(TL3,d1,t1,(hh+ll)/2); #} //TL_SetEnd(TL1,NextBarSdate,NextBarStime,hh); //TL_SetEnd(TL2,NextBarSdate,NextBarStime,ll); //TL_SetEnd(TL3,NextBarSdate,NextBarStime,(hh+ll)/2); //var1 = (hh+ll)/2; //var2 = (hh1+ll1)/2; //var3 = (hh2+ll2)/2; //Var4 = MA(var1,5) ; // Plot1(Var4-PriceScale*10,"1",RgB(255,0,255),DeF,2) ; //Plot2(var2,"2",RgB(0,0,255),DeF,3) ; //Plot3(var3,"3",RgB(0,0,0),DeF,3) ; input : n2(20); var : hh3(0),ll3(0),idx3(0),tf3(0),hh4(0),ll4(0),hh5(0),ll5(0); var : TL11(0),TL12(0),d13(0),t13(0),TL13(0); if Bdate != Bdate[1] Then idx3 = 0; Else idx3 = idx+1; tf3 = idx3%n2; if Bdate != Bdate[1] or (Bdate == Bdate[1] and tf3 < tf3[1]) Then { hh3 = h; ll3 = l; hh4 = hh3[1]; ll4 = ll3[1]; hh5 = hh4[1]; ll5 = ll4[1]; d13 = sDate; t13 = sTime; #TL_Delete(TL11); // TL11 = TL_new(d13,t13,hh3,NextBarSdate,NextBarStime,hh3); #TL_Delete(TL12); // TL12 = TL_new(d13,t13,ll3,NextBarSdate,NextBarStime,ll3); #TL_Delete(TL13); // TL13 = TL_new(d13,t13,(hh+ll)/2,NextBarSdate,NextBarStime,(hh+ll)/2); } if h > hh3 Then { hh3 = h; TL_SetBegin(TL11,d13,t13,hh3); TL_SetBegin(TL13,d13,t13,( hh3 + ll3)/2); } if l < ll3 Then { ll3 = l; TL_SetBegin(TL12,d13,t13,ll3); TL_SetBegin(TL13,d13,t13,( hh3 + ll3)/2); } //TL_SetEnd(TL11,NextBarSdate,NextBarStime,hh3); //TL_SetEnd(TL12,NextBarSdate,NextBarStime,ll3); //TL_SetEnd(TL13,NextBarSdate,NextBarStime,(hh+ll)/2); var1 = ( hh3 + ll3)/2; var2 = ( hh4 + ll4)/2; var3 = ( hh5 + ll5)/2; Var4 = MA(var1,5) ; //Plot1(Var4-PriceScale*1,"1",RgB(255,0,255),DeF,0) ; * 항상 많은 도움에 고맙습니다. 수고하십시요.
프로필 이미지
요타
2025-06-17
314
글번호 191796
지표
답변완료

수식 수정 의뢰 드립니다.

안녕하세요! 아래 수식을 예스로 변환을 좀 부탁드립니다! 감사합니다! //@version=6 indicator('AWMA', overlay = true) //inputs _Period1 = input(3, 'WMA1 Period') _Period2 = input(5, 'WMA2 Period') _Period3 = input(8, 'WMA3 Period') _Period4 = input(10, 'WMA4 Period') _Period5 = input(12, 'WMA5 Period') _Period6 = input(15, 'WMA6 Period') _Period7 = input(30, 'WMA7 Period') _Period8 = input(35, 'WMA8 Period') _Period9 = input(40, 'WMA9 Period') _Period10 = input(45, 'WMA10 Period') _Period11 = input(50, 'WMA11 Period') _Period12 = input(60, 'WMA12 Period') //calculate wma wma1 = ta.wma(close, _Period1) wma2 = ta.wma(close, _Period2) wma3 = ta.wma(close, _Period3) wma4 = ta.wma(close, _Period4) wma5 = ta.wma(close, _Period5) wma6 = ta.wma(close, _Period6) wma7 = ta.wma(close, _Period7) wma8 = ta.wma(close, _Period8) wma9 = ta.wma(close, _Period9) wma10 = ta.wma(close, _Period10) wma11 = ta.wma(close, _Period11) wma12 = ta.wma(close, _Period12) plot(wma1, color = color.new(#4fc3d2, 0), title = 'short1') plot(wma2, color = color.new(#4fc3d2, 0), title = 'short2') plot(wma3, color = color.new(#4fc3d2, 0), title = 'short3') plot(wma4, color = color.new(#4fc3d2, 0), title = 'short4') plot(wma5, color = color.new(#4fc3d2, 0), title = 'short5') plot(wma6, color = color.new(#4fc3d2, 0), title = 'short6') plot(wma7, color = color.new(#fe0d5f, 0), title = 'long1') plot(wma8, color = color.new(#fe0d5f, 0), title = 'long2') plot(wma9, color = color.new(#fe0d5f, 0), title = 'long3') plot(wma10, color = color.new(#fe0d5f, 0), title = 'long4') plot(wma11, color = color.new(#fe0d5f, 0), title = 'long5') plot(wma12, color = color.new(#fe0d5f, 0), title = 'long6')
프로필 이미지
qha71
2025-06-17
318
글번호 191795
지표
답변완료

수식부탁합니다

시스템 수식 부탁합니다 일정금액(100만원)을 정해놓고 시스템식을 가동시키면 바로 일정금액에 맞춰 시장가로 매수 주문이 나가고 매도는 익절은 매수가격 대비 퍼센트를 적용해 매도(7%) 이때도 바로 시장가로 전량 매도 손절도 매수가격 대비 일정 퍼센트를 적용해 바로 시장가로 손절매도 하는 시스템식 부탁합니다
프로필 이미지
미래테크
2025-06-17
283
글번호 191794
시스템
답변완료

안녕하세요! 답변은 잘받았습니다. 한가지만 더 부탁드리겠습니다!

안녕하세요. 시스템트레이딩 코딩 부탁드립니다. > 안녕하세요 담당자님 고생많으십니다. input : lengthMA_MACD(34), lengthSignal(9); var: src(0), hi(0), lo(0), mi(0); var: ema1(0), ema2(0), ema_zlema(0); var: md(0), sb(0), HISTO(0); // 1) 기준값 src = (High + Low + Close) / 3; // 2) ZLEMA 계산 ema1 = ema(src, lengthMA_MACD); ema2 = ema(ema1, lengthMA_MACD); ema_zlema = ema1 + (ema1 - ema2); // 3) 고가/저가 평균 (Wilder SMMA) hi = IFF(IsNaN(hi[1]), Average(High, lengthMA_MACD), (hi[1] * (lengthMA_MACD - 1) + High) / lengthMA_MACD); lo = IFF(IsNaN(lo[1]), Average(Low, lengthMA_MACD), (lo[1] * (lengthMA_MACD - 1) + Low) / lengthMA_MACD); mi = (hi + lo) / 2; // 4) Kiwoom 스타일 MD 계산 md = IFF(ema_zlema > hi, ema_zlema - hi, IFF(ema_zlema < lo, ema_zlema - lo, 0)); // 5) Signal & Histogram sb = Average(md, lengthSignal); HISTO = md - sb; // 6) 시각화 Plot1(0, "ZeroLine", Gray); Plot2(md, "PaulMACD", Red); Plot3(sb, "Signal", Blue); Plot4(HISTO, "Histogram", IFF(md > sb, Red, Blue)); 이렇게 지표는 만드는데 성공을 해서 시각화 까지 잘 되었는데요 그 다음 시스템트레이딩으로 만드는데 어려움이 있어서요 ㅠ ----------------------------------------------------------------------------------- 소중한 답변 정말 감사합니다.한가지만 더 부탁드리겠습니다. 진입사이 임계치를 넣으니 진입횟수가 거의 없어서요 ㅠㅠ 1. 입력 변수 MA MACD Length: 34 Signal Length: 9 2. 지표 계산 방식 src = (High + Low + Close) / 3 ZLEMA = EMA(src, 34) + (EMA(src, 34) - EMA(EMA(src, 34), 34)) 고가·저가에 대해 SMMA(34) 적용 hi = SMMA(High, 34) lo = SMMA(Low, 34) mid = (hi + lo) / 2 Paul MACD(md) 계산 pascal 복사 편집 md = IFF(ema_zlema > hi, ema_zlema - hi, IFF(ema_zlema < lo, ema_zlema - lo, 0)); Signal(sb) 및 Histogram(HISTO) pascal 복사 편집 sb = SMA(md, 9); HISTO = md - sb; 3. 매매 로직 진입(Short) md[1] > sb[1]인 상태에서 md < sb로 하향 교차할 때 주문: SellShort 청산(Cover) md[1] < sb[1]인 상태에서 md > sb로 상향 교차할 때 주문: BuyToCover 진입은 paulmacd선이 시그널선을 하향교차할때 청산은 paulmacd선이 시그널선을 상향교차할때 진입사이 임계치를 제외하고 이렇게 부탁드리겠습니다. 감사합니다!
프로필 이미지
최태수
2025-06-16
392
글번호 191793
시스템