커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

재문의 드립니다.

안녕하세요. 항상 감사 합니다. 제가 설명을 잘못해서 인지 검색식에 오류가 있는듯 합니다. 앞전에 작성해주신 대로 검색을 하니 검색 종목이 하나도 안나와서 한개씩만 대입해본결과 1번은 오류 인듯싶고 2번.3번도 재문의 드립니다. 1번만 넣고 검색해본 결과 의도와는 다른 종목이 검색이 되네요.. 1. (CountIf(H>=L*1.20,2)[1] >= 1 and C < O and C <= H*0.85) or 2. (CountIf(C<O,3)[1] == 3 and C[3] <= C[1]*0.85) 1)오늘봉을 제외하고 앞전 2봉중에 해당일봉의 당일 등락폭이 최고가 대비 최저가의 변동폭이 20%이상 나오고 해당일 봉은 최고가 대비 종가가 -15% 이상 변동폭으로 마감할때 or 2)오늘봉을 제외하고 3봉간 연속 음봉 발생 이면서 이때 3거래일 음봉의 합은 -15% 이상 마감할때((최고가 대비 최저가의 변동폭이 아닙니다) 3거래일 연속 음봉의합 시가대비 종가 -15%이상) or 3)오늘봉을 제외하고 5봉간 조정폭이 -15% 이상 (최고가 대비 최저가의 변동폭이 아닙니다) ( 5봉의 기준봉은 첫 음봉이 발생한 봉을 기준봉으로 잡고 이후 양봉 음봉 상관없이 기준봉(음봉)포함해서 5거래일 -15%이상 입니다.)
프로필 이미지
하루삼프로
2023-11-06
1261
글번호 173750
종목검색
답변완료

도움 요청합니다.

안녕하세요? 아래 참조Data 수식에서 첫봉종가에 Plot추세선을 나타내고자 합니다. 제일 아랫줄에 if CurrentDate == sDate and Data1(sDate) == Data3(sDate) Then Plot13(C2,"당일시가"); 하니까 안되네요. 부탁드리며 미리 갑사드립니다. ====================================== var : C2(0,Data3),H2(0,Data3),L2(0,Data3),cnt(0,Data3); var : Sidx(0,Data3),Sidx1(0,Data3),Eidx(0,Data3),Eidx1(0,Data3),Pre1(0,Data3); C2 = Data3(c)+data4(c); if Data3(Bdate != Bdate[1]) Then { H2 = C2; L2 = C2; Sidx = data3(Index); Sidx1 = Sidx[1]; Eidx1 = Eidx[1]; } Eidx = data3(Index); if data3(Bdate != Bdate[1] or (Bdate == bdate[1] and C2 > h2)) Then h2 = C2; if data3(Bdate != Bdate[1] or (Bdate == Bdate[1] and C2 < l2)) Then l2 = C2; if Sidx1 > 0 Then { pre1 = 0; For cnt = data3(Index)-Eidx1 to data3(Index)-Sidx1 { if data3(sDate[cnt] < sDate and sTime[cnt] <= sTime) Then { pre1 = C2[cnt]; cnt = data3(Index-Sidx1+1); } } } if CurrentDate == sDate Then { if Data1(sDate) == Data3(sDate) Then { Plot1(C2,"참조",IFf(C2 >0,RGB(0,0,0),RGB(0,0,0))); Plot2(H2,"최고"); Plot3(L2,"최저"); Plot4(pre1,"전일"); PlotBaseLine1(0); } Else { NoPlot(1); NoPlot(2); NoPlot(3); NoPlot(4); } } if CurrentDate == sDate and Data1(sDate) == Data3(sDate) Then { Plot5(C2,"D2당일시가"); Plot6(h2,"D2당일고가"); Plot7(L2,"D2당일저가"); Plot8(L2+(H2-L2)*0.25,"25.0%"); Plot9(L2+(H2-L2)*0.75,"75.0%"); Plot10(L2+(H2-L2)*0.382,"38.2%"); Plot11(L2+(H2-L2)*0.618,"61.8%"); Plot12(L2+(H2-L2)*0.50,"50.0%"); } if CurrentDate == sDate and Data1(sDate) == Data3(sDate) Then Plot13(C2,"당일시가");
프로필 이미지
포보스
2023-11-06
1181
글번호 173749
지표
답변완료

재문의 드립니다.

//author Jurij 2015 //default moving average period is 4H because '4h' is missing in the resolution 드롭 down list study("Multi Time Frame Exponential Moving Average", "MTF EMA", overlay=true) ma_len = input(title="Length", type=integer, defval=100) src = input(title="Source", type=source, defval=close) ma_offset = input(title="Offset", type=integer, defval=0) res = input(title="Resolution", type=resolution, defval="240") htf_ma = ema(src, ma_len) out = security(tickerid, res, htf_ma) plot(out, color=red, offset=ma_offset) 트레이딩뷰 수식입니다. 이 수식으로 예전에 만들어준 수식이 Input : ntime(240),ma_len(100); var : S1(0),D1(0),TM(0),TF1(0); Var : Ep1(0), JISU1(0), PreJISU1(0); Ep1 = 2/(ma_len+1); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF1 = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF1 < TF1[1]) or (Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or (Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then { value1 = value1+1; PreJISU1 = JISU1[1]; } if value1 <= 1 then { JISU1 = C; } else{ JISU1 = C * EP1 + PreJISU1 * (1-EP1); } plot1(JiSu1); } 이건데 캔들 갯수를 늘리면 선이 고정이 안되고 움직임니다. 2000개로 했을때와 10000개로 했을때의 선이 다르게 나옵니다. 캔들 갯수를 늘려도 고정이 되도록 가능할까요?
프로필 이미지
신대륙발견
2023-11-06
1134
글번호 173740
지표
답변완료

