커뮤니티

예스랭귀지 Q&A

글쓰기

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

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

부탁드립니다

1. 매 40분마다 양봉일 때 누적된 거래량이 많으면 캔들에 파란색으로, 음봉일 때 누적된 거래량이 많으면 캔들에 빨강색으로 구현해 주세요 2. 매일 양봉일 때 누적된 거래량이 많으면 캔들에 파란색으로, 음봉일 때 누적된 거래량이 많으면 캔들에 빨강색으로 구현해 주세요 고맙습니다.
프로필 이미지
서태공
2024-01-14
904
글번호 175717
강조

선행 님에 의해서 삭제되었습니다.

프로필 이미지
선행
2024-01-14
0
글번호 175716
지표

양치기 님에 의해서 삭제되었습니다.

프로필 이미지
양치기
2024-01-18
38
글번호 175715
시스템
답변완료

문의 드립니다!

안녕하세요! 아래 2개수식을 아침 9시부터 적용(시작)이 되는 수식으로 각각 변환 부탁드립니다 감사합니다! ----------------------------------------------------- (수식 1) INPUT : RsiPeriod(13),PLPeriod(2),TSLPeriod(7), BandPeriod(34), 표준편차(1.6185); var :RSIV(0), RSIPL(0), TSL(0), MidBand(0), UpBand(0),DnBand(0) ; var : TL1(0), TL2(0), TLi1(0), TLi2(0), TX1(0), TX2(0), TX3(0), TX4(0), TX5(0), TX6(0); var : TXi1(0),TXi2(0),TXi3(0),TXi4(0); #RSI RSIV = RSI(RSIPeriod); #RSI시그널1 RSIPL = ma(RSIV,PLPeriod); #RSI시그널2 TSL = ma(RSIV,TSLPeriod); #RSI 볼밴 중단 MidBand = ma(RSIV,BandPeriod); #RSI 볼밴 상단 UpBand = MidBand + (표준편차 * std(RSIV, BandPeriod)); #RSI 볼밴 하단 DnBand = MidBand - (표준편차 * std(RSIV, BandPeriod)); #RSI시그널1이 50이하에서 상승반전 if RSIPL > RSIPL[1] and RSIPL[1] < RSIPL[2] and RSIPL < 50 then { #RSI시그널1값 var1 = RSIPL[1]; #직전 상승반전시 RSI시그널1값 var2 = var1[1]; #저가 var3 = L[1]; #직전 상승반전시 저가 var4 = var3[1]; #날짜 var5 = sdate[1]; var6 = var5[1]; #시간 var7 = stime[1]; var8 = var7[1]; #현재 RSI시그널1값이 직전 상승반전시 RSI시그널1값보다 크고 #현재 저가는 직전 상승반전시 저가보다 작으면 1 if var1 > var2 and var3 < var4 then var9 = 1; } else #상승반전아니면 0 var9 = 0; if var9 == 1 then { TL1 = TL_New(var6,var8,var4,var5,var7,var3); TL_SetSize(TL1, 5); TL_SetColor(TL1, magenta); TLi1= TL_New_self(var6,var8,var2,var5,var7,var1); TL_SetSize(TLi1, 5); TL_SetColor(TLi1, magenta); TX1 = Text_new(var5, var7, L, "★"); Text_SetColor(Tx1,black); Text_SetStyle(Tx1,0,0); Text_SetSize(Tx1,18);#크기 PlaySound("C:₩예스트레이더(X64)₩data₩Sound₩.wav"); TXi1 = Text_New_Self(var5, var7, var1, "★"); Text_SetColor(Txi1,black); Text_SetStyle(Txi1,0,0); Text_SetSize(Txi1,18);#크기 PlaySound("C:₩예스트레이더(X64)₩data₩Sound₩.wav"); } if CrossUp(RSIPL, DnBand) then { TX3 = Text_new(sdate, stime, L, "▲"); Text_SetColor(Tx3,black); Text_SetStyle(Tx3,2,0); Text_SetSize(Tx3,10);#크기 TXi3 = Text_New_Self(sdate, stime, RSIPL, "▲"); Text_SetColor(Txi3,black); Text_SetStyle(Txi3,2,0); Text_SetSize(Txi3,10);#크기 } #RSI시그널1이 50위에서 하락반전 if RSIPL < RSIPL[1] and RSIPL[1] > RSIPL[2] and RSIPL > 50 then { #RSI시그널1값 var11 = RSIPL[1]; #직전 상승반전시 RSI시그널1값 var12 = var11[1]; #고가 var13 = H[1]; #직전 상승반전시 고가값 var14 = var13[1]; #날짜 var15 = sdate[1]; var16 = var15[1]; #시간 var17 = stime[1]; var18 = var17[1]; #현재 RSI시그널1값이 직전 하락반전시 RSI시그널1값보다 작고 #현재 고가는 직전 하락반전시 고가보다 크면 1 if var11 < var12 and var13 > var14 then var19 = 1; } else #하락반전 아니면 0 var19 = 0; if var19 == 1 then { TL2 = TL_New(var16,var18,var14,var15,var17,var13); TL_SetSize(TL2, 5); TL_SetColor(TL2, Blue); TLi2= TL_New_self(var16,var18,var12,var15,var17,var11); TL_SetSize(TLi2, 5); TL_SetColor(TLi2, Blue); TX2 = Text_new(var15, var17, H, "★"); Text_SetColor(Tx2,black); Text_SetStyle(Tx2,0,1); Text_SetSize(Tx2,18);#크기 PlaySound("C:₩예스트레이더(X64)₩data₩Sound₩.wav"); TXi2 = Text_New_Self(var15, var17, var11, "★"); Text_SetColor(Txi2,black); Text_SetStyle(Txi2,0,1); Text_SetSize(Txi2,18);#크기 PlaySound("C:₩예스트레이더(X64)₩data₩Sound₩.wav"); } if CrossDown(RSIPL, UpBand) then { TX4 = Text_new(sdate, stime, H, "▼"); Text_SetColor(Tx4,black); Text_SetStyle(Tx4,2,1); Text_SetSize(Tx4,18);#크기 TXi4 = Text_New_Self(sdate, stime, RSIPL, "▼"); Text_SetColor(Txi4,black); Text_SetStyle(Txi4,2,1); Text_SetSize(Txi4,18);#크기 } plot1(RSIPL, "RSIPL",Lgreen,def,0); plot2(TSL,"TSL",DarkRed,def,1); plot3(MidBand,"MidBand",Yellow,def,1); plot4(UpBand,"UpBand",Blue,def,0); plot5(DnBand,"DnBand",Magenta,def,0); if CrossUp(RSIPL,DnBand) then plot6(RSIPL, "상향돌파시점"); if CrossDown(RSIPL, UpBand) then plot7(RSIPL, "하향이탈시점"); if var9 == 1 then plot8(RSIPL, "상승다이버전스"); if var19 == 1 then plot9(RSIPL, "하락다이버전스"); (수식 2) input : af(0.2), maxAF(0.3); input : 텍스트출력(0),선굵기(5); var : T(0),cnt(0),count(0); var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0),day1(0),day0(0),TL3(0); var : TL1(0),TL2(0),tx1(0),tx2(0),tx11(0),tx22(0),idx(0),tx99(0),tx88(0); Array : HD[20](0),HT[20](0),HH[20](0),LD[20](0),LT[20](0),LL[20](0); Array : HI[20](0),LI[20](0); var1 = CSar(af,maxAF); if bdate != bdate[1] Then { day0 = sdate; day1 = day0[1]; } if crossup(c,var1) Then { T = 1; HH[0] = H; HD[0] = sdate; HT[0] = stime; HI[0] = index; for cnt = 1 to 19 { HD[cnt] = HD[cnt-1][1]; HT[cnt] = HT[cnt-1][1]; HH[cnt] = HH[cnt-1][1]; HI[cnt] = HI[cnt-1][1]; } if LL[0] > 0 Then { Condition1 = false; for cnt = 1 to 19 { if Condition1 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then { Condition1 = true; TL1 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]); TL_SetSize(TL1,선굵기); TL_SetColor(TL1,cyan); idx = abs(LI[0]-LI[cnt]); //tx99 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0)); Text_SetColor(tx99,cyan); Text_SetStyle(tx99,0,3); Text_SetBold(tx99,2); PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav"); } } } } if CrossDown(c,var1) Then { T = -1; LL[0] = L; LD[0] = sdate; LT[0] = stime; LI[0] = index; for cnt = 1 to 19 { LD[cnt] = LD[cnt-1][1]; LT[cnt] = LT[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; LI[cnt] = LI[cnt-1][1]; } if HH[0] > 0 Then { Condition2 = false; for cnt = 1 to 19 { if Condition2 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then { Condition2 = true; TL2 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]); TL_SetSize(TL2,선굵기); TL_SetColor(TL2,cyan); idx = abs(HI[0]-HI[cnt]); //tx99 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0)); Text_SetColor(tx99,cyan); Text_SetStyle(tx99,0,3); Text_SetBold(tx99,2); PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav"); } } } } if T == 1 then { if H > HH[0] Then { HH[0] = H; HD[0] = sdate; HT[0] = stime; if Condition3 == false and abs(HH[0]-HH[cnt]) <= PriceScale*1 and HD[cnt] >= day1 Then { Condition3 = true; TL3 = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]); TL_SetSize(TL3,선굵기); TL_SetColor(TL3,cyan); idx = abs(HI[0]-HI[cnt]); //tx88 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0)); Text_SetColor(tx88,cyan); Text_SetStyle(tx88,0,3); Text_SetBold(tx88,2); PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav"); } } } if T == -1 then { if L < LL[0] Then { LL[0] = L; LD[0] = sdate; LT[0] = stime; if Condition3 == false and abs(LL[0]-LL[cnt]) <= PriceScale*1 and LD[cnt] >= day1 Then { Condition3 = true; TL3 = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]); TL_SetSize(TL3,선굵기); TL_SetColor(TL3,cyan); idx = abs(LI[0]-LI[cnt]); //tx88 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0)); Text_SetColor(tx88,cyan); Text_SetStyle(tx88,0,3); Text_SetBold(tx88,2); PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav"); } } }
프로필 이미지
유로파54
2024-01-13
746
글번호 175714
지표
답변완료

