커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

지그재그 차트

안녕하세요 개발자님. 첨부된 사진은 예전에 개발자님께서 작성해주신 지그재그 차트입니다. 주봉에 적용되었고, length(기간) 은 2 입니다. 혹시 이 주봉에 적용된 지그재그 차트와 함수를 일봉에 그대로 옮겨와 적용시키는게 가능할까요? 아래는 지그재그 함수 입니다. 항상 도움 주셔서 감사합니다! input:length(12); Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),process(0),T(0); Array:HH[10,2](0),LL[10,2](0); process = 0; If Highest(H,length) == H and lastHiVal <> H and Lowest(L,length) == L and lastLoVal <> L Then { If LL[1,1] > L Then process = -1; If HH[1,1] < H Then process = 1; } Else If Highest(H,length) == H and lastHiVal <> H Then process = 1; Else If Lowest(L,length) == L and lastLoVal <> L Then process = -1; If process == 1 Then { T = 1; lastHiVal = H; If HH[1,2] < LL[1,2] Then { For j = 10 DownTo 2 { HH[j,1] = HH[j-1,1]; HH[j,2] = HH[j-1,2]; } } If HH[1,2] < LL[1,2] or HH[1,1] < H Then { HH[1,1] = H; HH[1,2] = Index; sBar = Index - LL[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); } if LL[1,1] > 0 Then { TL1 = TL_New(sDate[sBar],sTime[sBar],LL[1,1],sDate[eBar],sTime[eBar],HH[1,1]); Text1 = Text_New(sDate[eBar],sTime[eBar],HH[1,1],NewLine+NumToStr(HH[1,1],2)); Text_SetStyle(Text1, 2, 1); } Else { Text_Delete(text1); Text1 = Text_New(sDate[eBar],sTime[eBar],HH[1,1],NewLine+NumToStr(HH[1,1],2)); Text_SetStyle(Text1, 2, 1); } Text_SetStyle(Text1, 2, 1); } } If process == -1 Then { T = -1; lastLoVal = L; If LL[1,2] < HH[1,2] Then { For j = 10 DownTo 2 { LL[j,1] = LL[j-1,1]; LL[j,2] = LL[j-1,2]; } } If LL[1,2] < HH[1,2] or LL[1,1] > L Then { LL[1,1] = L; LL[1,2] = Index; sBar = Index - HH[1,2]; eBar = 0; If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then { TL_Delete(TL1); Text_Delete(Text1); } if HH[1,1] > 0 Then { TL1 = TL_New(sDate[sBar],sTime[sBar],HH[1,1],sDate[eBar],sTime[eBar],LL[1,1]); Text1 = Text_New(sDate[eBar],sTime[eBar],LL[1,1],NumToStr(LL[1,1],2)); Text_SetStyle(Text1, 2, 0); } Else { Text_Delete(text1); Text1 = Text_New(sDate[eBar],sTime[eBar],LL[1,1],NumToStr(LL[1,1],2)); Text_SetStyle(Text1, 2, 0); } } } if T == 1 and CrossUp(C,HH[2,1]) Then Buy(); if T == -1 and CrossDown(C,LL[2,1]) Then Sell();
프로필 이미지
히익
2022-07-14
1517
글번호 160726
시스템
답변완료

문의합니다

안녕하세요 직전 봉 중 3개 이상이 양봉이고 이 3개 이상의 양봉의 (고가-저가)의 길이의 합이 150포인트가 넘으면 이후 10봉에서는 매수진입하지 않는다. 조건식 부탁드릴게요
프로필 이미지
검은약
2022-07-14
1708
글번호 160725
시스템
답변완료

지표 질문입니다

최근 8캔들 가운데 가장 낮은 양봉 고가와 두번째로 낮은 양봉 종가를 표시한다 가장 높은 음봉 저가와 두번째로 높은 음봉 종가를 표시한다 감사합니다
프로필 이미지
회원
2022-07-13
1366
글번호 160724
지표
답변완료

문의드립니다.

