커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다.

선물차트 기준으로 문의드립니다. 다음과 같이 선을 만들었습니다. input : P1(9),P2(26); Var : 기준선(0), 전환선(0); 전환선 = (Highest(High, P1) + Lowest(Low, P1)) / 2; 기준선 = (Highest(High, P2) + Lowest(Low, P2)) / 2; var1 = ma(전환선,P1); var2 = ma(기준선,P2); plot1(var1); plot2(var2); ------------------------ 1. 20 단순이평선이 위의 전환선26선 위에 있을때 차트의 세로화면 전체를 노랑색으로 나타내고, 20선이 위의 전환선 26선 아래 있을때의 구간을 세로화면 전체로 하늘색으로 표현하고 싶습니다. 혹시 가능하지 않다면 비슷하게라도 표현할 수 있을까요? 2. 위 1의 방식과 비슷하게 단순이평20선이 단순이평 60선위에 있을때의 구간을 차트에 세로로 전체화면에 노랑색으로 표현하고, 반대로 20선이 60선 아래에 있을경우 그 구간을 세세로화면으로 하늘색으로 표현하고 싶습니다. 부탁드립니다. 감사합니다. !!!
프로필 이미지
해암
2017-01-11
127
글번호 105766
지표
답변완료

문위드립니다,감사드려요

시스템 수시식입니다 당일 시가기준으로 +,- 5틱 종가안착시에 매수매도신호 예로 당일 시가+5틱에 종가봉 완성시에 매수신호 당일 시가 -5틱 종가봉이 완성시에 매도신호 진입은 당일시가 나오고 첫번째신호는 패스하고 2번째부터 진입할수있게 해주세요,,,,, 감사합니다
프로필 이미지
이공주7
2017-01-11
104
글번호 105763
시스템
답변완료

51367 재질문입니다

안녕하세요 답변 대단히 감사합니다. 번호 51367 질문을 했는데 조회수가 0이라서 다시 질문 드립니다 가려쳐주신 수식은 그냥 지표로써 잘 표현되었습니다 제가 진짜 필요한 것은 사용자함수의 수식입니다 변동이평 , welles wilder 의 사용자함수 수식은 어떻게 되나요? 그리고 또 한가지 제가 쓰는 nh선물의 사용자함수에 보면 WMA라는 함수가 있던데 가려쳐 주신 함수WWMA와는 아무 상관 없는 함수 인가요? 아래는 함수식 Input : Price(NumericSeries), Length(NumericSimple); Var : Sum(0), Counter(0), CSum(0); Sum = 0; CSum = 0; For counter = 0 To Length - 1 Begin Sum = Sum + Price[counter] * (Length - counter); CSum = CSum + Length - counter; End; If CSum > 0 Then WMA = Sum / CSum; Else WMA = 0; > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 변동이평 , welles wilder 함수정의 안녕하세요 예스스탁입니다. 1. 변동이평 input : N(10); var : Vma(0),Vrate(0); Vrate = 2/(N+1); if index == 0 Then VMA = C; Else VMA = (C-Vma)*Vrate+VMA; plot1(Vma); 2.welles wilder 이평은 Input : Period(10); Var : Ep(0), WWma(0), DINDEX(0), PreJISU(0); Ep = 1/Period; if index == 0 Then WWma = C; Else WWma = C * EP + WWma * (1-EP); plot1(WWma); ------------- 안녕하세요 사용자 함수에서 변동이평 , welles wilder 이평을 정의하고 싶은데
프로필 이미지
knoll
2017-01-11
126
글번호 105759
사용자 함수
답변완료

다시 질문드려요

