커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

다시 한번 확인 부탁드립니다.

알려주신 대로 IF maketposition==0 으로 변경하여 확인 하였더니 exitlong # exitshort # 사라졌으나 첨부파일을 보면 파란원안에 "bxL" "bxm" 로 신호명은 바르게 표기되어있으나, 빨간원 부근에서 청산되지를 않고 다음봉의 시가에 청산되어 손실이 두배이상 나옵니다.이런 현상이 2회나 발생합니다. 확인 좀 부탁드립니다. 참고로 진입은 IF maketposition==0 조건 then Buy("b",OnClosE,DeF,2); 청산은 if MarketPosition == 1 Then ExitLong("bxL",AtStop,L[BarsSinceEntry]); 이렇게 되어있습니다.
프로필 이미지
산수유
2024-07-11
866
글번호 181381
시스템
답변완료

수식작성 문의드립니다.

안녕하세요, 수고 많으십니다. 매수 진입신호를 작성 부탁드리려고 합니다. - 전고점 이후 하락중인 조건에서, 저점을 갱신할 때마다 L이라는 변수에 넣음 - 반등하여 직전 최저점(L) 대비 5틱 상승하면 매수진입 감사합니다.
프로필 이미지
램프
2024-07-11
753
글번호 181378
시스템
답변완료

수식작성 부탁드립니다

