커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 문의 드립니다.

안녕하세요. 예스랭귀지 종목검색에서당일 누적 거래량/거래대금이 아니라1분봉(1분차트) 기준거래량 5만주 이상 "또는" 거래대금 2억 이상수식을 적용하고 싶습니다.부탁드리겠습니다. 감사합니다.
프로필 이미지
wise3007
2026-04-01
284
글번호 231375
종목검색
답변완료

진입 주문 지연 설정문의 드립니다

진입 주문 지연 설정문의 드립니다설정시 신규진입(buy/sell) 과 청산(Exit) 모두 설정이 되는건가요?혹시 신규진입과 청산을 따로 설정하는 기능이 있는지 알고 싶습니다
프로필 이미지
밀집모자
2026-03-31
330
글번호 231370
시스템
답변완료

수식작성 부탁드립니다

아래의 Data1 수식 매수 기준 CrossUP(value1, value2) 에 If lma < data2(C) and lma2 < data2(C) and CrossUP(value1, value2) Then Buy(); 와같이 2가지를 추가 data2( input : n(60),Period(30); input : n(100),Period(90); ) 수식을 작성 부탁 드립니다.# Data1 Input : shortPeriod(5), longPeriod(20); value1 = ema(C, shortPeriod); value2 = ema(C, longPeriod); # Data2 input : n(60),Period(30);var : stm(0),d1(0),etm(0),ss(0),et(0),ets(0),ts(0),second(0),tf(0);var : i(0),lma(0);var : CWSum1(0),WSum1(0),WMAV1(0);var : CWSum2(0),WSum2(0),WMAV2(0);var : CWSum(0),WSum(0);Array : CC[100](0),value[100](0);if Bdate != Bdate[1] Then{ stm = TimeToMinutes(stime); D1 = Bdate;}if D1 > 0 then{ if date == D1 Then eTM = TimeToMinutes(time)-stm; Else eTM = TimeToMinutes(time)+1440-stm; ets = FracPortion(time/100)*100; Second = (etm*60)+ets; TF = second%n; if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then { For i = 99 DownTo 1 { CC[i] = CC[i-1]; value[i] = value[i-1]; } } CC[0] = C;}if CC[int(Period/2)-1] > 0 Then{ CWSum1 = 0; WSum1 = 0; For i = 0 To int(Period/2) - 1 { CWSum1 = CWSum1 + CC[i] * (int(Period/2) - i); WSum1 = WSum1 + (int(Period/2) - i); } WMAV1 = CWSum1/WSum1;}if CC[Period-1] > 0 Then{ CWSum2 = 0; WSum2 = 0; For i = 0 To Period - 1 { CWSum2 = CWSum2 + CC[i] * (Period - i); WSum2 = WSum2 + (Period - i); } WMAV2 = CWSum2/WSum2;}if WMAV1 > 0 and WMAV2 > 0 Then value[0] = 2*WMAV1-WMAV2;if value[int(sqrt(Period))-1] > 0 Then{ CWSum = 0; WSum = 0; For i = 0 To int(sqrt(Period)) - 1 { CWSum = CWSum + value[i] * (int(sqrt(Period)) - i); WSum = WSum + (int(sqrt(Period)) - i); } lma = CWSum/WSum;}
프로필 이미지
뎅이요
2026-03-31
884
글번호 231369
시스템
답변완료

문의 드립니다