수식요청

안녕하세요 수식부탁드림니다 매수식 볼밴 상한선 돌파시 매수 상한선 위에선 매수유지 청산 볼밴상한선을 하락(음봉)시 청산 매도식 매수의 반대
프로필 이미지
아트정
2023-11-06
790
글번호 173737
시스템
답변완료

문의드립니다

1, 3201창에서 시장검색 시가기준 순위검색식을 알고 싶습니다 2, 전일시가기준상승폭 10% 이상종목검색식을 알고싶습니다
프로필 이미지
처음처럼22
2023-11-06
929
글번호 173735
종목검색
답변완료

수식문의 드립니다

1.bollbandup(20.2) 2.5일 선행된 bollbandup(40.2) 1이 2를 골든크로스 하는식 부탁드립니다
프로필 이미지
골더
2023-11-06
829
글번호 173734
시스템
답변완료

강화학습 C코드를 예스트레이더 코드로 변경하고자합니다.

항상 도움주셔서 감사드립니다. 아래와 같이 간단한 강화학습 Q learning C 코드를 주식 ETF 거래하는 예스트레이더 코드로 변경하고자 하는데 몇 일하다가 실패했습니다. TT 변경가능할까요? NUM_STOCKS 는 주식의 갯수로 2이고 (가령 ETF 채권과 주식 2 종류로 거래를 하는 가정) ACTION은 매수(=1) 아니면 매도(=0) 입니다. 항상 감사드립니다 ============================================================= #define NUM_STOCKS 2 #define DAYS 100 #define ACTIONS 2 #define ALPHA 0.2 #define GAMMA 0.8 double stock_prices[NUM_STOCKS][DAYS]; double q_values[NUM_STOCKS][ACTIONS]; int choose_action(int stock) { return rand() % ACTIONS; } void calculate_q_values(int stock, int action, double reward, int next_stock) { double max_next_action = 0; for (int i = 0; i < ACTIONS; i++) { if (q_values[next_stock][i] > max_next_action) { max_next_action = q_values[next_stock][i]; } } q_values[stock][action] = (1 - ALPHA) * q_values[stock][action] + ALPHA * (reward + GAMMA * max_next_action); } int main() { srand(time(0)); // Fill stock_prices with some random data or use actual stock prices data // ... // Initialize Q-values for (int i = 0; i < NUM_STOCKS; i++) { for (int j = 0; j < ACTIONS; j++) { q_values[i][j] = 0; } } // Training loop for (int day = 0; day < DAYS - 1; day++) { for (int stock = 0; stock < NUM_STOCKS; stock++) { int action = choose_action(stock); double reward = stock_prices[stock][day + 1] - stock_prices[stock][day]; int next_stock = (action == 0) ? stock - 1 : stock + 1; calculate_q_values(stock, action, reward, next_stock); } } // Print learned Q-values printf("Learned Q-values:₩n"); for (int i = 0; i < NUM_STOCKS; i++) { for (int j = 0; j < ACTIONS; j++) { printf("%.2f₩t", q_values[i][j]); } printf("₩n"); } return 0; }
프로필 이미지
퀀텀프로
2023-11-05
1167
글번호 173733
시스템
답변완료

역배열이평 상승전환

아래 수식은 역배열이평 상승전환 검색 수식입니다. 여기에 전일에 MACD(7,16)가 0선돌파발생을 추가하고 싶습니다. 즉, 전일에 MACD(7,16) 0선돌파 + 금일에 역배열이평 상승전환 종목검색용 수식을 부탁드립니다. ================================================================================== var : A1(0),A2(0),A3(0),A4(0),A5(0),A6(0),B1(False),B2(False),B3(False),B4(False); VAR : AA1(0),AA2(0),AA3(0),AA4(0),조건(False); A1=MA(C,3); A2=MA(C,5); A3=MA(C,8); A4=MA(C,10); A5=MA(C,20); A6=MA(C,60); B1=A1<A5 && A5<A6; B2=A2<A5 && A5<A6; B3=A3<A5 && A5<A6; B4=A4<A5 && A5<A6; IF B1 TheN {AA1=1;} ElsE {AA1=0;} IF B2 TheN {AA2=1;} ElsE {AA2=0;} IF B3 TheN {AA3=1;} ElsE {AA3=0;} IF B4 TheN {AA4=1;} ElsE {AA4=0;} 조건=AA1[1]+AA2[1]+AA3[1]+AA4[1]>=1 && AA1+AA2+AA3+AA4==0 && C>O; IF 조건 && !조건[1] TheN Find(1);
프로필 이미지
ksks
2023-11-05
1046
글번호 173732
종목검색
답변완료

오실레이터지표 문의드립니다.

60분 주문량을 기반으로하는 오실레이터 지표의 수식좀 부탁드립니다.
프로필 이미지
mj에이프릴
2023-11-05
1156
글번호 173731
지표