커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

거래량

감사합니다. 1. 사용자함수 monthhigh(0), monthlow(0) 처럼 일봉상의 전월 최고 거래량이면 최고가를 표시하고,MonthHighest_V(1) 일봉상의 전월 최저 거래량이면 최저가를 표시하는, MonthLowest_V(1) 사용자함수를 만들고 싶습니다. 일봉상에서 전월,전전월 등 월을 변수로 바꾸면서 표시하고 싶습니다. 사용자함수명 MonthHighest_V(0) MonthLowest_V(0)
프로필 이미지
jdavid
2024-01-24
1164
글번호 176034
사용자 함수
답변완료

수식검토 부탁드립니다.

안녕하세요. 운영자님 예전에 의뢰드렸던 시스템신호를 가동시키면 그림과 같이 메시지가 뜨는데 해결 부탁드립니다. input : signal_length(11),sma_signal(true),lin_reg(true),linreg_length(11); input : lengthMA(34),lengthSignal(9); input : sto1(12),sto2(5),sto3(5); input : RSIP(9); var : bopen1(0,Data1),bhigh1(0,Data1),blow1(0,Data1),bclose1(0,Data1),r1(False,Data1); var : bopen2(0,Data2),bhigh2(0,Data2),blow2(0,Data2),bclose2(0,Data2),r2(False,Data2); var : bopen3(0,Data3),bhigh3(0,Data3),blow3(0,Data3),bclose3(0,Data3),r3(False,Data3); var : bopen4(0,Data4),bhigh4(0,Data4),blow4(0,Data4),bclose4(0,Data4),r4(False,Data4); var : src1(0,Data1),hi1(0,Data1),lo1(0,Data1),Ema1(0,Data1),eema1(0,Data1),mi1(0,Data1); var : md1(0,Data1),sb1(0,Data1),sh1(0,Data1),mdc1(0,Data1); var : src2(0,Data2),hi2(0,Data2),lo2(0,Data2),Ema2(0,Data2),eema2(0,Data2),mi2(0,Data2); var : md2(0,Data2),sb2(0,Data2),sh2(0,Data2),mdc2(0,Data2); var : src3(0,Data3),hi3(0,Data3),lo3(0,Data3),Ema3(0,Data3),eema3(0,Data3),mi3(0,Data3); var : md3(0,Data3),sb3(0,Data3),sh3(0,Data3),mdc3(0,Data3); var : src4(0,Data4),hi4(0,Data4),lo4(0,Data4),Ema4(0,Data4),eema4(0,Data4),mi4(0,Data4); var : md4(0,Data4),sb4(0,Data4),sh4(0,Data4),mdc4(0,Data4); var : stok1(0,Data1),stod1(0,Data1),RSIV1(0,Data1); var : stok2(0,Data2),stod2(0,Data2),RSIV2(0,Data2); var : stok3(0,Data3),stod3(0,Data3),RSIV3(0,Data3); var : stok4(0,Data4),stod4(0,Data4),RSIV4(0,Data4); var : Bcond(False,Data1),Scond(False,Data1); bopen1 = data1(iff(lin_reg , LRL(open, linreg_length) , open)); bhigh1 = data1(iff(lin_reg , LRL(high, linreg_length) , high)); blow1 = data1(iff(lin_reg , LRL(low, linreg_length) , low)); bclose1 = data1(iff(lin_reg , LRL(close, linreg_length) , close)); r1 = data1(bopen1 < bclose1); bopen2 = data2(iff(lin_reg , LRL(open, linreg_length) , open)); bhigh2 = data2(iff(lin_reg , LRL(high, linreg_length) , high)); blow2 = data2(iff(lin_reg , LRL(low, linreg_length) , low)); bclose2 = data2(iff(lin_reg , LRL(close, linreg_length) , close)); r2 = data2(bopen2 < bclose2); bopen3 = data3(iff(lin_reg , LRL(open, linreg_length) , open)); bhigh3 = data3(iff(lin_reg , LRL(high, linreg_length) , high)); blow3 = data3(iff(lin_reg , LRL(low, linreg_length) , low)); bclose3 = data3(iff(lin_reg , LRL(close, linreg_length) , close)); r3 = data3(bopen3 < bclose3); bopen4 = data4(iff(lin_reg , LRL(open, linreg_length) , open)); bhigh4 = data4(iff(lin_reg , LRL(high, linreg_length) , high)); blow4 = data4(iff(lin_reg , LRL(low, linreg_length) , low)); bclose4 = data4(iff(lin_reg , LRL(close, linreg_length) , close)); r4 = data4(bopen4 < bclose4); src1 = Data1((h+l+c)/3); hi1 = data1(IFF(IsNan(hi1[1]) == true, ma(high,lengthMA), hi1[1]*(lengthMA-1)+high)/lengthMA); lo1 = data1(IFF(IsNan(lo1[1]) == true, ma(low,lengthMA), lo1[1]*(lengthMA-1)+low)/lengthMA); ema1 = data1(ema(src1, lengthMA)); eema1 = data1(ema(ema1, lengthMA)); mi1 = ema1+(ema1-eema1); md1 = data1(IFf((mi1>hi1), (mi1-hi1) , IFf((mi1<lo1) , (mi1 - lo1) , 0))); sb1 = data1(ma(md1, lengthSignal)); sh1 = md1-sb1; mdc1 = data1(iff(src1>mi1,iff(src1>hi1,lime,green),iff(src1<lo1,red,orange))); src2 = Data2((h+l+c)/3); hi2 = data2(IFF(IsNan(hi2[1]) == true, ma(high,lengthMA), hi2[1]*(lengthMA-1)+high)/lengthMA); lo2 = data2(IFF(IsNan(lo2[1]) == true, ma(low,lengthMA), lo2[1]*(lengthMA-1)+low)/lengthMA); ema2 = data2(ema(src2, lengthMA)); eema2 = data2(ema(ema2, lengthMA)); mi2 = ema2+(ema2-eema2); md2 = data2(IFf((mi2>hi2), (mi2-hi2) , IFf((mi2<lo2) , (mi2 - lo2) , 0))); sb2 = data2(ma(md2, lengthSignal)); sh2 = md2-sb2; mdc2 = data2(iff(src2>mi2,iff(src2>hi2,lime,green),iff(src2<lo2,red,orange))); src3 = Data3((h+l+c)/3); hi3 = data3(IFF(IsNan(hi3[1]) == true, ma(high,lengthMA), hi3[1]*(lengthMA-1)+high)/lengthMA); lo3 = data3(IFF(IsNan(lo3[1]) == true, ma(low,lengthMA), lo3[1]*(lengthMA-1)+low)/lengthMA); ema3 = data3(ema(src3, lengthMA)); eema3 = data3(ema(ema3, lengthMA)); mi3 = ema3+(ema3-eema3); md3 = data3(IFf((mi3>hi3), (mi3-hi3) , IFf((mi3<lo3) , (mi3 - lo3) , 0))); sb3 = data3(ma(md3, lengthSignal)); sh3 = md3-sb3; mdc3 = data3(iff(src3>mi3,iff(src3>hi3,lime,green),iff(src3<lo3,red,orange))); src4 = Data4((h+l+c)/3); hi4 = data4(IFF(IsNan(hi4[1]) == true, ma(high,lengthMA), hi4[1]*(lengthMA-1)+high)/lengthMA); lo4 = data4(IFF(IsNan(lo4[1]) == true, ma(low,lengthMA), lo4[1]*(lengthMA-1)+low)/lengthMA); ema4 = data4(ema(src4, lengthMA)); eema4 = data4(ema(ema4, lengthMA)); mi4 = ema4+(ema4-eema4); md4 = data4(IFf((mi4>hi4), (mi4-hi4) , IFf((mi4<lo4) , (mi4 - lo4) , 0))); sb4 = data4(ma(md4, lengthSignal)); sh4 = md4-sb4; mdc4 = data4(iff(src4>mi4,iff(src4>hi4,lime,green),iff(src4<lo4,red,orange))); stok1 = data1(StochasticsK(sto1,sto2)); stod1 = data1(StochasticsD(sto1,sto2,sto3)); RSIV1 = data1(RSI(RSIP)); stok2 = data2(StochasticsK(sto1,sto2)); stod2 = data2(StochasticsD(sto1,sto2,sto3)); RSIV2 = data2(RSI(RSIP)); stok3 = data3(StochasticsK(sto1,sto2)); stod3 = data3(StochasticsD(sto1,sto2,sto3)); RSIV3 = data3(RSI(RSIP)); stok4 = data4(StochasticsK(sto1,sto2)); stod4 = data4(StochasticsD(sto1,sto2,sto3)); RSIV4 = data4(RSI(RSIP)); Bcond = r1 == true and md1 == green and stok1 > stod1 and RSIV1 > 50 and r2 == true and md2 == green and stok2 > stod2 and RSIV2 > 50 and r3 == true and md3 == green and stok3 > stod3 and RSIV3 > 50 and r4 == true and md4 == green and stok4 > stod4 and RSIV4 > 50 ; Scond = r1 == False and md1 == Red and stok1 < stod1 and RSIV1 < 50 and r2 == False and md2 == Red and stok2 < stod1 and RSIV2 < 50 and r3 == False and md3 == Red and stok3 < stod1 and RSIV3 < 50 and r4 == False and md4 == Red and stok4 < stod1 and RSIV4 < 50; if MarketPosition <= 0 and Bcond == true and Bcond[1] == False Then Buy(); if MarketPosition >= 0 and Scond == true and Scond[1] == False Then Sell(); if MarketPosition == 1 and Bcond == False Then ExitLong(); if MarketPosition == -1 and Scond == False Then ExitShort();
프로필 이미지
고박사122
2024-01-24
1187
글번호 176026
시스템
답변완료

