커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

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

프로필 이미지
aksnfska
2019-01-22
2
글번호 125486
시스템
답변완료

질문입니다.

늘 답변 감사드립니다. 만들어 주신 아래 수식에서 input : weekP1(5),weekP2(20); var : weekcnt(0),cnt(0),count1(0),sum1(0),mav1(0),count2(0),sum2(0),mav2(0); array : WeekC[50](0); if DayOfWeek(date) < DayOfWeek(date)[1] then{ weekcnt = weekcnt+1; for cnt = 1 to 49{ WeekC[cnt] = WeekC[cnt-1][1]; } } WeekC[0] = C; sum1 = 0; if weekcnt >= weekP1 Then{ for count1 = 0 to weekP1-1{ sum1 = sum1+WeekC[count1]; } mav1 = sum1/weekP1; if mav1 > mav1[1] Then var1 = 1; if mav1 < mav1[1] Then var1 = -1; plot1(mav1,"이평1",iff(var1==1,red,blue)); } sum2 = 0; if weekcnt >= weekP2 Then{ for count2 = 0 to weekP2-1{ sum2 = sum2+WeekC[count2]; } mav2 = sum2/weekP2; if mav2 > mav2[1] Then var2 = 1; if mav2 < mav2[1] Then var2 = -1; plot2(mav2,"이평2",iff(var2==1,red,blue)); } 실행결과 A이평선이 이쁘게 나오지 않아서.. 빨-파-빨-파 연속적으로 나오는데... 하락중에 파란색 유지 되고 상승중에 빨간색 유지 되길 원했던 그 모습이 아니라서.. 어떻게 해야할지 고민하다가 아이디어 떠올랐는데요.. 아래 오리지널 이평선 소스하고 맨아래 크로스 소스하고 합치면 될 것 같습니다. 만들어 주신 A이평선에 1이평선(20), 2이평선(40)을 넣어서 20이평선 40평선이 골드 크로스 하면 A이평선이 빨간색, 20이평선 40이평선이 데드 크로스 하면 A이평선이 파란색 유지 될수 있는 수식으로 수정 가능할까요? 잘 부탁드립니다. 늘 감사하게 생각하고 있습니다. 참고 소스 =================참고 소스 오리지널 이평선================ nput : weekP1(5),weekP2(20); var : weekcnt(0),cnt(0),count1(0),sum1(0),mav1(0),count2(0),sum2(0),mav2(0); array : WeekC[50](0); if DayOfWeek(date) < DayOfWeek(date)[1] then{ weekcnt = weekcnt+1; for cnt = 1 to 49{ WeekC[cnt] = WeekC[cnt-1][1]; } } WeekC[0] = C; sum1 = 0; if weekcnt >= weekP1 Then{ for count1 = 0 to weekP1-1{ sum1 = sum1+WeekC[count1]; } mav1 = sum1/weekP1; plot1(mav1); } sum2 = 0; if weekcnt >= weekP2 Then{ for count2 = 0 to weekP2-1{ sum2 = sum2+WeekC[count2]; } mav2 = sum2/weekP2; plot2(mav2); } ===================참고 소스2==================== var : 크로스(0), 크로스컬러(0),크로스1(0), 크로스컬러1(0) ; If 이평선2양 and 이평선1 > 이평선2 Then { 크로스 = 1 ; 크로스컬러 = RED ; } else If 이평선2음 and 이평선1 < 이평선2 Then { 크로스 = -1 ; 크로스컬러 = BLUE ; } Plot1(기준선1,"기준선1",크로스컬러,def,1) ;
프로필 이미지
스오어스
2019-01-22
229
글번호 125477
지표
답변완료

질문입니다.

#아래는 당일 저점일때만 0로 리턴하는 함수입니다. 그런데 당일 저점을 갱신하지 않았는데도 0로 리턴됩니다... 수정부탁드립니다^^ #저점 갱신후 고가 갱신 봉개수 if L == daylow Then { var1 = MAX(H[1],H); var2 = 0; } else{ if H > var1 Then { var1 = H; var2 = var2+1; } } BAHN=var2;
프로필 이미지
7007
2019-01-22
266
글번호 125472
지표
답변완료

수식 부탁드립니다.

이평선 5 20 60 120 정배열에서 MACD오실레이트 12 26 9 가 매수 신호 발생 시 매수 진입 후 매도 청산 Input : shortPeriod(12), longPeriod(26), Period(9); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { exitlong(); } 그리고 이평선 5 20 60 120 역배열에서 MACD오실레이트 12 26 9가 매도 신호 발생 시 매도진입 후 매수청산 value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } # 매수/매도청산 If CrossUP(value1, value2) Then { Exitshort(); } 두가지를 함께 사용할 수 있는 수식 부탁드립니다. 감사합니다.
프로필 이미지
선물대장
2019-01-22
216
글번호 125469
시스템
답변완료

수식5