예스에서 종목검색하고 싶어요

A=(highest(high(1),26)+lowest(low(1),26))/2; B=(highest(high(1),52)+lowest(low(1),52))/2; A1=(highest(high,26)+lowest(low,26))/2; B1=(highest(high,52)+lowest(low,52))/2; A==B AND (A1>A OR B1>B) 예스스탁에서 종목검색할 수 있도록 변환 부탁드립니다. 항상 감사합니다.^^
프로필 이미지
매일대박
2024-01-15
875
글번호 175713
종목검색
답변완료

부탁드립니다

안녕하세요. 항상 큰 도움 주셔서 감사드립니다. 아래의 TV지표를 YS지표로 사용하고 싶습니다. study(title = "Volume Flow Indicator [LazyBear]", shorttitle="VFI_LB") length = input(130, title="VFI length") coef = input(0.2) vcoef = input(2.5, title="Max. vol. cutoff") signalLength=input(5) smoothVFI=input(false, type=bool) ma(x,y) => smoothVFI ? sma(x,y) : x typical=hlc3 inter = log( typical ) - log( typical[1] ) vinter = stdev(inter, 30 ) cutoff = coef * vinter * close vave = sma( volume, length )[1] vmax = vave * vcoef vc = iff(volume < vmax, volume, vmax) //min( volume, vmax ) mf = typical - typical[1] vcp = iff( mf > cutoff, vc, iff ( mf < -cutoff, -vc, 0 ) ) vfi = ma(sum( vcp , length )/vave, 3) vfima=ema( vfi, signalLength ) d=vfi-vfima plot(0, color=gray, style=3) showHisto=input(false, type=bool) plot(showHisto ? d : na, style=histogram, color=gray, linewidth=3, transp=50) plot( vfima , title="EMA of vfi", color=orange) plot( vfi, title="vfi", color=green,linewidth=2)
프로필 이미지
기찬주
2024-01-13
765
글번호 175712
지표
답변완료

수식 요청

input : Price(31850),진입횟수(1); 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 NextBarSdate == sDate and NextBarStime >= 91500 and H < price and entry < 진입횟수 Then Buy("b",AtStop,price); ★ 위 수식이 당일 장이 시작되는 09:00부터 생성되는 봉만으로 판단하여 작동될 수 있도록 변경 부탁드리겠습니다. 노고에 늘 감사드립니다.
프로필 이미지
autotra
2024-01-14
640
글번호 175711
시스템
답변완료

문의드립니다

볼린저밴드 이평,상단,하단에 현재가가 터치하면 알람이 울리게 하는 지표식 부탁합니다 터치할때만 한번 울리고 계속 울리지는 말구요 감사합니다.
프로필 이미지
러블리
2024-01-13
622
글번호 175710
지표
답변완료

85357번 추가 질의 드립니다.

전환선쪽 표식이 캔들과 상당히 떨어져 있는데, 조정이 안되는 걸까요? ㅠㅠ
프로필 이미지
tops
2024-01-13
662
글번호 175709
지표