답변 고맙게 잘 받았습니다. 그러나 차트에 구현해보니 당일선만 즉 plot1만 나타나는데 무엇이 문제일까요? 차트에 나타난 모습 캡쳐해서 첨부합니다. 제가 질문을 어렵게 한건지... 오늘 장 시작부터 나오는 선 하나. 어제 장시작부터 나오는선 하나 그제 장시작부터 나오는선 하나..... 3일전 장시작부터... 4일전 장시작부터... 여기서 어제, 그제의 의미는 거래일 기준입니다. 잘부탁드리겠습니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 지표문의드립니다. > 안녕하세요 예스스탁입니다. if Bdate != Bdate[1] Then{ var1 = 0; var2 = 0; var31 = var31[1]; var32 = var32[1]; var33 = var33[1]; var34 = var34[1]; } var1 = var1+(H+L)/2; var2 = var2+1; var3 = var1/var2; plot1(var3,"당일"); plot2(var31,"1일전"); plot3(var32,"2일전"); plot4(var33,"3일전"); plot5(var34,"4일전"); 즐거운 하루되세요 > 바쁜후니 님이 쓴 글입니다. > 제목 : 지표문의드립니다. > 장 시작후 각 캔들의 중간값들의 평균을 구하는 수식입니다. 물론 예스스탁을 통해서 받은것입니다. input : 시간(90000); if stime == 시간 or (stime > 시간 and stime[1] < 시간) Then{ var1 = 0; var2 = 0; } var1 = var1+(H+L)/2; var2 = var2+1; plot1(var1/var2); 그냥 무리없이 잘 사용하고 있으나 국내선물경우 수능시험일이나 특수한 경우 장시작시간이 9시가 아닌 10인경우 시간을 다시 세팅해야하고 해외선물경우 썸머타임에 따라 장시작시간이 변경이 되는경우가 있어서 매일 제가 세팅해서 사용하는데에는 문제가 없지만 과거차트를 볼때는 불편함이 있습니다. 보통 시저가 라인이라는 지표를 보면 시가를 dayopen이라는것을 사용해서 위와같이 시작시간이 변경되어도 자동적으로 시가를 표현하는데 이 지표식도 그렇게 바꾸었으면 합니다. 그리고 하루전, 이틀전, 삼일전, 사일전 도 같이 볼수있었으면 합니다. 정리하자면 위에 지표식(중간값평균식)을 1. 제가 시가시간을 기입하는방식이 아니고 자동적으로 시가가 결정되어서 작동되는 지표를 원합니다. 2. 추가적으로 하루전, 이틀전, 삼일전, 사일전 중간값평균도 같이 나오게 하는 지표를 원합니다. (2017년 1월3일 해외선물이 개장하였으니 1월3일 기준으로는 하루전이 12월30일 되겠죠. 이렇게 자동적으로 알아서 나오는 지표식을 원합니다. 국내선물경우 수능시험 다음날 차트를 봤을때 하루전 (즉, 수능시험당일) 차트에서는 시작시간이 10시로 해서 중간값평균이 자동적으로 표시되게끔 표시되었으면 합니다.) 새해복많이 받으시고 빠른답변 부탁드립니다.
프로필 이미지
바쁜후니
2017-01-11
153
글번호 105758
지표
답변완료

특정시간내의 고점 고정

안녕하세요, 해외선물에서 현재 거래를 하고 있습니다. 1시 부터 18시 까지의 고점을 고정하고 싶습니다. 1) highest 함수를 사용하여 과거 x봉에 대한 고점을 var1으로 지정하는 방법 작성 부탁드립니다. 2) 과거 x봉이 아닌 시간범위로 highest를 지정할 수 있는지 궁금합니다. 감사합니다.
프로필 이미지
라면의비밀
2017-01-11
109
글번호 105757
시스템
답변완료

부탁드립니다.

cci지표를 챠트 봉 상하에 직접 점으로 표시되게끔 표현해 주세요 100 이상은 빨강색으로 -100 이하는 파란색으로, 나타날 때마다 챠트 봉 상하에 계속해서요 감사합니다.
프로필 이미지
서태공
2017-01-11
99
글번호 105756
강조
답변완료

부탁드립니다

5일 이평선이 하락중 상승하면 6봉전의 봉중에서 최저점에 표시를 나오게 했습니다 이경우최저점이 전 최저점보다 높으면 매수 신호를 나오게 했으며 합니다 만약에 같으면 매수로 부탁합니다 상승은 반대겠죠
프로필 이미지
시월
2017-01-11
104
글번호 105755
지표
답변완료

안녕하세요?

