커뮤니티

예스랭귀지 Q&A

글쓰기

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

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

수식부탁드립니다.

수고가 많으십니다. 키움에서 사용하는 요일함수입니다. 이것을 예스수식 사용자함수로 변환해주시면 감사하겠습니다. 함수명: 요일(D) M= floor(D/100)%100; YY=if((M+1-1) == 1 or (M+1-1) == 2, floor(D/10000)-1, floor(D/10000)); YA=floor(YY/100); YB=YY%100; MM=if((M+1-1) == 1, 13, if((M+1-1) == 2, 14, M)); DD= D%100; A=(DD + floor(13*(MM+1)/5) + YB + floor(YB/4) + floor(YA/4) + YA*5)%7; if(A==0, 6, A-1)
프로필 이미지
알리바바
2024-10-02
791
글번호 183923
사용자 함수
답변완료

매도신호는 나오나 수량이 0으로 나옵니다

모의투자입니다 매도 신호는 나오나 매도주문이 실행되지 않습니다 수정 부탁드립니다 피라미딩 설정- 다른 진입 신호만 허용 고정자산 기준 진입 으로 설정하였습니다 감사합니다 input : 금액(10000000), 일차(0), 이차(0), 삼차(0), 사차(0),오차(0),육차(0),칠차(0),팔차(0),구차(0),십차(0),십일차(0),십이차(0),십삼차(0),십사차(0),십오차(0),십육차(0),십칠차(0),십팔차(0),십구차(0),이십차(0), 손절(0), 프로(99), 날짜(20240822); var: PP(99999999999),count(0); if Bdate != Bdate[1] Then count = 0; PP = lowest(L,900)*프로 + lowest(L,900); if sDate > 날짜 Then if MarketPosition == 0 and Low <= 일차 and count == 0 Then buy("b1"); if MarketPosition == 1 Then{ if MaxEntries == 1 and Low <= 이차 Then buy("b2"); if MaxEntries == 2 and Low <= 삼차 Then buy("b3"); if MaxEntries == 3 and Low <= 사차 Then buy("b4"); if MaxEntries == 4 and Low <= 오차 Then buy("b5"); if MaxEntries == 5 and Low <= 육차 Then buy("b6"); if MaxEntries == 6 and Low <= 칠차 Then buy("b7"); if MaxEntries == 7 and Low <= 팔차 Then buy("b8"); if MaxEntries == 8 and Low <= 구차 Then buy("b9"); if MaxEntries == 9 and Low <= 십차 Then buy("b10"); if MaxEntries == 10 and Low <= 십일차 Then buy("b11"); if MaxEntries == 11 and Low <= 십이차 Then buy("b12"); if MaxEntries == 12 and Low <= 십삼차 Then buy("b13"); if MaxEntries == 13 and Low <= 십사차 Then buy("b14"); if MaxEntries == 14 and Low <= 십오차 Then buy("b15"); if MaxEntries == 15 and Low <= 십육차 Then buy("b16"); if MaxEntries == 16 and Low <= 십칠차 Then buy("b17"); if MaxEntries == 17 and Low <= 십팔차 Then buy("b18"); if MaxEntries == 18 and Low <= 십구차 Then buy("b19"); if MaxEntries == 19 and Low <= 이십차 Then buy("b20"); if High >= lowest(L,900)*프로 Then ExitLong("BP",atlimit,lowest(L,900)*프로); count = count + 1; if Low < 손절 Then exitlong("BL"); count = count + 1; }
프로필 이미지
사과쥬스
2024-10-02
912
글번호 183919
시스템
답변완료

종목검색식 부탁드림니다.

항상 노고에 감사드림니다. 아래의 수식을 종목검색식으로 부탁드림니다. M=MACD(12,26); M>0 and Crossup(c,eavg(c,60,25))
프로필 이미지
존슨비치
2024-10-02
721
글번호 183918
종목검색

와우리 님에 의해서 삭제되었습니다.

프로필 이미지
와우리
2024-10-02
22
글번호 183916
지표
답변완료

89307 수식 확인 부탁드립니다