85487 수식 수정 부탁드립니다

1) 6개 캔들 조합이 음+양양양양+음 일 때 이후 추가 7양봉 고가를 표시한다 2) 6개 캔들 조합이 음+양양양양+음 일 때 이후 추가 12 캔들 고가를 표시한다 위 두 개 수식을 각 각 하나씩 별개로 부탁드립니다 감사합니다 2023년 12월12일 4 양 2024년 01월02일 천정
프로필 이미지
para
2024-01-23
1205
글번호 176025
지표
답변완료

부탁 드립니다

도움에 감사 드립니다. 1) 1주 전에 형성된 주간가격의 최고값과 최저값의 차이값 2) 1개월 전에 형성된 월간가격의 최고값과 최저값의 차이값을 나타내는 수식 부탁 드립니다.
프로필 이미지
yes
2024-01-24
1139
글번호 176024
지표
답변완료

수식

어제 요청드린 것에서 하나 빠진게 있는데요, "1봉전 저가가 5분봉 500봉의 최저가"인 경우를 검색할 수식이 가능할까요? 알려주신 수식을 고쳐 응용해야는데 못하겠어서 부탁드려요. CountIf(l == lowest(L,500))[1] >= 1 ================================================================
프로필 이미지
ksks
2024-01-23
1041
글번호 176023
종목검색
답변완료

