커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다

안녕하세요~ 해외선물 데이시스템을 만들고 있는데 진입 시작시간 090000으로 하고 포지션있을시 강제 청산시간을 050000으로 하여 만들었어요 그런데 청산은 다음날 새벽5시에 잘 청산되는데 문제는 진입이 밤 12시 이후로 발생하지 않습니다 이 문제 해결방안을 알려주세요~
프로필 이미지
하라잉
2016-02-23
118
글번호 95717
시스템
답변완료

수식변환 부탁드립니다..

메타4 수식인데 예스로 변환 부탁드립니다. 아래 답변해 주신것중에 비슷한 내용이 있긴한데 지식이 없다 보니까 어렵네요. 부탁드립니다. 아래 답변해주신 수식도 올립니다. var : LoL(0),NewH(0),box1(false),ii(0),TOP(0),UND(0); LoL=iff(L==LOWEST(L,5),L,iff(L[1]==LOWEST(L,5),L[1], IFF(L[2]==LOWEST(L,5),L[2],iff(L[3]==LOWEST(L,5),L[3], iff(L[4]==LOWEST(L,5),L[4],0))))); if H>HIGHEST(H,5)[1] Then{ NewH = H; ii = 0; } box1=HIGHEST(H,3) < HIGHEST(H,4); ii = ii +1; if ii == 4 AND box1==true Then TOP = NewH; if ii == 4 AND box1==true Then UND = Lol; plot1(TOP); plot2(UND); 변환해주실 수식 LowL:=If(Low=LLV(Low,5),Low,If(Ref(Low,1)=LLV(Low,5),Ref(Low,1), If(Ref(Low,2)=LLV(Low,5),Ref(Low,2),If(Ref(Low,3)=LLV(Low,5),Ref(Low,3), If(Ref(Low,4)=LLV(Low,5),Ref(Low,4),0))))); NewH:=ValueWhen(1,High>Ref(HHV(High,5),1),High); box1:=HHV(High,3)<HHV(High,4); box2:=ValueWhen(1,BarsSince(High>Ref(HHV(High,5),1))=3 AND box1=true,NewH); box3:=ValueWhen(1,BarsSince(High>Ref(HHV(High,5),1))=3 AND box1=true,LowL); TopBox:=box2; BottomBox:=box3; TopBox; BottomBox; Ht:=If(Cross(HHV(H,4)=Ref(H,3),.9)=1,Ref(H,3),PREV); Top:=If(Ht>Ref(Ht,1),Ht,PREV); Lt:=If(Cross(HHV(H,4)=Ref(H,3),.9)=1,L,PREV); Bot:=If(Lt<Ref(Lt,1),Lt,PREV); Top; Bot
프로필 이미지
쿠베라
2016-02-23
171
글번호 95716
지표
답변완료

이동평균 등락비교

오늘도 기초적인 질문 드립니다. 주가지표 중에 이동평균 등락비교라는 것이 있는데 이것은 어떤 경우에 쓸 수 있나요? 첫번째 조건은 기본 설정값으로 본다면 '0전 5일 이평 < 10전 20일 이평'인데, 이것이 무엇을 의미하는 지, 어떤 상황에서 사용할 수 있는지 이해가 안됩니다. 마찬가지로 두번째 조건 또한 이해가 안되네요. 가능하시다면 실제 상황으로 예를 좀 들어주시면 감사하겠습니다.
프로필 이미지
유덕
2016-02-23
133
글번호 95714
지표
답변완료

수식 문의 드립니다.

매수: 20개 봉중이전 최저점대비 10% 상승시 매수 매도:20 개 봉중 이전 최고점대비 10% 하락시 청산 매수점 을 하락시 0.01 point 아래에서 청산 (옵션식)
프로필 이미지
회원
2016-02-23
123
글번호 95713
시스템

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

프로필 이미지
스팀
2016-02-23
37
글번호 95712
지표
답변완료

문의드립니다.