<만들어주신 수식>은 17봉 상승......17봉 하락 저가 위치 표시 12봉 하락......12봉 상승 고가 위치 표시 29봉 상승......29봉 하락 저가 위치 표시 18봉 하락......18봉 상승 고가 위치 표시 <부탁드린 수식은> 17봉 상승......7양 상승......7봉 하락 저가 위치 표시 12봉 하락......9음 하락......9봉 상승 고가 위치 표시 29봉 상승......20양 상승.....20봉 하락 저가 위치 표시 18봉 하락......10음 하락.....10봉 상승 고가 위치 표시 감사합니다 ------------------------------------------------------------------- 안녕하세요 예스스탁입니다. input : P(20); var : i1(-1),N(-1),i2(-1),B(-1); if h == highest(H,P) Then { i1 = Index; if i2 > 0 Then B = i1-i2; } if l == lowest(L,P) Then { i2 = Index; if i1 > 0 Then N = i2-i1; Else N = -1; } if N > 0 and Index == i2+N Then var1 = H; if B > 0 and Index == i1+B Then var2 = L; if var1 > 0 Then Plot1(var1); if var2 > 0 Then Plot2(var2); 즐거운 하루되세요 > para 님이 쓴 글입니다. > 제목 : 지표 질문입니다 > 최근 20캔들 최고가 천정에서 최근 20캔들 최저가 바닥(A)까지 하락 기간 형성한 음봉 캔들수(N)를 계산하고 최근 20캔들 최저가 바닥(A)에서 N캔들 상승한 캔들 고가를 표시한다 최근 20캔들 최저가 바닥에서 최근 20캔들 최고가 천정(B)까지 상승 기간 형성한 양봉 캔들수(M)를 계산하고 최근 20캔들 최고가 천정(B)에서 M캔들 하락한 캔들 저가를 표시한다 20캔들 등 수치 부분은 편집기 외부에서 독립적으로 입력 가능하도록 부탁합니다 감사합니다
프로필 이미지
para
2024-10-02
682
글번호 183906
지표
답변완료

일중거래량 함수

안녕하세요!!! 항상 정성스러운 답변 감사드립니다. 다름이 아니라, '장중 거래량'이 전일 거래량의 1.2배 이상임을 표현하는 코드가, 다음과 같은게 맞는지 여쭤보고자 합니다. if dayvolume >= volume[1] then find(1); 이를 질의드리는 이유는, 이따금씩 걸리는 종목 중 되려, 전일 거래량보다 적은 종목이 발견되는 경우가 있기 때문입니다. 초보적인 질문이 번거롭지만 확인부탁드립니다. 감사합니다.
프로필 이미지
아침식사됩니다
2024-10-02
747
글번호 183905
검색

와우리 님에 의해서 삭제되었습니다.

프로필 이미지
와우리
2024-10-02
375
글번호 183903
지표
답변완료

추세선 하락 3파

