커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

함수요청

안녕하세요? 아래 글번호 80621번 재질문입니다. 답변주신 스크랩트에 하루 n번 진입 제어를 하고 싶습니다. 스크립트 수정 부탁드립니다. 아래와 같이 변경해보았는데 신호가 생성안되네요 1 input : 최대진입횟수(5); Var : Entry(0); Var : mav(0); mav = ma(c,100); if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; if MarketPosition <= 0 and NextBarSdate == sDate and ((Bdate != Bdate[2] and CountIF(C>DayOpen,2) == 2) or (Bdate == Bdate[2] and CountIF(C>DayOpen,2) == 2 and C[2] < DayOpen)) and entry < 최대진입횟수 Then Buy("b",AtMarket); if MarketPosition == 1 Then { if CountIf(C<DayOpen,2) == 2 and BarsSinceEntry >= 2 Then ExitLong("bx1",AtMarket); if CountIf(C>DayOpen,4) == 4 and BarsSinceEntry >= 4 Then ExitLong("bx2",AtMarket); if CrossUp(c,mav) or CrossDown(c,mav) then ExitLong("bx3",AtMarket); } SetStopEndofday(152000); --------------------------------------------------------------------------- 안녕하세요 예스스탁입니다. 1 Var : mav(0); mav = ma(c,100); if MarketPosition <= 0 and NextBarSdate == sDate and ((Bdate != Bdate[2] and CountIF(C>DayOpen,2) == 2) or (Bdate == Bdate[2] and CountIF(C>DayOpen,2) == 2 and C[2] < DayOpen)) Then Buy("b",AtMarket); if MarketPosition == 1 Then { if CountIf(C<DayOpen,2) == 2 and BarsSinceEntry >= 2 Then ExitLong("bx1",AtMarket); if CountIf(C>DayOpen,4) == 4 and BarsSinceEntry >= 4 Then ExitLong("bx2",AtMarket); if CrossUp(c,mav) or CrossDown(c,mav) then ExitLong("bx3",AtMarket); } SetStopEndofday(152000); 2 Var : mav(0); mav = ma(c,100); if MarketPosition >= 0 and NextBarSdate == sDate and ((Bdate != Bdate[2] and CountIF(C<DayOpen,2) == 2) or (Bdate == Bdate[2] and CountIF(C<DayOpen,2) == 2 and C[2] > DayOpen)) Then Sell("s",AtMarket); if MarketPosition == -1 Then { if CountIf(C>DayOpen,2) == 2 and BarsSinceEntry >= 2 Then ExitShort("sx1",AtMarket); if CountIf(C<DayOpen,4) == 4 and BarsSinceEntry >= 4 Then ExitShort("sx2",AtMarket); if CrossUp(c,mav) or CrossDown(c,mav) then ExitLong("bx3",AtMarket); } SetStopEndofday(152000); 즐거운 하루되세요 > 흰둥이아빠 님이 쓴 글입니다. > 제목 : 함수요청 > 안녕하세요? 아래 글번호 80612번 연장선상에서 질문드립니다. (답변주신 스크립트는 첫봉에서 부터 신호가 생성됩니다.) 국내선물 1분봉으로 일중거래를 하고자 합니다. [1] 당일 시가선 기준으로 2번 연속 돌파되면 익봉 시가 매수 당일 시가선 기준으로 2번 연속 이탈되면 익봉 시가 매수청산 당일 시가선 기준으로 4번 연속 돌파되면 익봉 시가 매수청산 100ma 돌파 및 이탈시 익봉 시가 매수청산 [2] 당일 시가선 기준으로 2번 연속 이탈되면 익봉 시가 매도 당일 시가선 기준으로 2번 연속 돌파되면 익봉 시가 매도청산 당일 시가선 기준으로 4번 연속 이탈되면 익봉 시가 매도청산 100ma 돌파 및 이탈시 익봉 시가 매도청산 청산조건은 or이며 15:20에는 강제청산입니다. 1번과 2번 각각의 스크립트 작성을 부탁드립니다.
프로필 이미지
흰둥이아빠
2023-02-07
1087
글번호 166052
시스템
답변완료

추세선 반등

