커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6804
글번호 230811
답변완료
조건검색식 부탁드립니다.
M5=Avg(C,5);M20=Avg(C,20);M112=Avg(C,112);V20=Avg(V,20);C>M20AND M20>M112AND Lowest(L,5)<=M20*1.03AND Lowest(L,5)>=M20*0.93AND CrossUp(C,M5)AND V>=V20*1.3AND C>OAND C<=M20*1.08
2026-07-22
73
글번호 232942
2685up 님에 의해서 삭제되었습니다.
2026-07-22
3
글번호 232941
답변완료
문의 드립니다
다음 수식 변환 부탁합니다.HC=(O+C+H+L)/4;HR=sum(if(HC-HC(1)>0,HC-HC(1),0),9)/sum(if(HC-HC(1)>0,HC-HC(1),HC(1)-HC),9)*100;HRS=eavg(HR(9),3);CROSSUP(HR,HRS)
2026-07-22
60
글번호 232940
자료정리-print
Var : indata1(0), mm(0);indata1 = 20260716; // 과거 누적 파일 수집 시작일 (YYYYMMDD)if LastBarOnChart == False Then { mm = int(sTime / 100) % 100; // 분 추출 // 2. [파일 1] 과거 누적 파일 (hand수급2.txt) : 30분 단위 완성봉만 기록 if sDate >= indata1 Then { if mm % 30 == 0 Then { Print("c:\1_2_3\hand수급2.txt", "%.0f,%.0f,%.2f,%.2f,%.2f,%.2f"); sDate, sTime, C, OI, } } // 3. [파일 2] 당일 전용 파일 (hand수급.txt) : 2분 단위 완성봉만 기록 if sDate == CurrentDate Then { if mm % 2 == 0 Then { Print("c:\1_2_3\hand수급.txt", "%.0f,%.0f,%.2f,%.2f,%.2f,%.2f"); sDate, sTime, C, OI, } }}당일은 2분만 3일치는 30분으로 찍어보고 싶어요.. 그런데 과거는 데이타 나오는데 실시간이 안나옴.indata1을 현재일부터 3일전값부터 불러오고 싶은 즉 오늘이 월요일이면 전주 목,금,오늘월 불러오고싶음 오늘이 수요일이면 월 화 수 3일치 불러오고싶음. 자동갱신으로
2026-07-22
70
글번호 232932
답변완료
수정 바랍니다.
예스나를 이용하여 수식을 만들어 보았는데 원하는 수정이 되지 않아 부탁드립니다. 매수 진입후 골든크로스가 발생하면 재진입이 계속 되어야 하며 진입후 데드크로스가 발생하면 청산하는데 세금을 제외한 0.5%이상일 경우에만 청산되도록 수정 부탁드립니다.// 6/20 이동평균 골든데드 전략 (체결 시점에 평균가 갱신 및 엄격한 청산 조건 적용)input : ShortLen(6), LongLen(20), StopLossTicks(0), ProfitTargetTicks(0);input : TotalTaxPercent(0.0); // 세금/수수료 합계(%)var : maShort(0), maLong(0);var : LastEntryPrice(0), AvgEntryPrice(0);var : EntryCount(0);var : PrevMarketPos(0);var : netPct(0), requiredPct(0);var : orderPlaced(false);// 이동평균 계산maShort = MA(C, ShortLen);maLong = MA(C, LongLen);// 필요한 최소 세후 수익률requiredPct = TotalTaxPercent + 0.5; // 백분율 기준// 골든크로스 발생 시 주문만 넣음If CrossUp(maShort, maLong) Then{ If MarketPosition <= 0 Then { // 재진입(추가진입)은 직전 진입가보다 낮을 때만 허용 If PrevMarketPos == 1 Then { If C < LastEntryPrice Then { Buy("B_MA6_20_ADD", onclose, Def); orderPlaced = true; } } Else { Buy("B_MA6_20_NEW", onclose, Def); orderPlaced = true; } }}// 데드크로스 진입(숏)If CrossDown(maShort, maLong) Then Sell("S_MA6_20", onclose, Def);// 포지션 체결(포지션이 0 또는 숏에서 롱으로 변경) 감지 후 평균가 갱신If PrevMarketPos <= 0 And MarketPosition == 1 And orderPlaced == true Then{ // 체결 가격을 현재 봉의 종가(C)로 간주 EntryCount = EntryCount + 1; AvgEntryPrice = (AvgEntryPrice * (EntryCount - 1) + C) / EntryCount; LastEntryPrice = C; orderPlaced = false;}// 롱 청산: 데드크로스 시 평균매입가(재진입 포함 평균) 기준 세후 +0.5% 이상일 때만 청산If MarketPosition == 1 And CrossDown(maShort, maLong) Then{ If AvgEntryPrice > 0 Then { netPct = (C / AvgEntryPrice - 1) * 100; // 현재까지 총수익률(%) // 엄격 비교: 세후 기준을 만족해야 청산 If netPct >= requiredPct Then ExitLong("XL_MA6_20", onclose, Def); }}// 숏 포지션 청산(골든크로스 발생시)If MarketPosition == -1 And CrossUp(maShort, maLong) Then ExitShort("XS_MA6_20", onclose, Def);// 롱이 청산되어 플랫이 된 경우 평균가 초기화If PrevMarketPos == 1 And MarketPosition == 0 Then{ AvgEntryPrice = 0; EntryCount = 0; LastEntryPrice = 0; orderPlaced = false;}// PrevMarketPos 업데이트PrevMarketPos = MarketPosition;// 손절/익절 설정 (틱 단위 입력, 0이면 미사용)If StopLossTicks > 0 Then SetStopLoss(StopLossTicks * PriceScale, PointStop);Else SetStopLoss(0, PointStop);If ProfitTargetTicks > 0 Then SetStopProfitTarget(ProfitTargetTicks * PriceScale, PointStop);Else SetStopProfitTarget(0, PointStop);
2026-07-22
89
글번호 232929
답변완료
문의드립니다.
1)MACD 12 26 9 기준선0 위에 있고 TRIX 12 9 골든크로스 할 때마다 매수 진입(피라미딩 방식으로 매수만 계속)MACD 12 26 9 기준선0 아래에 있고 TRIX 12 9 데드크로스 할 때마다 매도 진입(피라미딩 방식으로 매수만 계속)청산은 제가 직접하겠습니다. 피라미딩 방식 설정도 제가 하겠습니다.--------------------------------------------------------------------------------------------------------------2)MACD 12 26 9 기준선0 위에 있고 TRIX 12 9 기준선0 아래서 골든크로스 할 때마다 매수 진입(피라미딩 방식으로 매수만 계속)MACD 12 26 9 기준선0 아래에 있고 TRIX 12 9 기준선0 위에서 데드크로스 할 때마다 매도 진입(피라미딩 방식으로 매수만 계속)청산은 제가 직접하겠습니다. 피라미딩 방식 설정도 제가 하겠습니다.-----------------------------------------------------------------------------------------------------------------3)MACD 12 26 9 기준선0 위에 있고 TRIX 12 9 기준선0 아래서 골든크로스 할 때 매수 진입(피라미딩 방식으로 매수만 계속)MACD 12 26 9 기준선0 을 위에서 아래로 돌파하면 보유한 모든 매수량을 매도 청산 완료MACD 12 26 9 기준선0 아래에 있고 TRIX 12 9 기준선0 위에서 데드크로스할 때마다 매도 진입(피라미딩 방식으로 매수만 계속)MACD 12 26 9 기준선0 을 아래서 위로 돌파하면 보유한 모든 매도량을 매수 청산 완료청산은 제가 직접하겠습니다. 피라미딩 방식 설정도 제가 하겠습니다.3가지 방식입니다. 부탁드립니다.
2026-07-22
68
글번호 232926
답변완료
문의 드립니다.
안녕하세요 ~평소 많은 도움 주셔서 진심으로 감사 드립니다. 현재가격이 아래의 위치를 Cross up하는 종목의 검색식을 부탁 드립니다.S=supertrend(period, multiplier);라인=valuewhen(1, CrossUp(C,S),S(1));K=if(라인>S && Max(C,O)>라인,라인,0);if(K==0,S,K)지표조건 Period : 60multiplier : 3감사합니다.즐거운 하루 보내세요 ~
2026-07-22
58
글번호 232925
답변완료
예스 종목검색으로 변환 부탁드립니다..^^*
*무더운 날씨속에서 수고가 많으십니다.. 아래수식을 예스종목검색으로 변환 부탁드립니다...A=eavg(c,40);B=eavg(c,120);!(A(1)>B(1))ANDA(1)>h(1)ando(1)<=l(1)ando(1)*1.04<c(1)
2026-07-21
60
글번호 232924
답변완료
문의 드립니다.
도움에 감사 드립니다.아래수식 예를함수화 하여 실행시 TL1선 여러개를 한꺼번에 나타 내고자 합니다.TL선을 함수화 하여 지표로 실행 가능한지요?미리 감사 드립니다.input:n1(1000);input:n2(2000);Var : TL1(0); value1 = sDate[n2]; value2 = sTime[n2]; value3 = C[n2]; value4 = sdate[n1]; value5 = sTime[n1]; value6 = C[n1];TL_Delete(TL1);TL1 = TL_New(value1,value2,value3,value4,value5,value6);TL_SetColor(tl1,BLACK);TL_SetSIZE(tl1,2);
2026-07-21
63
글번호 232923