항상 수고 많으십니다. 수식 문의 드립니다. 매수조건으로만 질문 드립니다. Input : shortPeriod(5), longPeriod(20); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } 1.익절 +20틱 손절-10틱 2.첫진입 2계약진입 3. +20틱 수익시 1계약청산 4. 진입조건 발생시 1계약 추가.(다시 2계약) 5. +20틱 수익시 올청산.(평단기준) 6. +13틱수익이후 +1틱까지 밀리면 +1틱에서 청산. 수식가능한가요 가능하면 작성 부탁드립니다. 감사합니다.
프로필 이미지
상중하
2017-01-11
117
글번호 105754
시스템
답변완료

수식문의

Input:length(12); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),TL2(0),TL3(0),Text1(0),처리구분(""), TL_Val1(0),TL_Val2(0); Array:고점[10,2](0),저점[10,2](0); 처리구분 = ""; If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then { If 저점[1,1] > L Then 처리구분 = "저점처리"; If 고점[1,1] < H Then 처리구분 = "고점처리"; } Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리"; Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리"; If 처리구분 == "고점처리" Then { lastHiVal = H; If 고점[1,2] < 저점[1,2] Then { For j = 10 DownTo 2 { 고점[j,1] = 고점[j-1,1]; 고점[j,2] = 고점[j-1,2]; } } If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then { 고점[1,1] = H; 고점[1,2] = Index; sBar = Index - 저점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); If 고점[3,1][1] < 고점[2,1][1] and 고점[2,1][1] > 고점[1,1][1] and 저점[2,1][1] < 저점[1,1][1] Then TL_Delete(TL2); } TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]); TL_SetColor(TL1,red); Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],NumToStr(abs(고점[1,1]-저점[1,1])/PriceScale,0)+NewLine+NumToStr(고점[1,1],2)); Text_SetStyle(Text1, 2, 1); If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then { sBar = Index - 저점[2,2]; eBar = Index - 저점[1,2]; TL2 = TL_New(sDate[sBar],sTime[sBar],저점[2,1],sDate[eBar],sTime[eBar],저점[1,1]); TL_SetColor(TL2,BLUE); } } } If 처리구분 == "저점처리" Then { lastLoVal = L; If 저점[1,2] < 고점[1,2] Then { For j = 10 DownTo 2 { 저점[j,1] = 저점[j-1,1]; 저점[j,2] = 저점[j-1,2]; } } If 저점[1,2] < 고점[1,2] or 저점[1,1] > L Then { 저점[1,1] = L; 저점[1,2] = Index; sBar = Index - 고점[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); If 저점[2,1][1] < 저점[1,1][1] and 저점[2,1][1] < 저점[3,1][1] and 고점[2,1][1] > 고점[1,1][1] Then TL_Delete(TL3); } TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]); TL_SetColor(TL1,blue); Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(abs(고점[1,1]-저점[1,1])/PriceScale,0)+NewLine+NumToStr(저점[1,1],2)); Text_SetStyle(Text1, 2, 0); If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then { sBar = Index - 고점[2,2]; eBar = Index - 고점[1,2]; TL3 = TL_New(sDate[sBar],sTime[sBar],고점[2,1],sDate[eBar],sTime[eBar],고점[1,1]); TL_SetColor(TL3,RED); } } } TL_SetSize(TL1,3); TL_SetSize(TL2,2); TL_SetSize(TL3,2); 이수식은 엘리어트파동처럼 추세라인이 그어지는 수식입니다. 첨부 2 그림처럼 저점끼리 연결해주는 파란 추세선과 고점끼리 연결해 주는 빨강 추세선이 있습니다. 추세선을 클릭하면 고저 자동 연결이 있고 표시칸엔 왼쪽 오른쪽 연장이라는 칸이 있는데 이것을 추세선이 발생할 때 자동으로 왼쪽 오른쪽 연장해서 나올 수 있도록 할 수 있을까요? 현재는 추세선을 클릭해서 왼족 오른쪽 연장을 눌러서 연장합니다. 추세선이 발생시 자동으로 왼쪽 오른쪽으로 연장해서 나올 수 있도록 부탁드립니다.
프로필 이미지
한짱
2017-01-10
276
글번호 105753
지표