과장님 .. 오늘 만들어주신 검색식과 어제만들어주신 추세선과 차이가 나는듯합니다. 해서 원하는 종목이 검색이 안되네요. 시가가 1순위에 상하 3.5% 근접한 종목 검색식으로 변경했는데 검토부탁드립니다. 기간은 120봉이고 그림의 종목은 칩스앤미디어입니다. 그리고 어제 만들어주신 추세식중 지정된 봉수내에 최고가(h)일때부터 계산되도록 수정 부탁드립니다. 감사합니다. ### 추세식(3순위는 제외했습니다)---선굵기 변경은 적용이 않되네요~ input : N(60),구간수(12),굵기(3); var : HH(0),LL(0),cnt(0),diff(0),count(0),mid(0); Array : RR[12](0),VV[12](0); Var : cnt2(0), tempmax(0), tempindex(0), cnt1(0),NTHindex(0); Array : VALUE[12](0), NTHVALUE[12](0),Nthidx[12](0); var : TL1(0),TL2(0),TL3(0); var : Tx1(0),Tx2(0),Tx3(0); #구간산정 #1일전~~N일전까지의 최고가와 최저가 HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if daylow(cnt) < LL Then LL = daylow(cnt); } #차이값의 1/12값 diff = (HH-LL)/구간수; #각 구간값 저장 for cnt = 0 to 구간수{ RR[cnt] = HH-diff*cnt; } #1일전부터 N일전까지의 중간값이 포함된 구간을 찾고 #그 구간과 동일한 번호의 VV배열방에 거래량 저장 for cnt = 0 to 11{ VV[cnt] = 0; for count = 1 to N{ mid = (dayhigh(count)+daylow(count))/2; if RR[cnt] >= mid and mid > RR[cnt+1] Then VV[cnt] = VV[cnt]+DayVolume(count); } } For cnt1 = 0 to 11 { tempmax = -99999999; For cnt2 = 0 to 11 { if ( VV[cnt2] > tempmax ) then { tempmax = VV[cnt2]; tempIndex = cnt2; } } NTHVALUE[cnt1] = tempmax; NTHidx[cnt1] = tempIndex; VV[tempIndex] = -99999999; } if date != date[1] and DataCompress <= 2 Then{ TL_Delete(TL1); TL1 = TL_New(sdate[1],stime[1],RR[NTHidx[0]],sdate,stime,RR[NTHidx[0]]); TL_SetExtRight(TL1,true); TL_SetExtLeft(TL1,true); TL_SetColor(TL1,RED); TL_SetSize(TL1,굵기); TL_Delete(TL2); TL2 = TL_New(sdate[1],stime[1],RR[NTHidx[1]],sdate,stime,RR[NTHidx[1]]); TL_SetExtRight(TL2,true); TL_SetExtLeft(TL2,true); TL_SetColor(TL2,blue); TL_SetSize(TL2,굵기); # TL_Delete(TL3); # TL3 = TL_New(sdate[1],stime[1],RR[NTHidx[2]],sdate,stime,RR[NTHidx[2]]); # TL_SetExtRight(TL3,true); # TL_SetExtLeft(TL3,true); # TL_SetColor(TL3,GREEN); # TL_SetSize(TL3,굵기); } if DataCompress >= 3 then{ TL_Delete(TL1); TL1 = TL_New(sdate[N-1],stime[N-1],RR[NTHidx[0]],sdate,stime,RR[NTHidx[0]]); TL_SetExtRight(TL1,true); TL_SetColor(TL1,RED); TL_Delete(TL2); TL2 = TL_New(sdate[N-1],stime[N-1],RR[NTHidx[1]],sdate,stime,RR[NTHidx[1]]); TL_SetExtRight(TL2,true); TL_SetColor(TL2,blue); # TL_Delete(TL3); # TL3 = TL_New(sdate[N-1],stime[N-1],RR[NTHidx[2]],sdate,stime,RR[NTHidx[2]]); # TL_SetExtRight(TL3,true); # TL_SetColor(TL3,GREEN); } Text_Delete(tx1); Text_Delete(tx2); # Text_Delete(tx3); tx1 = Text_New(sdate,stime,RR[NTHidx[0]],"1순위"); tx2 = Text_New(sdate,stime,RR[NTHidx[1]],"2순위"); # tx3 = Text_New(sdate,stime,RR[NTHidx[2]],"3순위"); Text_SetStyle(tx1,2,0); Text_SetStyle(tx2,2,0); # Text_SetStyle(tx3,2,0); ### 검색식 input : N(120),구간수(12),per(2.5),per1(10); var : HH(0),LL(0),cnt(0),diff(0),count(0),mid(0); Var : cnt2(0), tempmax(0), tempindex(0), cnt1(0),NTHindex(0); var : TL1(0),TL2(0),TL3(0); var : Tx1(0),Tx2(0),Tx3(0); Array : RR[12](0),VV[12](0); Array : VALUE[12](0), NTHVALUE[12](0),Nthidx[12](0); #구간산정 #1일전~~N일전까지의 최고가와 최저가 HH = dayhigh(1); LL = daylow(1); for cnt = 1 to N{ if dayhigh(cnt) > HH Then HH = dayhigh(cnt); if daylow(cnt) < LL Then LL = daylow(cnt); } #차이값의 1/12값 diff = (HH-LL)/구간수; #각 구간값 저장 for cnt = 0 to 구간수{ RR[cnt] = HH-diff*cnt; } #1일전부터 N일전까지의 중간값이 포함된 구간을 찾고 #그 구간과 동일한 번호의 VV배열방에 거래량 저장 for cnt = 0 to 11{ VV[cnt] = 0; for count = 1 to N{ mid = (dayhigh(count)+daylow(count))/2; if RR[cnt] >= mid and mid > RR[cnt+1] Then VV[cnt] = VV[cnt]+DayVolume(count); } } For cnt1 = 0 to 11 { tempmax = -99999999; For cnt2 = 0 to 11 { if ( VV[cnt2] > tempmax ) then { tempmax = VV[cnt2]; tempIndex = cnt2; } } NTHVALUE[cnt1] = tempmax; NTHidx[cnt1] = tempIndex; VV[tempIndex] = -99999999; } if o <= RR[NTHidx[0]]*(1+Per/100) and o >= RR[NTHidx[0]]*(1-Per/100) Then find(1);
프로필 이미지
부양가족
2016-02-23
231
글번호 95709
검색
답변완료

