커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 부탁드려봅니다

나스닥 1분봉거래. data1은 nq1 1분봉 .. data2는.. es1 1분봉.. 거래량이평은 미장시작시간 22시30분에 ma( v, 1),,,,,,,22시 42분은 ma( v, 12) ... ..05시까지.. 비써머타임이면 2330에서 06시까지.. 프리장 이평은 07시 00분에 ma ( v, 1).... 12시 7분이면 ma( v, 307).... 22시29분 까지 저는 지표로 만들어도 00시 01분부터 거래량이평데이타가 안나옵니다. ㅠㅠ */ /* 평균거래량 = 거래량이평.. 대량 = v > 평균거래량 * 대량비 평균봉크기 = ma ( H-L , 거래량이평과 같은 기간 ) 장대봉 = 대량봉의 h-L > 평균봉크기 * 장대봉비 if 대량봉크기 = .h-L.. > 장대봉 이면 대량 에서 제외 직전대량 고가가 현재대량 저가보다작고 현재대량 거래량이 적고 최고대량 고가보다크면 대량조건성립 . 프리장이 시작되면 대량조건 기준 초기화 미국장이 시작되면 대량조건 기준 초기화 가격기준을 nq는 25포인트.. es 는 5포인트 100으로 환산하면 0~ 30에는 매수.. 70~ 0에는 매도.. 예를 들면 po150 = Data1(FracPortion(FracPortion(c / 100) * 100 / 25) * 100); po250 = Data2(FracPortion(FracPortion(c / 10) * 10 / 5) * 100); 매수진입은 Data2 O 가 po250 의 0보다 크거나 같고 po250의 10보다작을때 && Data2 c 가 po250 의 0~ 30사이에 잇을때 Data1 c 가 po150의 0을 돌파하거나 po150의 30보다 작을때 예를들어 nq1이 18108에 매수가 한번 진입햇으면 18100~18125사이에서는 같은날 프리장에서1번, 미국장에거 1번 만 진입가능 . 2번 매수 들어가지않습니다. 매도는 매수와 반대로 해주세요. 손절은 평균봉크기* 손절비 익절은 손절* 익절비 미리 감사합니다. 퇴근하고 조금씩 해보는데 한계를 느낍니다. 주석에 자세한 설명 부탁드려요. */
프로필 이미지
forjk1
2024-09-09
577
글번호 183290
시스템
답변완료

부탁드립니다

수고하십니다 아래수식 일때 var : A1(0),A2(0),A3(0); A1 =MA(C,5); A2 =MA(C,20); A3 =MA(C,40); Condition1 = A3>A1 && A1>A2; 일때 첫봉에시가선 Condition2 = A1>A3 && A3>A2; 일때 첫봉에시가선 Condition3 = A1>A2 && A2>A3; 일때 첫봉에시가선
프로필 이미지
파생돌이
2024-09-09
562
글번호 183289
지표
답변완료

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

항상 노고에 감사드림니다. 아래의 수식을 종목검색식으로 부탁드림니다. CrossUp(h,BBandsUp(20,2)) && CrossUp(MACD(12,26),0) && c>predayclose()
프로필 이미지
존슨비치
2024-09-09
700
글번호 183272
종목검색
답변완료

타종목 참조 지표문의 드립니다.

안녕하세요, data 타종목 참조함수 관련하여 지표문의 드립니다. data2부터 data6까지 A종목, B종목, C종목, D종목, E종목 총 5종목을 설정한다음에 1. 위의 5개 종목 봉차트(가격)의 평균을 구한 봉차트 지표. 2. 위의 5개 종목 거래대금의 평균을 구한 거래대금 지표. 그리고 양봉일땐 빨간색, 음봉일땐 파란색으로 표시 하고싶습니다. 감사합니다.
프로필 이미지
zigzig
2024-09-09
873
글번호 183271
지표

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

프로필 이미지
apqk62
2024-09-09
19
글번호 183268
시스템
답변완료