input : starttime(90000),Endtime(154500);var : Tcond(False);if (sdate != sDate[1] and sTime >= starttime) or (sdate == sDate[1] and sTime >= starttime and sTime[1] < starttime) Then{ Tcond = true; var1 = 0; var2 = 0; var3 = 0;}if (sdate != sDate[1] and sTime >= Endtime) or (sdate == sDate[1] and sTime >= Endtime and sTime[1] < Endtime) Then Tcond = False;if Tcond == true Then{ var1 = var1+1; var2 = var2+1; var3 = var3+1; Var4 = Var2 - Var3;------------------------------위식에서 var4가 최고일때 & 최저일때의 가격을 차트에 표시하고 싶습니다a= var4 가 최고일때 가격b= var4 가 최저일때 가격감사합니다
프로필 이미지
러블리
2026-03-31
556
글번호 231349
지표
답변완료

수식 요청드립니다.

안녕하세요.나스닥 선물 거래하고자 합니다.피라미딩으로 누적 10계약까지 매수 또는 매도 진입한다고 하였을때, 아래 조건을 만족할 경우 청산되도록 하는 수식을 부탁드립니다.* 첫번째 계약의 진입시간으로부터 100분이 경과하면 그때까지 진입된 계약들을 모두 청산항상 감사합니다.
프로필 이미지
트레이더365
2026-03-31
412
글번호 231348
시스템
답변완료

시스템 매매 관련 수정문의 합니다...

아래수식은 ai 기반으로 작성된 수식입니다...시작시간하고 종료시간이 조금 이상해서 수정부탁합니다..시작시간은 91500종료시간은 151500입니다..그리고 손절은 없고 익절만 가능하도록 수정부탁드립니다..// FLI Force Index 기반 역전 스탑앤리버스 전략 (비용 및 수량 변수 지정 포함)Input : FIPeriod(13), FISmooth(13), ATRPeriod(14), StopATR(3.0), ProfitATR(6.0);Input : ScaleParts(20), ScaleIntervalMin(15), TotalQty(20);// 거래 허용 기간 입력 (YYYYMMDD 형식 날짜, 분 단위 시간)Input : StartDate(20260101), StartTimeMin(930), EndDate(20261231), EndTimeMin(1530);// 비용 및 수량 변수Input : CommissionPerUnit(0.0), SlippagePerUnit(0.0);Var : FI(0), FIs(0), tr(0), atr(0), longStop(0), longProfit(0), shortStop(0), shortProfit(0);Var : partsDoneLong(0), partsDoneShort(0), lastScaleTime(0);Var : totalAllocatedLong(0), totalAllocatedShort(0), targetCumulative(0), nextPartQty(0), partIndex(0);Var : curMin(0), curDate(0), allowTrade(false);Var : estCost(0), executedQty(0);FI = (C - C[1]) * V;FIs = EMA(FI, FISmooth);tr = TrueRange;atr = EMA(tr, ATRPeriod);longStop = Close - StopATR * atr;longProfit = Close + ProfitATR * atr;shortStop = Close + StopATR * atr;shortProfit = Close - ProfitATR * atr;// 현재 날짜/시간curMin = TimeToMinutes(sTime);curDate = Bdate; // 봉의 거래일(YYYYMMDD)// 거래 허용 여부 판단allowTrade = (curDate >= StartDate) And (curDate <= EndDate) And (curMin >= StartTimeMin) And (curMin <= EndTimeMin);If CrossUp(FIs, 0) Then{ partsDoneLong = 0; partsDoneShort = 0; lastScaleTime = 0; totalAllocatedLong = 0; totalAllocatedShort = 0;}//If CrossDown(FIs, 0) Then{ // partsDoneShort = 0; // partsDoneLong = 0; // lastScaleTime = 0; // totalAllocatedLong = 0; // totalAllocatedShort = 0;}// 롱 분할 진입 (총수량 대비 비율 방식) - 시간/날짜 필터 적용If allowTrade And FIs > 0 And partsDoneLong < ScaleParts Then{ partIndex = partsDoneLong + 1; // 1-based targetCumulative = Ceiling(TotalQty * partIndex / ScaleParts); nextPartQty = targetCumulative - totalAllocatedLong; If nextPartQty < 0 Then nextPartQty = 0; If nextPartQty > 0 And (lastScaleTime == 0 Or (curMin - lastScaleTime) >= ScaleIntervalMin) Then { // 예상 비용 계산(간단): (수량 * (Commission + Slippage)) estCost = nextPartQty * (CommissionPerUnit + SlippagePerUnit); Buy("FLI_Long_Part", onclose, Def, nextPartQty); partsDoneLong = partsDoneLong + 1; totalAllocatedLong = totalAllocatedLong + nextPartQty; lastScaleTime = curMin; // 추적용: 실행 누적 수량(실제 체결은 플랫폼에서 결정되므로 근사값) executedQty = executedQty + nextPartQty; }}// 숏 분할 진입 (총수량 대비 비율 방식) - 시간/날짜 필터 적용If allowTrade And FIs < 0 And partsDoneShort < ScaleParts Then{ partIndex = partsDoneShort + 1; targetCumulative = Ceiling(TotalQty * partIndex / ScaleParts); nextPartQty = targetCumulative - totalAllocatedShort; If nextPartQty < 0 Then nextPartQty = 0; If nextPartQty > 0 And (lastScaleTime == 0 Or (curMin - lastScaleTime) >= ScaleIntervalMin) Then { estCost = nextPartQty * (CommissionPerUnit + SlippagePerUnit); Sell("FLI_Short_Part", onclose, Def, nextPartQty); partsDoneShort = partsDoneShort + 1; totalAllocatedShort = totalAllocatedShort + nextPartQty; lastScaleTime = curMin; executedQty = executedQty + nextPartQty; }}// 손절/익절 로직 유지 (청산 주문은 거래허용시간 외에도 실행될 수 있도록 허용)If MarketPosition == 1 Then{ If High < longStop And NextBarBdate == Bdate Then ExitLong("FLI_L_Stop", AtStop, longStop); If High < longProfit And NextBarBdate == Bdate Then ExitLong("FLI_L_Profit", AtLimit, longProfit);}If MarketPosition == -1 Then{ If Low > shortStop And NextBarBdate == Bdate Then ExitShort("FLI_S_Stop", AtStop, shortStop); If Low > shortProfit And NextBarBdate == Bdate Then ExitShort("FLI_S_Profit", AtLimit, shortProfit);}// 참고 출력용: 실행 누적 수량 및 예상 비용을 내장 변수에 저장 (플랫폼에서 확인 가능)Var : reportedExecutedQty(0), reportedEstCost(0);reportedExecutedQty = executedQty;reportedEstCost = executedQty * (CommissionPerUnit + SlippagePerUnit);
프로필 이미지
서민순
2026-03-30
3320
글번호 231347
시스템
답변완료

수식 문의드립니다.

안녕하세요.아래 키움 수식인데 예스랭귀지 종목 검색식으로 변경 부탁드립니다.감사합니다.A1 = MA(C,20);A2 = MA(C,60);A3 = CrossUp(A1,A2);A4 = HighestSince(1,A3,H);A5 = ValueWhen(1,A4==A4(1) && A4>H,A4);A6 = IF(A2>L,1,0);A7 = SUM(A6);B1 = A7-ValueWhen(1,A3,A7(1));B2 = CrossUp(C,A5) && B1>0;B3 = CountSince(A3,B2)==1;C0 = MA(C,48,지수);C1 = MA(C,112,지수);C2 = MA(C,224,지수);C3 = (C / C2) * 100;C4 = C3 <= 이격1;C5 = C1<= C2;C6 = (C / C0) * 100;C7 = C6 <= 이격2;C8 = C1>=C2;C9 = C1/C2*100<=간격1;C10 = C8 && C9;C11 = C1/C2*100 >=간격2;C12 = C5 && C11 ;D0 = MA(C,200,지수);D1 = MA(V,48);D2 = V >= D1*1.5;D3 = D0 >= D0(1);D4 = MAX(C1,C2);D5 = C>D4;B3 && !B3(1) && C4 && C7 && ((C10 && D5) or (C12 && D5)) 이격1 : 120 / 이격2 : 120 / 간격1 : 105 / 간격2 : 95
프로필 이미지
vhouse
2026-03-30
952
글번호 231345
종목검색
답변완료

수식 문의드립니다.

안녕하세요.아래 키움 수식인데 예스랭귀지 종목 검색식으로 변경 부탁드립니다.감사합니다.A1 = RSI(14) > 50;A2 = CCI(9) > 0;A3 = MACD(12,26) > Avg(MACD(12,26),9);S=Stochasticsslow(12,5);S_sig=eavg(Stochasticsslow(12,5),5);A4 = S > S_sig;MA112 = MA(C,112,지수);MA224 = MA(C,224,지수);Disparity = (C / MA224) * 100;Dis_Check = Disparity >=이격1 && Disparity <=이격2;MV_Check = MA224 >= MA112;MA_Check = C > MA(C,224);Vol_Check = V > V(1) * 2.0 or V > Avg(V,20) * 2.0;S1 = (highest(high,9) + lowest(low,9) + highest(high,26) + lowest(low,26)) / 4;S2 = (highest(high,52) + lowest(low,52)) / 2;Cloud_Top = Max(S1(25),S2(25));Ichimoku_Check = C > Cloud_Top;BB_Up = BBandsUp(20,2);BB_Break = CrossUp(C,BB_Up);BB_Top = C > BB_Up;B1 = MA(C,120);B2 = MA(C,240);B3 = MA(V,20);B4 = B2 < C;B5 = REF(B2,1) >= REF(C,1);B6 = V > B3*5;B7 = B2 >= B1;B8 = B4 && B5 && B6 && B7;A1 && A2 && A3 && A4 && B8&& MA_Check && Vol_Check&& Dis_Check && MV_Check&& Ichimoku_Check && BB_Break이격1 : 100 / 이격2 : 115
프로필 이미지
vhouse
2026-03-30
1216
글번호 231344
종목검색
답변완료

전략실행 차트 관련 문의

안녕하세요,전략 실행 차트 관련하여 문의드립니다.현재 하나의 전략실행 차트에서 시스템 트레이딩 지표를 테스트하는 과정에서, 기존 시스템 트레이딩 지표 적용 후 다른 시스템 트레이딩 지표를 추가하면 이전 지표가 유지되지 않고 서로 교체되는 형태로만 동작하고 있습니다.혹시 아래 사항들이 가능한지 확인 부탁드립니다.1) 하나의 차트에서 여러 시스템 트레이딩 지표를 동시에 적용 및 테스트 가능 여부2) 여러 전략(지표)을 하나의 계좌에서 동시에 운용하는 방법 (멀티 전략 운용)3) 전략 간 시그널 충돌 발생 시 처리 방법 (예: 매수/매도 동시 발생)4) 전략별로 독립적인 백테스트 및 성과 분리 확인 가능 여부추가로 실전 운용 관점에서, 전략 신호를 외부 프로그램(API 등)으로 전달하여 주문 처리 연동이 가능한지도 문의 드립니다관련하여 권장되는 운용 방식이나 구조가 있다면 함께 조언 부탁드립니다.감사합니다.
프로필 이미지
풍성매매
2026-03-30
1367
글번호 231343
시스템