input : Period(35); Var:j(0),T(0); Var: date11(0),date12(0),time11(0),time12(0),TL1(0),TL(0),tl9(0), date21(0),date22(0),time21(0),time22(0),txx(0), vTL(0), vTL9(0),txxx(0), date31(0),date32(0),time31(0),time32(0),tx(0),tx1(0),tl4(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); Array:r[7](0),fr[7](0),TL2[7](0),TL3[7](0),TX2[7](0),TX3[7](0); For j = 0 To 19 Plot1(0); { HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1; } if crossup(c,highest(H,Period)[1]) Then T = 1; if CrossDown(c,Lowest(L,Period)[1]) Then T = -1; If T == -1 Then { If T[1] != -1 Then { For j = 18 DownTo 0 { LoVal[j+1] = LoVal[j]; LoBar[j+1] = LoBar[j]; } LoVal[0] = L; LoBar[0] = 0; date11 = date[HiBar[0]]; time11 = stime[HiBar[0]]; Value11 = HiVal[0]; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; date21 = date[HiBar[0]]; time21 = stime[HiBar[0]]; date22 = date[0]; time22 = stime[0]; for j = 0 to 6 { fr[j] = LoVal[1] + ((HiVal[0] - LoVal[1]) * r[j]); } Condition1 = False; } Else { If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; date22 = date[0]; time22 = stime[0]; Text_Delete(tx); Condition1 = False; } Else { if Condition1 == False and Value12 <= value11-0.3 and Value12 >= value11-0.45 and C >= value12+PriceScale*2 Then { Condition1 = true; Text_Delete(txx-2); txx = Text_New(sdate,sTime,H-PriceScale*4,"●"); Text_SetStyle(txx,2,2); Text_SetColor(txx,Green); Text_SetSize(txx,15); } } } } If T == 1 Then { If T[1] != 1 Then { For j = 18 DownTo 0 { HiVal[j+1] = HiVal[j]; HiBar[j+1] = HiBar[j]; } HiVal[0] = H; HiBar[0] = 0; date11 = date[LoBar[0]]; time11 = stime[LoBar[0]]; Value11 = LoVal[0]; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; date31 = date[LoBar[0]]; time31 = stime[LoBar[0]]; date32 = date[0]; time32 = stime[0]; for j = 0 to 5 { fr[j] = LoVal[0] + ((HiVal[1] - LoVal[0]) * r[j]); } } If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; date32 = date[0]; time32 = stime[0]; } } 반등의 저점이(종가도 무관) 당일 고점에서 -1.2p 아래일 때만 동그라미 표시되게 부탁드립니다.
프로필 이미지
고성
2023-02-07
1118
글번호 166051
지표
답변완료

문의드립니다

장시작9시부터 9시10분까지 거래량이50만주 넘어간 종목을 찾고싶습니다
프로필 이미지
처음처럼22
2023-02-07
786
글번호 166050
종목검색
답변완료

문의 드립니다