안녕하세요 수고많으십니다. 각항 검색식으로 부탁드려 봅니다. input : P(5); var : cnt(0),sum1(0),sum2(0),Csum(0),wma1(0),wma2(0); Array : H1[100](0),L1[100](0); if Bdate > Bdate[1]+30 Then { H1[0] = h; L1[0] = l; for cnt = 1 to 99 { H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; } } if h > H1[0] Then h1[0] = h; if l < l1[0] Then l1[0] = l; if L1[P] > 0 Then { Sum1 = 0; Sum2 = 0; CSum = 0; For cnt = 0 To P - 1 { Sum1 = Sum1 + H1[cnt] * (P - cnt); Sum2 = Sum2 + L1[cnt] * (P - cnt); CSum = CSum + P - cnt; } WMA1 = Sum1/CSum; WMA2 = Sum2/CSum; plot1(wma1); plot2(wma2); } ----------------------------------------------------- input : P(5); var : cnt(0),sum1(0),sum2(0),Csum(0),wma1(0),wma2(0); Array : H1[100](0),L1[100](0); if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then { H1[0] = h; L1[0] = l; for cnt = 1 to 99 { H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; } } if h > H1[0] Then h1[0] = h; if l < l1[0] Then l1[0] = l; if L1[P] > 0 Then { Sum1 = 0; Sum2 = 0; CSum = 0; For cnt = 0 To P - 1 { Sum1 = Sum1 + H1[cnt] * (P - cnt); Sum2 = Sum2 + L1[cnt] * (P - cnt); CSum = CSum + P - cnt; } WMA1 = Sum1/CSum; WMA2 = Sum2/CSum; plot1(wma1); plot2(wma2); } ------------------------------------------------------------ input : P(5); var : cnt(0),sum1(0),sum2(0),Csum(0),wma1(0),wma2(0); Sum1 = 0; Sum2 = 0; CSum = 0; For cnt = 0 To P - 1 { Sum1 = Sum1 + DayHigh(cnt) * (P - cnt); Sum2 = Sum2 + daylow(cnt) * (P - cnt); CSum = CSum + P - cnt; } WMA1 = Sum1/CSum; WMA2 = Sum2/CSum; plot1(wma1); plot2(wma2); --------------------------------------------------- input : ntime(480),P(5); var : S1(0),D1(0),TM(0),TF(0),cnt(0); var : sum1(0),sum2(0),Csum(0),wma1(0),wma2(0); Array : H1[100](0),L1[100](0); 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; TF = TM%ntime; if Bdate != Bdate[1] or (Bdate == Bdate[1] and ntime > 1 and TF < TF[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 { H1[0] = h; L1[0] = l; for cnt = 1 to 99 { H1[cnt] = H1[cnt-1][1]; L1[cnt] = L1[cnt-1][1]; } } if h > H1[0] Then h1[0] = h; if l < l1[0] Then l1[0] = l; if L1[P] > 0 Then { Sum1 = 0; Sum2 = 0; CSum = 0; For cnt = 0 To P - 1 { Sum1 = Sum1 + H1[cnt] * (P - cnt); Sum2 = Sum2 + L1[cnt] * (P - cnt); CSum = CSum + P - cnt; } WMA1 = Sum1/CSum; WMA2 = Sum2/CSum; plot1(wma1); plot2(wma2); } } 항삼 감사 드립니다. 수고 하십시요
프로필 이미지
하루삼프로
2024-07-11
1041
글번호 181377
종목검색
답변완료

문의드립니다

코인(업비트 KRW 종목 : 비트코인 이더리움 등등) A조건 만족시 100만원 매수식 b조건 만족시 매수청산식 부탁드립니다 감사합니다
프로필 이미지
파인애플
2024-07-11
1066
글번호 181376
시스템
답변완료

검색식 부탁 드려요

1. 시가총액이 5,000 억이 넘는 종목 검색식 부탁드려요.
프로필 이미지
일지매7
2024-07-11
712
글번호 181375
종목검색
답변완료

부탁드립니다.

1. 종가가 음봉이면서 과거 직전 15개이내의 음봉중에 고가와 저가의 길이가 가장 긴 음봉이면 빨강색으로, 종가가 양봉이면서 과거 직전 15개이내의 양봉중에 고가와 저가의 길이가 가장 긴 양봉이면 파란색으로 구현해 주세요 2. 종가가 양봉이면서 과거 직전 15개이내의 음봉중에 고가와 저가의 길이가 가장 긴 음봉의 길이보다 더 길면 파란색으로, 종가가 음봉이면서 과거 직전 15개이내의 양봉중에 고가와 저가의 길이가 가장 긴 양봉의 길이보다 더 길면 빨강색으로 구현해 주세요 고맙습니다.
프로필 이미지
서태공
2024-07-11
818
글번호 181374
강조
답변완료

문의드립니다

1 0봉(현재봉) 제외하고 1봉전 거래대금 2봉전 거래대금 3봉전 거래대금 .... 몇봉전 거래대금을 차례로 누적하여 누적 거래대금이 5000천억 돌파할때 까지 걸리는 봉의 갯수를 나타내는지표 2 거래대금을 누적하는 지표를 만들고 누적거래대금이 0 에서 2000천억 구간 사이의 최고값과 최저값 2000천억 에서 4000천억 구간 사이의 최고값과 최저값 4000천억 에서 6000천억 구간 사이의 최고값과 최저값 ..... 2000천억 배수를 돌파할때 마다 그 사이 구간의 최고값과 최저값 감사합니다
프로필 이미지
파인애플
2024-07-11
748
글번호 181373
지표
답변완료

지표 계산 문의드립니다.

var:n(2); // SwingHigh, SwingLow에서 좌우 날개에 해당하는 봉의 개수 var : 파동선두께(2) // 파동선의 두께. 0 ~ 5 ; var : dayH(0),dayL(0); var : nowH(0),nowL(0); var : strongH(0),strongL(0); Var:j(0),jj(0),HH(0),LL(0),TL_H(0),TL_L(0),TL_L_1(0),TL_L_2(0),TL_L_3(0),TL_H_1(0),TL_H_2(0),TL_H_3(0),최종꼭지점(""),처리구분(""); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime var : t1(0),t2(0); if Index==0 Then ClearDebug; 파동선두께 = 1; #==========================================# HH = H; // IFF(조건식,참일 때 결과,거짓일 때 결과) LL = L; // SwingHigh 정의 Condition1 = Highest(HH,n)[n+1] <= HH[n] and HH[n] > Highest(HH,n); // SwingLow 정의 Condition2 = Lowest (LL,n)[n+1] >= LL[n] and LL[n] < Lowest (LL,n); 처리구분 = ""; If Condition1 and Condition2 Then // 긴 장대봉에서는 SwingHigh와 SwingLow가 동시에 나타날 수 있다. { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL[n] Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH[n] Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 and 저[1,1] < HH[n] Then 처리구분 = "고점처리"; // SwingHigh 조건이 돼도 저점보다 낮으면 가격이 계속 하락중이므로 무시한다. Else If Condition2 and 고[1,1] > LL[n] Then 처리구분 = "저점처리"; // SwingLow 조건이 돼도 고점보다 높으면 가격이 계속 상승중이므로 무시한다. //========================================== If 처리구분 == "고점처리" Then { If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 // 2차원 배열이므로 For문안에 또 For문이 올 수 있다. { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH[n]; // 가격 고[1,2] = Index - n; // Index 고[1,3] = sDate[n]; // 날짜 고[1,4] = sTime[n]; // 시각 TL_H = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); // 신규 추세선 생성 TL_SetSize(TL_H,파동선두께); TL_SetColor(TL_H,Red); } Else If 고[1,1] < HH[n] Then // 고점 다음에 다시 고점이 온 경우로 신규 고점이 더 높아야 의미가 있다. { 고[1,1] = HH[n]; 고[1,2] = Index - n; 고[1,3] = sDate[n]; 고[1,4] = sTime[n]; TL_SetEnd(TL_H,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 TL_SetSize(TL_H,파동선두께); } 최종꼭지점 = "고점"; // 이전 꼭지점이 무엇인지 판단하기 쉽도록 변수에 상태를 저장 } //========================================== If 처리구분 == "저점처리" Then { If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL[n]; 저[1,2] = Index - n; 저[1,3] = sDate[n]; 저[1,4] = sTime[n]; TL_L = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_H_3 = TL_H_2; TL_H_2 = TL_H_1; TL_H_1 = TL_H; TL_SetSize(TL_L,파동선두께); TL_SetColor(TL_L,Blue); //var1 = NthHighest(1,strongL,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n]; //var2 = NthHighest(2,strongL,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n]; //var3 = NthHighest(3,strongL,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n]; Var13 = 고[1,2]-저[2,2]+1; var14 = 저[1,2]-고[1,2]+n; t1 = 고[1,2]-저[2,2]+1; t2 = 저[1,2]-고[1,2]+n; //* MessageLog("%.2f %.2f %.2f %.f %.f %.f %.f %.f %.2f ",Asks/Bids,고[1,2]-저[2,2]+1, 저[1,2]-고[1,2]+n,sTime, 고[1,3],고[1,4], 저[2,3],저[2,4], NthHighest(1,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n]); //*/ //var1 = NthHighest(1,Asks/Bids,Var13)[var14]; var2 = NthHighest(2,Asks/Bids,Var13)[var14]; var3 = NthHighest(3,Asks/Bids,Var13)[var14]; //var1 = NthHighest(1,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n]; //var2 = NthHighest(2,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n]; //var3 = NthHighest(3,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n]; MessageLog("%.2f %.2f %.2f %.f %.f %.f %.f %.f %.f %.f %.f %.f %.f %.f %.f %.f" ,var1,Var2,Var3,var11,Var12 ,NthHighestBar(1,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n], NthHighestBar(2,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n] ,NthHighestBar(3,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n] ,NthHighestBar(1,Asks/Bids,Var13)[var14] ,NthHighestBar(2,Asks/Bids,Var13)[var14] ,NthHighestBar(3,Asks/Bids,Var13)[var14] ,NthHighestBar(1,Asks/Bids,t1)[t2] ,NthHighestBar(2,Asks/Bids,t1)[t2] ,NthHighestBar(3,Asks/Bids,t1)[t2] ); } Else If 저[1,1] > LL[n] then { 저[1,1] = LL[n]; 저[1,2] = Index - n; 저[1,3] = sDate[n]; 저[1,4] = sTime[n]; TL_SetEnd(TL_L,저[1,3],저[1,4],저[1,1]); TL_SetSize(TL_L,파동선두께); } 최종꼭지점 = "저점"; } 질문1 제룡전기 1분봉 1300봉 기준으로 해당지표를돌려보면 24년7월8일 9시59분에 결과값이 매우이상합니다. ,NthHighestBar(1,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n], NthHighestBar(2,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n] ,NthHighestBar(3,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n] 와 ,NthHighestBar(1,Asks/Bids,Var13)[var14] ,NthHighestBar(2,Asks/Bids,Var13)[var14] ,NthHighestBar(3,Asks/Bids,Var13)[var14] 와 ,NthHighestBar(1,Asks/Bids,t1)[t2] ,NthHighestBar(2,Asks/Bids,t1)[t2] ,NthHighestBar(3,Asks/Bids,t1)[t2] 는 모두 같은 값이출력되어야하는데 16 17 15 로 출력되고 2 0 3 2 0 3 이렇게 출력됩니다. 매우이상합니다 이런식으로 되면 어떻게 수식을작성해야되는지막막합니다. 해당 구간에서는 ,NthHighestBar(1,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n], NthHighestBar(2,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n] ,NthHighestBar(3,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n] 결과값이 맞는걸로나오는데 이게 아니라 다른종목에서는 반대의 결과로 ,NthHighestBar(1,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n], NthHighestBar(2,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n] ,NthHighestBar(3,Asks/Bids,고[1,2]-저[2,2]+1)[저[1,2]-고[1,2]+n] 값이 틀리고 변수로 저장해서 한게 맞는케이스가 간혹나옵니다 디버깅하는데 한계가있는데 디버깅해주십시오 제가 잘못사용하는건지... 아님 프로그램에 버그가있는건지궁금합니다. 질문2 제룡전기 1분봉 1300봉 기준으로 해당지표를돌려보면 24년7월10일 9시9분에 결과값이 매우이상합니다. 0.0 1..7 1.#R 이렇게나오는데요 여기에는 이런 값이 나올수없을뿐더러 이렇게 1.#R로 계산이되는일은 없어야되는곳인데 이렇게 값이 완전다르거나 없는값으로 나오는경우도 많습니다. 확인 부탁드리빈다.
프로필 이미지
여유로운투자
2024-07-11
909
글번호 181372
지표

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

프로필 이미지
tjsdud
2024-07-10
0
글번호 181371
시스템