문의드립니다.

수고많습니다. 매수진입후 3봉 이상 지난 시점에서 매수진입한 봉의 몸통의 1/2을 이탈하면 청산 매도진입후 3봉 이상 지난 시점에서 매도진입한 봉의 몸통의 1/2을 이탈하면 청산 1. 종가 청산 외에 2. 즉시 청산도 가능하다면 부탁드립니다.
프로필 이미지
카르마다
2024-09-09
544
글번호 183267
시스템
답변완료

문의드립니다

input : tenkan_len(9),tenkan_mult(2),kijun_len(26),kijun_mult(4),spanB_len(52),spanB_mult(6),offset(26); Input : 당일수익틱수(100),당일손실틱수(200); Var : N1(0),dayPl(0),당일수익(0),당일손실(0); var : Xcond(false); var : ATR1(0),up1(0),dn1(0),upper1(0),lower1(0),os1(0),spt1(0),max1(0),min1(0),tenkan(0); var : ATR2(0),up2(0),dn2(0),upper2(0),lower2(0),os2(0),spt2(0),max2(0),min2(0),kijun(0); var : senkouA(0); var : ATR3(0),up3(0),dn3(0),upper3(0),lower3(0),os3(0),spt3(0),max3(0),min3(0),senkouB(0); var : tenkan_css(0),kijun_css(0),cloud_a(0),cloud_b(0),chikou_css(0),tx(0); ATR1 = ATR(tenkan_len)*tenkan_mult; up1 = (h+L)/2 + ATR1; dn1 = (h+L)/2 - ATR1; upper1 = iff(C[1] < upper1[1],min(up1,upper1[1]),up1); lower1 = iff(C[1] > lower1[1],max(dn1,lower1[1]),dn1); os1 = iff(c > upper1 , 1 ,IFf(c < lower1, 0 , os1[1])); spt1 = iff(os1 == 1 , lower1 , upper1); max1 = iff(CrossUp(c,spt1) or CrossDown(c,spt1) , max(c,max1[1]) , IFf(os1 == 1 , max(c,max1[1]) , spt1)); min1 = iff(CrossUp(c,spt1) or CrossDown(c,spt1) , min(c,min1[1]) , iff(os1 == 0 , min(c,min1[1]) , spt1)); tenkan = avg(max1,min1); ATR2 = ATR(kijun_len)*kijun_mult; up2 = (h+L)/2 + ATR2; dn2 = (h+L)/2 - ATR2; upper2 = iff(C[1] < upper2[1],min(up2,upper2[1]),up2); lower2 = iff(C[1] > lower2[1],max(dn2,lower2[1]),dn2); os2 = iff(c > upper2 , 1 ,IFf(c < lower2, 0 , os2[1])); spt2 = iff(os2 == 1 , lower2 , upper2); max2 = iff(CrossUp(c,spt2) or CrossDown(c,spt2) , max(c,max2[1]) , IFf(os2 == 1 , max(c,max2[1]) , spt2)); min2 = iff(CrossUp(c,spt2) or CrossDown(c,spt2) , min(c,min2[1]) , iff(os2 == 0 , min(c,min2[1]) , spt2)); kijun = avg(max2,min2); senkouA = avg(kijun,tenkan); ATR3 = ATR(spanB_len)*spanB_mult; up3 = (h+L)/2 + ATR3; dn3 = (h+L)/2 - ATR3; upper3 = iff(C[1] < upper3[1],min(up3,upper3[1]),up3); lower3 = iff(C[1] > lower3[1],max(dn3,lower3[1]),dn3); os3 = iff(c > upper3 , 1 ,IFf(c < lower3, 0 , os3[1])); spt3 = iff(os3 == 1 , lower3 , upper3); max3 = iff(CrossUp(c,spt3) or CrossDown(c,spt3) , max(c,max3[1]) , IFf(os3 == 1 , max(c,max3[1]) , spt3)); min3 = iff(CrossUp(c,spt3) or CrossDown(c,spt3) , min(c,min3[1]) , iff(os3 == 0 , min(c,min3[1]) , spt3)); senkouB = avg(max3,min3); tenkan_css = Red; kijun_css = Blue; cloud_a = teal; cloud_b = red; chikou_css = Green; 당일수익 = PriceScale*당일수익틱수; 당일손실 = PriceScale*당일손실틱수; if Bdate != Bdate[1] Then { Xcond = false; N1 = NetProfit; } daypl = NetProfit-N1; if TotalTrades > TotalTrades[1] then { if daypl >= 당일수익 or daypl <= -당일손실 Then Xcond = true; if (IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then Xcond = true; } if Xcond == false Then { if CrossUp(tenkan,kijun) Then { Buy(); } if CrossDown(tenkan,kijun) Then { sell(); } } if MarketPosition == 1 then { ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); ExitLong("dbl",AtStop,EntryPrice-((당일손실+daypl)/CurrentContracts)); } if MarketPosition == -1 then{ ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); ExitShort("dsl",AtStop,EntryPrice+((당일손실+daypl)/CurrentContracts)); } 수고 많으십니다 전에 만들어 주신 수식인데 하루 100틱 수익이나 손실이면 매매 종료하는 수식입니다 문의드릴 내용은 여기에 한 가지 더 추가 부탁드립니다 1계약으로 100틱 수익이 먼저 나다면 매매 종료하고 만약 손실이 먼저 난다면 매매 종료하지 않고 2계약으로 다음 신호부터 진입하여 200틱 손실이나 300틱 익절하면 매매종료 이런 수식을 부탁드립니다 계약수와 손익절 틱수는 최적화 가능하게 변수로 빼주십시요 감사합니다
프로필 이미지
cjfdk
2024-09-08
755
글번호 183266
시스템
답변완료