전일:고가.저가.중심선.시가 당일:고가.저가.중심선.시가 시간시간선(예.30분 수평의 선으로나타낸수식부탁드립니다
프로필 이미지
용각산
2019-01-22
230
글번호 125467
지표
답변완료

수식 의뢰 드립니다!

안녕하세요! 수식으로 가능한지 여쭤보고 싶습니다. 분봉에 틱봉의 볼린저밴드를 가져오고 싶습니다! 30분봉을 예를 들자면 30분봉에 900틱의 볼린저밴드를 가져올 수 있나요? 수식으로 가능한지요? 틱수는 수시로 변경하고 싶습니다!
프로필 이미지
qha71
2019-01-22
244
글번호 125466
지표
답변완료

수식 문의

안녕하세요 지난 1월 예스트레이더 강의를 듣고 이제 막 하나씩 시작해 보려고 합니다. 머릿속에 해보고 싶은건 많은데, 수식 문법이나 조건사항들을 하나씩 해보려니 이게 감이 잘 서지 않네요ㅠ 많은 질의사항들 대응하시느라 고생 많으실텐데 죄송스럽게도 아래의 로직으로 대략적인 수식을 하나 샘플로 부탁 드릴 수 있을까요? 대상상품은 해외선물 입니다. [사용지표] MACD (12, 26, 9) Stochastic (15, 5, 5) Momentum (80, 80) [진입 조건1 - 시간] 오후 5시 부터 새벽 3시까지 (17:00 ~ 03:00) [진입 조건2 - 지표] 1. 매수 1) 장기/단기 교차 - MACD 장/단기 상방 교차 - Stochastic 장/단기 상방 교차 - Momentum 값/지수 상방 교차가, 연속된 5개 시간봉 안에서 발생 시, 마지막 교차가 되는 시점 다음 봉에서 시장가 매수 2) 교차되는 지표의 순서는 상관 없음 3) 상방교차 시, 밑에서 위로 Cross 하는 경우 뿐만 아니라, 겹쳤다가 위로 올라가는 경우에도 유효 (장기 = 단기) 2. 매도 1) 장기/단기 교차 - MACD 장/단기 하방 교차 - Stochastic 장/단기 하방 교차 - Momentum 값/지수 하방 교차가, 연속된 5개 봉 안에서 발생 시, 마지막 교차가 되는 시점 다음 봉에서 시장가 매도 2) 교차되는 지표의 순서는 상관 없음 3) 하방교차 시, 위에서 밑으로 Cross 하는 경우 뿐만 아니라, 겹쳤다가 밑으로 내려가는 경우에도 유효 (장기 = 단기) [청산조건] 1. 매수청산 현재 봉과 지난 4개의 봉을 비교하여, 현재 봉의 최저가가 지난 4개봉 중 최저가-2 이하로 떨어질 시 바로 즉시 매도 2. 매도청산 현재 봉과 지난 4개의 봉을 비교하여, 현재 봉의 최고가가 지난 4개봉 중 최고가+2 이상으로 올라갈 시 즉시 매수 3. 진입을 한 상태에서 반대신호가 뜰 시, 기존 진입은 청산하고 신규진입 수행 (지연주문X) 4. 수익이 50틱이 될 경우, 자동시장가 청산 5. 오전 3시까지 남아있는 계약이 있다면 올 청산 (이건 시스템 세팅으로 할 수 있겠네요) 6. 그 외에 별도의 손절매 기준은 없습니다. 시스템 트레이딩이라는게 툴과 매뉴얼만 있었다면 선뜻 시작하기 어려웠을텐데, 예스트레이더는 교육과 및 커뮤니티가 그래도 활발히 이뤄지는 거 같아 이제 시작하는 초보자 입장에서 많은 위안과 도움이 됩니다. 좋은 시스템과 컨텐츠를 제공해 주셔서 정말 감사합니다.
프로필 이미지
퍄노재즈
2019-01-22
268
글번호 125465
시스템
답변완료

동영상 강의 문의

예스스탁 홈페이지에서 제공하는 동영상강의 1,2 편을 수강하고있었는데요.문제점이 2가지있습니다. 1. 동영상 사운드랑 화면출력에 오차가 있습니다. 싱크로율 맞추는 방법 없나요? 2. 동영상이 1편에 40분이라고 치면 70%~80%이상 넘어가면 다시 강의가 시작부분으로 재생되는데..2편또한 마찬가지구요. 띄엄띄엄 이후 영상들도 확인해봤는데 모두 그런거같은데 이거 해결할수있는 방법없나요?
프로필 이미지
견습트레이더
2019-01-22
266
글번호 125464
시스템
답변완료

문의드립니다

input:length(4),종가사용여부(0),파동선두께(5),수치표시(1); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),tl2(0),tl3(0),tl4(0),tl5(0),T(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; 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; 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; //TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 수치표시 == 1 Then { } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,red); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 수치표시 == 1 Then { } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; //TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,blue); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { } } 최종꼭지점 = "저점"; } if T == -1 and T[1] != -1 Then{ TL2 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]); TL_Delete(TL3); TL3 = TL_New(고[1,3],고[1,4],고[1,1],sdate,stime,고[1,1]); TL_SetExtRight(TL3,true); TL_SetSize(TL2,1); TL_SetColor(TL2,GRAY); TL_SetSize(TL3,3); TL_SetColor(TL3,RED); } if T == 1 and T[1] != 1 Then{ TL2= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]); TL_Delete(TL3); TL3= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]); TL_SetExtRight(TL3,true); TL_SetSize(TL2,1); TL_SetColor(TL2,GRAY); TL_SetSize(TL3,3); TL_SetColor(TL3,PINK); } 위수식에서 수평선,핑크와 레드색을 5틱씩아래에서수평선이 나오게하며1봉전부터수평선이나오게 부탁드립니다~~매번감사드립니다
프로필 이미지
소망
2019-01-22
251
글번호 125463
지표