부탁드립니다

고가(사용자정의) - 저가 (사용자정의) = A 고가 1 = 고가 + A 고가2 = 고가1 +A 고가3 = 고가2 + A . . . 고가10 = 고가9 + A 저가1 = 저가 - A 저가2 =저가1 - A . . . 저가10 = 저가9 - A 수식을 부탁드립니다... 구벅 ps) 챠트가 독립실행은 안되는가요??
프로필 이미지
모수
2016-02-23
144
글번호 95708
지표
답변완료

[46553]게시글 관련 수정 부탁드립니다.

var : maxv(0),minv(0),maxAVG(0),minAVG(0),tx1(0),tx2(0); if C > O[8] Then{ maxv = max(C,O[8]); minv = min(C,O[8]); if maxv[1] > 0 and minv[1] > 0 then{ maxAVG = (maxv+maxv[1])/2; minAVG = (minv+minv[1])/2; PlotPaintBar(maxAVG,minAVG,maxAVG,minAVG,"강조",BLACK); } if maxAVG > maxAVG[1] and minAVG < minAVG[1] Then{ tx1 = Text_New(sdate,stime,maxAVG,"Y"); Text_SetStyle(tx1,2,1); } if c > max(maxAVG[1],maxAVG[2],maxAVG[3]) Then{ tx2 = Text_New(sdate,stime,minAVG,"B"); Text_SetStyle(tx2,2,0); } } if C < O[8] Then{ maxv = max(C,O[8]); minv = min(C,O[8]); if maxv[1] > 0 and minv[1] > 0 then{ maxAVG = (maxv+maxv[1])/2; minAVG = (minv+minv[1])/2; PlotPaintBar(maxAVG,minAVG,maxAVG,minAVG,"강조",BLACK); } if maxAVG > maxAVG[1] and minAVG < minAVG[1] Then{ tx1 = Text_New(sdate,stime,maxAVG,"Y"); Text_SetStyle(tx1,2,1); } if c > max(maxAVG[1],maxAVG[2],maxAVG[3]) Then{ tx2 = Text_New(sdate,stime,minAVG,"B"); Text_SetStyle(tx2,2,0); } } ------------------------------- 위의 수식은 지난 주에 작성해 주신 수식[46553번 게시글]입니다. 주말 동안 검증해보니 첨부 그림과 같이 에러가 있어 수정 요청드립니다. 미리 감사의 말씀 드립니다.
프로필 이미지
짬뽕귀신
2016-02-23
174
글번호 95704
강조
답변완료

부탁드립니다

+정말 항상 감사드립니다. 왕초보 배우는 중이라 신세지지않기위해 간단한것 여쭙겠습니다. 1. 분봉에서..전일종가기준 , 금일 n번째 봉이 +이면 매수진입, - 이면 매도 진입에 대해 알고 싶습니다. 2. (10)번째 봉이 상향 돌파면 매수진입, 하향 돌파면 매도 진입, (5) 번째 봉이 하향돌파하면 매수청산, 상향돌파하면 매도 청산. 3. 분봉에서..이동평균선 변수(20)을 기준으로, 금일 n 번째 봉이 이평선 위에 있으면 매수진입, 아래에 있으면 매도 진입. 이상입니다. 오늘도 행복한 하루되세요. 감사합니다.
프로필 이미지
gocabu
2016-02-23
135
글번호 95703
시스템