TL_New 함수 사용 문의입니다.

추세선 그리는데 NDX 종목에서 다음같이 해도 추세선도 안그려지고 값을 못가저오네요. 기본 사용법 오류인거 같은데 검토 부탁드립니다. 종목은 NDX 나스닥 100입니다. var: TL_sDate(20240701), TL_sTime(150000), TL_sValue(18069), TL_eDate(20240901), TL_eTime(150000), TL_eValue(18069); var: TL(0), TL_BeginDate(0), TL_BeginVal(0); TL = TL_New(TL_sDate, TL_sTime, TL_sValue, TL_eDate, TL_eTime, TL_eValue); TL_BeginDate = TL_GetBeginDate(TL); MessageLog("TL_BeginVal = %f", TL_BeginVal); MessageLog("TL_BeginVal = %d", TL_BeginVal); //---> TL_BeginVal 이 18069일거같은데 값이 위와 같이 나오는게 할당이 안된거 같습니다. 기초적인 사용법에서 잘못한거같은데 계속 해매고있네요 ^^;;
프로필 이미지
typeb
2024-09-08
691
글번호 183265
지표
답변완료

문의

1. 아래 키움식을 예스 수식으로 변환해보고 싶습니다 거의 다 되는데 몇가지 부분에서 막혀서요 m5= ma(c,5); m10= ma(c,10); m10상승률= m10/m10(1)*1000-1000 조건= m5>m10 &&m10상승률>=기준상승률; cnt= countsince(조건&& !조건(1), m10상승률>=기준상승률); bs = barsSince(조건&& !조건(1))+1; (cnt == bs && bs> 연속봉수) [기준상승률과 연속봉수는 외부변수] 2. hh = highestsince(1, date!=date(1), h); LL = lowestSince(1, date != date(1), L); fixed_H = VALUEWHEN(1, LL<LL(1), HH); L_first = if(date!=date(1), L, 0); lv= if(daylow()== l_first, H, fixed_h); 매수가격 = valuewhen(1,daylow()==L_first or LL< LL(1), LV);
프로필 이미지
gunman
2024-09-08
814
글번호 183264
지표