커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다.

var : 분주기(15),P(5),분주기1(5); var : S1(0),D1(0),TM(0),TF(0); var : cnt(0),cnt1(0),sum(0),mav(0),tf1(0); Array : CC[100](0),OO[100](0),HH[100](0),LL[100](0),TT[100](0); Array : C1[100](0),T1[100](0); if (sdate != sdate[1] and stime >= 070000) or (sdate == sdate[1] and (Stime == 070000 or (stime > 070000 and stime[1] < 070000))) Then{ S1 = TimeToMinutes(070000); D1 = sdate; } if D1 > 0 then{ if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%분주기; if (sdate != sdate[1] and stime >= 070000) or (sdate == sdate[1] and (Stime == 070000 or (stime > 070000 and stime[1] < 070000))) or (TF < TF[1]) Then{ OO[0] = o; HH[0] = H; LL[0] = L; TT[0] = stime; for cnt = 1 to 100{ OO[cnt] = OO[cnt-1][1]; HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; TT[cnt] = TT[cnt-1][1]; } } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; CC[0] = C; TF1 = TM%분주기1; if (sdate != sdate[1] and stime >= 070000) or (sdate == sdate[1] and (Stime == 070000 or (stime > 070000 and stime[1] < 070000))) or (TF1 < TF1[1]) Then{ T1[cnt1] = stime; for cnt1 = 1 to 100{ C1[cnt1] = C1[cnt1-1][1]; T1[cnt1] = T1[cnt1-1][1]; } } C1[0] = c; //////////////////////////////////// 틱봉에 적용하는 분주기 식인데요~ 분주기에서 2분부터는 적용이 되는데 1분이 적용이 안되네요. 수정 부탁드립니다.~
프로필 이미지
겐지
2023-07-24
1141
글번호 170870
시스템
답변완료

or 를 쓸 때 질문입니다.

안녕하세요 수고가 많으십니다. 제가 수식을 작성 중에 결과값이 다르게 나오는게 있어서 질문을 드립니다. 1. If var1 == (2 or 3) and var2 >var3 then plot.... 2. If (var1 ==2 or var1 ==3) and var2 >var3 then plot ... 제가 알고 있기로 위의 1, 2번은 같을 줄 알았는데 결과가 다르게 나와서 질문을 드립니다. 위의 두 가지가 다른 것인지 아니면 제가 착각을 하는 것인지 가르침을 부탁드립니다. 그리고 위의 1번 괄호의 var1 ==(2 or 3)이 실제적으로 어떤 의미인지도 부탁드립니다(결과적으로 var1이 2나 3인 결과가 나오는 것이 아니라 1인 결과도 나왔거든요. 1, 2, 3이 다 나오는...) 항상 감사드립니다.
프로필 이미지
매매신호
2023-07-24
1320
글번호 170869
검색
답변완료

카운트 리셋 문의 드립니다.

안녕하세요..항상 도움 감사드립니다. (1)번 질문 Var: A_Cnt(0),B_Cnt(0); if Bdate! = Bdate[1] Then {A_Cnt=0;B_Cnt=0;} 날짜가 변경되면 A,B 변수가 0으로 재카운팅 되게 하고 싶은데 검증을 하면 오류가 납니다. 어떻게 수정해야 할까요?
프로필 이미지
비정성시
2023-07-24
1457
글번호 170868
시스템
답변완료

수식부탁합니다

그림처럼 꼬리를 제외한 30분봉의 몸통을 1분봉 차트에 그려넣고 싶습니다 색깔도 부탁합니다 감사합니다,,
프로필 이미지
하늘거지
2023-07-24
1519
글번호 170867
지표
답변완료

부탁드립니다.

당일(d일) 해선차트에서 이틀전 특정시간(예: d-2일 20시)부터 24시간(d-1일 20시)사이의 최대값과 최소값을 구하는 지표식 부탁드립니다.
프로필 이미지
예시
2023-07-24
1683
글번호 170866
지표
답변완료

문의드립니다.

안녕하세요. 특정 상단값과 하단값을 임의로 입력해두고 그 값을 1틱이라도 돌파(이탈)하면 그때부터 익절 20틱, 손절 20틱으로 매매하는 선물매매식을 만들고자 합니다. 예를 들어 350과 400 2개 가격을 입력한 뒤 400을 돌파하면 매수, 350를 이탈하면 매도를 하고자 합니다. 1. 입력값을 변경하기전까지는 계속 반복해서 매매 가능하게 되길 원합니다. 2. 돌파(이탈)후 진입이 익절 또는 손절 되기전까지는 동일 또는 반대신호가 나오면 안됩니다.
프로필 이미지
카르마다
2023-07-24
1275
글번호 170865
시스템
답변완료

문의드립니다

1, 200봉동안 5일선과20일선이 골든크로스가났을때 의 가격중에서 가장낮은 현재가가 오늘 발생한종목 2, 200봉동안 5일선과20일선이 골든크로스가났을때 의 가격중에서 가장높은 현재가가 오늘 발생한종목
프로필 이미지
처음처럼22
2023-07-23
1505
글번호 170864
종목검색
답변완료

시스템 작성의뢰

수고 하십니다 ! 1.증거금의 금액을 10 으로 나누어 거래량 5 이평선이 40 이상 상승하면 신호로 알려주고 on balance price 지표가 - 86 이하로 내려가고 obv 지표가 - 1800 이하로 하락하고 pvi지표가 99.40 이하로 하락하고 120,240,480,960 ,1920 이동평균선이 역배열이 되고 960 이평선과 1920 이평선의 간격이 7틱이상 벌어지고 120 이평선이 240 이평선을 업크로스할때 증거금10으로 나눈 금액중 5 의 금액으로 매수를 하고 30 틱 이상 하락하고 다음 120 이평선이 240 이평선을 업크로스 할때 증거금 중 2 의 금액으로 재 매수를하고 또다시 30틱이상 하락하고 120 이평선이 240 이평선을 업크로스할때 증거금10으로 나눈 금액중 3 의 금액으로 또 재 매수를 하고 50 틱 이상 상승하고 120 이평선이 240 이평선을 다운크로스할때 청산을 한다 2.증거금의 금액을 10으로 나누어 거래량 5 이평선이 40 이상 상승하면 신호로 알려주고 on balance price 지표가 180 이상 상승하고 obv 지표가 2800 이상 상승 하고 pvi지표가 100.30 이상 상승 하고 er bear power 지표가 - 0.00 이하로 하락 하고 120,240,480,960 ,1920 ,3840 이동평균선이 정배열이 되고 1920 이평선과 3840 이평선의 간격이 16 틱이상 벌어지고 120 이평선이 240 이평선을 다운크로스할때 증거금10으로 나눈 금액중 5 의 금액으로 매도를 하고 30 틱 이상 상승 하고 다음 120 이평선이 240 이평선을 다운크로스 할때 증거금 중 2 의 금액으로 재 매도를하고 또다시 30틱이상 상승 하고 120 이평선이 240 이평선을 다운크로스할때 증거금10으로 나눈 금액중 3 의 금액으로 또 재 매도를 하고 50 틱 이상 하락 하고 120 이평선이 240 이평선을 업크로스할때 청산을 한다
프로필 이미지
tnsflwls
2023-07-23
1661
글번호 170863
시스템
답변완료

지표 또는 시스템식으로 부탁드립니다

안녕하세요 아래와 같은 수식을 찿았는데 예스로 변환이 가능한지요? 우선, QQE 지표의 시그널을 구현하기 위해 다음과 같은 함수를 작성합니다. 복사 function qqe_signal(qqe_period, ma_period, buy_signal, sell_signal) { qqe = QQE(qqe_period); ma = MA(qqe, ma_period); if (CrossOver(qqe, ma)) return buy_signal; else if (CrossUnder(qqe, ma)) return sell_signal; else return 0; } 위 함수는 qqe_period 기간 동안의 QQE 지표를 계산하고, 그 결과에 대해 ma_period 기간 동안의 이동평균선을 적용합니다. 그리고 qqe와 ma의 교차 시점에 따라 매수신호와 매도신호를 반환합니다. 이제, 이 함수를 이용하여 매매 시스템을 구현할 수 있습니다. 예를 들어, 다음과 같은 함수를 작성하여 매매 시스템을 구현할 수 있습니다. 복사 function trading_system(qqe_period, ma_period, buy_qty, sell_qty) { signal = qqe_signal(qqe_period, ma_period, 1, -1); if (signal == 1) Buy(buy_qty); else if (signal == -1) Sell(sell_qty); } 위 함수는 qqe_period 기간 동안의 QQE 지표와 ma_period 기간 동안의 이동평균선을 이용하여 매수신호와 매도신호를 계산하고, 그에 따라 buy_qty와 sell_qty 만큼 매수와 매도를 수행합니다.
프로필 이미지
라몬
2023-07-23
1624
글번호 170862
시스템