수고많으십니다 친절한 답변에 항상 감사드립니다. 지표?검색?강조? 어느 수식에 문의 가능한지 모르겠습니다만 1)종가가 완성된 봉(=이전 캔들)과 새로 시가로 시작한 봉(=현재 캔들)-을 표시를 해서 구분하고 싶습니다. 봉 위나 아래에 표식을 넣든지 해서 구분하는 방법을 알려주십시요. 종가로 끝난 직전봉은 하얀색, 새로 시작하는 봉은 노란색으로 나타나게 해주세요. 봉이 생성될 때마다 하얀색과 노란색이 계속 바뀌면서 나타나게 하는 수식을 부탁드립니다. 2)아니면 이식을보시고 수정부탁드립니다 input : N1(0); var : tx1(0); Text_Delete(tx1); tx1 = Text_New(sdate[n1],stime[n1],C[n1],"◆"); text_setStyle(tx1,2,1); text_setcolor(tx1,CYAN); text_setsize(tx1,10); 이식을 적용했을경우 현재 진행중인 캔들이전 캔들이 아닌 2번째이전 캔들에 표시가 됩니다 바로이전 봉에 표시가 가능할까요? 3)지금진행중인 캔들위에 표시하나 이전캔들표시하나 색을 다르게 표시하고 싶읍니다 지표?강조?검색?중 어느식에 가능 할까요 1)2)3)모두 같은 질문입니다. 예를 들면 1) 이전캔들위에 cyan 별 아이콘 현재 움직이고 있는 캔들 yellow 다이아몬드아이콘 아이콘 표시할때 고가보다 조금텀이 있게 표시되었음합니다 2)또는 이전캔들cyan Bar 현재 움직이고 있는 캔들 yellow Bar 잘 부탁드립니다.
프로필 이미지
jesten77
2022-07-13
1371
글번호 160723
지표
답변완료

분할 청산 수식부탁드립니다.

진입후 지정된 틱수만큼 2회에 걸쳐 (-)손실시 진입 수량을 분할 청산하는 수식 부탁드립니다. 예를 들어 진입(매수,매도) 수량이 총 4개일때 진입후 1회차 (-)50틱 손실일때 첫번째 2개수량 청산, 2회차 (-)100틱 일때 남은 2개수량 청산 단, (-50)틱 손실 청산 후 (-)100틱까지 손실이 가지 않고 (-)50틱 이하로 손실났다가 다시 (-50)틱 손실이 났을 경우는 청산을 하지 않고 (-)100틱 손실이 났을때 나머지 2개 수량이 청산이 되도록 수식 부탁드립니다.
프로필 이미지
미완
2022-07-13
1559
글번호 160722
시스템

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

프로필 이미지
2wnwn
2022-07-13
20
글번호 160717
지표

카르마다 님에 의해서 삭제되었습니다.

프로필 이미지
카르마다
2022-07-13
4
글번호 160716
지표
답변완료

수식 질문드립니다.

예전에 청산식 질문 답변해주신적이 있는데, 추가 질문 드려봅니다. 예스렝기지 시험가동으로 아래의 신호를 받아다가, if stime>=153400 and stime<153500 then { buy(); } 예스스팟에서, k200 선물 + k200 미니선물 두종목 기준으로 현재 포지션을 죄다 청산하고 싶습니다. 구현가능하다면, 수정좀 부탁드립니다. 종종 증거금을 넘어서서 주문이 들어가면 주문거부로 포지션이 꼬이는 경우가 발생해서 꼭 필요할듯합니다. 감사합니다. !! //연계차트에서 신호발생 function Chart1_OnRiseSignal(Signal) { //매수청산신호발생 if (Signal.signalKind == 2 ) { //잔고 종목수 var num = Account1.GetTheNumberOfBalances(); //1종목 이상 if (num > 0) { for (var i = 0; i < num; i++ ) { //종목별로 잔고셋팅 Account1.SetBalance(i); //수량이 1이상이고 매수포지션이고 옵션종목이면 if (Account1.Balance.count > 0 && Account1.Balance.position == 2 && Option1.GetCurrent(Account1.Balance,code) > 0 ) { //매수3호가로 잔고수량 잔량 매도 Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,Option1.GetBid(Account1.Balance,code,3),0) } } } } }
프로필 이미지
캣피쉬
2022-07-13
1386
글번호 160715
시스템

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

프로필 이미지
oni
2022-07-13
9
글번호 160714
종목검색