Input : 전환(0.2); Var:j(0),jj(0),HH(0),LL(0),hiBar(0),loBar(0),최종꼭지점(""),처리구분(""); Array:고[10,4](0),저[10,4](0); var : TL(0), TL1(0),T(0),Tx(0); Plot1(c); HH = H; LL = L; If Index == 0 Then { 고[1,1] = HH; 고[1,2] = 0; 고[1,3] = sDate; 고[1,4] = sTime; 저[1,1] = LL; 저[1,2] = 0; 저[1,3] = sDate; 저[1,4] = sTime; } If Index > 0 Then { hiBar = hiBar + 1; loBar = loBar + 1; } If HH[hiBar] < HH Then hiBar = 0; If LL[loBar] > LL Then loBar = 0; Condition1 = 저[1,1]+전환 <= HH and hiBar == 0; Condition2 = 고[1,1]-전환 >= LL and loBar == 0; 처리구분 = ""; If Condition1 and Condition2 Then { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { t = 1; If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; TL = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL,1); TL_SetColor(TL,Red); Text_SetSize(tx,25); Text_SetColor(tx,Blue); Text_SetStyle(tx,1,0); Text_SetBold(tx,1); if abs(고[1,1][1]-저[1,1][1]) < 0.5 Then Text_Delete(tx); TX = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1]-저[1,1],2)); Text_SetSize(tx,25); Text_SetColor(tx,Red); Text_SetStyle(tx,1,1); Text_SetBold(tx,1); Condition8 = False; if Condition8 == False and 저[1,1]<= 고[1,1]-0.5 Then { Condition8 = true; } } If 고[1,1] < HH[hiBar] Then { 고[1,1] = HH[hiBar]; 고[1,2] = Index - hiBar; 고[1,3] = sDate[hiBar]; 고[1,4] = sTime[hiBar]; hiBar = -1; loBar = -1; if Condition8 == False and 저[1,1] <= 고[1,1]-0.5 Then { Condition8 = true; TL1= TL_New(sDate,sTime,h-0.5,sDate,sTime,-999); TL_SetColor(TL1,Red); TL_SetSize(TL1,2); } TL_SetEnd(TL,고[1,3],고[1,4],고[1,1]); Text_SetString(TX,NumToStr(고[1,1]-저[1,1],2)); Text_SetLocation(TX,고[1,3],고[1,4],고[1,1]); } 최종꼭지점 = "고점"; } If 처리구분 == "저점처리" Then { t = -1; If 최종꼭지점 == "고점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; TL = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL,1); TL_SetColor(TL,Green); Text_SetSize(tx,25); Text_SetColor(tx,Red); Text_SetStyle(tx,1,1); Text_SetBold(tx,1); if abs(고[1,1][1]-저[1,1][1]) < 0.5 Then Text_Delete(tx); TX = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(고[1,1]-저[1,1],2)); Text_SetSize(tx,25); Text_SetColor(tx,Blue); Text_SetStyle(tx,1,0); Text_SetBold(tx,1); Condition4 = False; if Condition4 == False and 저[1,1]<= 고[1,1]-0.5 Then { Condition4 = true; } } If 저[1,1] > LL[loBar] Then { 저[1,1] = LL[loBar]; 저[1,2] = Index - loBar; 저[1,3] = sDate[loBar]; 저[1,4] = sTime[loBar]; hiBar = -1; loBar = -1; if Condition4 == False and 저[1,1] <= 고[1,1]-0.5 Then { Condition4 = true; TL1= TL_New(sDate,sTime,L+0.5,sDate,sTime,999); TL_SetColor(TL1,Blue); TL_SetSize(TL1,2); } TL_SetEnd(TL,저[1,3],저[1,4],저[1,1]); Text_SetString(TX,NumToStr(고[1,1]-저[1,1],2)); Text_SetLocation(TX,저[1,3],저[1,4],저[1,1]); } 최종꼭지점 = "저점"; } 추세선의 크기가 0.5 이상이면 세로선 표시되는 수식입니다. 하락추세선의 크기가 0.5 이상일 때만 카운트해서 세번째 하락 0.5파에 네모 표시. 0.5 이하는 무시. 저점은 무관. (고점 낮은 세번째 세로선) 고점이 같거나 낮을 때만 카운트. 직전 하락 0.5파보다 고점이 높으면 다시 새로 카운트. 감사합니다.
프로필 이미지
고성
2024-10-02
710
글번호 183901
지표
답변완료

입력시간 발생봉 130000 up down fly

국내선물 데이트레이딩입니다. 아래수식에 입력한 시간부터 발생한 봉으로 계산하는 수식을 추가해주십시요. 13시부터 발생한 봉으로 고점과 저점을 계산하여 진입합니다. input:발생봉입력시간(130000) input:up(100),down(150),fly(200); var : T(0); 항상 고맙습니다. ***************************************************************************** input:up(100),down(150),fly(200); var : T(0); if Data2(Bdate != Bdate[1]) Then T = 0; if T == 0 and data2(CrossUp(c,lowd(0)+up)) Then T = 1; if T == 1 and data2(CrossDown(c,highd(0)-down)) Then T = 2; if T == 2 and data2(CrossUp(c,lowd(0)+fly)) then { T = 3; buy(); }
프로필 이미지
목마와숙녀
2024-11-06
587
글번호 183899
시스템