문의드립니다.

예스글로벌상의 OBV 와 Bostian's intraday intensity index 가 키움글로벌과 많이 다릅니다. 키움글로벌과 동일하게 만들 수있을까요?
프로필 이미지
tops
2024-01-23
1084
글번호 176022
지표
답변완료

문의 드립니다!

안녕하세요! 아래수식은 며칠전에 수정해주신 수식인데 한가지만 더 수정 부탁드립니다 장중에 실시간 진행중 챠트에서 가로선이 발생되는 발생되는 시점과 첫번째 음성신호가 발생되는 시점이 다른데요 가로선은 캔들이 완성되는 시점에 발생되고 첫번째 음성신호는 그전에 발생이되더군요 * 여기서 가로선은 아래수식 2번째 줄의 "선굵기"에의한 가로선입니다 1, 이때 첫번째 음성신호가 발생시 현재의 가로선과는 별개로 별도의 가로선(매수, 매도)가 각각 발생되게할수는 없을까요? * 가능하다면 가로선의 두께와 색상도 조정 가능토록 부탁합니다 2, 만약에 위내용이 불가하다면 어떤형태로든 첫번째 음성신호 위치를 나타낼수있는 다른방법을 알려주시면 고맙겠습니다 항상 친절하고 세심히 도와주심에 진심으로 감사드립니다! ------------------------------------------------ input : af(0.2), maxAF(0.3); input : 텍스트출력(0),선굵기(0); 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); TL_SetStyle(TL1,3); idx = abs(LI[0]-LI[cnt]); //tx99 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0)); tx99 = Text_New(LD[cnt],LT[cnt],LL[cnt],"■"); 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); TL_SetStyle(TL1,3); idx = abs(HI[0]-HI[cnt]); //tx99 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0)); tx99 = Text_New(HD[cnt],HT[cnt],HH[cnt],"■"); 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); TL_SetStyle(TL1,3); idx = abs(HI[0]-HI[cnt]); //tx88 = Text_New(HD[0],HT[0],HH[0],NumToStr(idx,0)); tx99 = Text_New(HD[cnt],HT[cnt],HH[cnt],"■"); Text_SetColor(tx88,cyan); Text_SetStyle(tx88,2,0); 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_SetStyle(TL1,3); TL_SetColor(TL3,cyan); idx = abs(LI[0]-LI[cnt]); //tx88 = Text_New(LD[0],LT[0],LL[0],NumToStr(idx,0)); tx99 = Text_New(LD[cnt],LT[cnt],LL[cnt],"■"); Text_SetColor(tx88,cyan); Text_SetStyle(tx88,2,0); Text_SetBold(tx88,2); PlaySound("C:₩예스트레이더(x64)₩data₩Sound₩.wav"); } } }
프로필 이미지
유로파54
2024-01-24
863
글번호 176021
지표

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

프로필 이미지
sanddar2
2024-01-23
4
글번호 176020
검색
답변완료

문의 드립니다

주가와 60이평이 1% 이내로 근접 수식 부탁드립니다.
프로필 이미지
pmcj
2024-01-23
944
글번호 176019
종목검색