input : starttime(210000),endtime(63000),n(30); var : Tcond(false),hh(0),h1(0),ll(0),l1(0); IF Endtime > starttime Then SetStopEndofday(Endtime); Else { if sDate != sDate[1] Then SetStopEndofday(Endtime); } if (sdate != sdate[1] and stime >= endtime) or (sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then { Tcond = false; } if (sdate != sdate[1] and stime >= starttime) or (sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then { Tcond = true; hh = h; ll = l; h1 = hh[1]; l1 = ll[1]; IF Endtime <= starttime Then { SetStopEndofday(0); } } input : 익절틱수(0),손절틱수(0); if NextBarSdate != sDate Then { if NextBarOpen != C Then { Buy("b",AtStop,NextBarOpen+PriceScale*5); } } ExitLong("bx",AtMarket); if NextBarOpen != C Then { Sell("s",AtStop,NextBarOpen-PriceScale*5); } ExitShort("sx",AtMarket); SetStopProfittarget(PriceScale*익절틱수,PointStop); SetStopLoss(PriceScale*손절틱수,PointStop); ----------------------- 해외선물 매매구간인(08:00~익일07:00)에서 150분봉 매매시 endtime은 06:30 입니다. endtime때 매매만 정지가되고 상품의 수량은 그대로인데 endtime전후로 당일 자동청산이 되도록 수식어를 포함하고자합니다.
프로필 이미지
푸른
2023-02-07
648
글번호 166049
시스템

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

프로필 이미지
회원
2023-02-07
11
글번호 166048
시스템
답변완료

부탁 드립니다

항상 노고에 감사 드리며 다름이 아니라 chandelier Exit 에 박스처리를 하려했는데...짜집기 오류가되서 수정 부탁드립니다 input : length(28),mult(5.0),showLabels(true),useClose(true),highlightState(true); var : ATrv(0),longStop(0),longStopprev(0),shortStop(0),shortStopPrev(0); var : dir(1),longcolor(Red),shortcolor(Blue),tx(0); var : Tsl(0),linecolor(0); var : hv(0),lv(0),dv(0),tv(0),box(0),tx(0); atrv = mult * atr(length); longStop = IFf(useClose , highest(close, length) , highest(h,length)) - atrv; longStopPrev = longStop[1]; longStop = iff(close[1] > longStopPrev , max(longStop, longStopPrev) , longStop); shortStop = IFf(useClose , lowest(close, length) , lowest(L,length)) + atrv; shortStopPrev = shortStop[1]; shortStop = iff(close[1] < shortStopPrev , min(shortStop, shortStopPrev) , shortStop); dir = iff(close > shortStopPrev , 1 ,iff( close < longStopPrev , -1 , dir)); IF dir == 1 Then { plot1(longStop,"Long Stop",longColor); NoPlot(2); } Else { NoPlot(1); plot2(shortStop,"Short Stop",shortColor); } if dir == 1 and dir[1] == -1 Then { tx = Text_New(sDate,sTime,longStop,"▲"); Text_SetStyle(tx,2,0); Text_SetColor(tx,longcolor); Text_setsize(Tx,25); } if dir == -1 and dir[1] == 1 Then { tx = Text_New(sDate,sTime,shortStop,"▼"); Text_SetStyle(tx,2,1); Text_SetColor(tx,shortcolor); Text_setsize(Tx,25); } if Long Stop == 1 Then if Long Stop !=Long Stop [1] Then { if hv-lv < 0.5 Then Text_Delete(tx); Else Text_SetSize(tx,15); hv = Tsl; lv = Tsl; dv = sDate; tv = sTime; box = Box_New(sDate,sTime,hv,NextBarSdate,NextBarStime,lv); tx = Text_New(NextBarSdate,NextBarStime,hv,NumToStr(hv-lv,2)); Text_SetStyle(tx,2,1); Text_SetSize(tx,20); } Else { if Tsl > hv Then hv = Tsl; if Tsl < lv Then lv = Tsl; Box_SetBegin(box,dv,tv,hv); Box_SetEnd(box,NextBarSdate,NextBarStime,lv); Box_SetColor(box,Red); Box_SetFill(box,true); Text_SetString(tx,NumToStr(hv-lv,2)); Text_SetLocation(tx,NextBarSdate,NextBarStime,hv); } } if Short Stop == -1 Then { if Short Stop != Short Stop[1] Then { if hv-lv < 0.5 Then Text_Delete(tx); Else Text_SetSize(tx,15); hv = Tsl; lv = Tsl; dv = sDate; tv = sTime; box = Box_New(sDate,sTime,hv,NextBarSdate,NextBarStime,lv); tx = Text_New(NextBarSdate,NextBarStime,hv,NumToStr(hv-lv,2)); Box_SetColor(box,Blue); Box_SetFill(box,true); Text_SetStyle(tx,2,1); Text_SetSize(tx,20); } Else { if Tsl > hv Then hv = Tsl; if Tsl < lv Then lv = Tsl; Box_SetBegin(box,dv,tv,hv); Box_SetEnd(box,NextBarSdate,NextBarStime,lv); Text_SetString(tx,NumToStr(hv-lv,2)); Text_SetLocation(tx,NextBarSdate,NextBarStime,hv); } }
프로필 이미지
비듬싸순
2023-02-06
613
글번호 166047
지표

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

프로필 이미지
누댕
2023-02-07
21
글번호 166046
시스템

배움이 님에 의해서 삭제되었습니다.

프로필 이미지
배움이
2023-02-07
15
글번호 166045
시스템
답변완료

전전일고가

늘 감사합니다. data2의 전일고가, 전전일고가 중 최고가----1번 전일저가, 전전일저가 중 최저가----2번 수식은 data2용으로 작성해 주세요 1. 최고가 2. (1번+2번)/2 3. 최저가 감사합니다.
프로필 이미지
상암동
2023-02-06
781
글번호 166044
지표