커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의 드립니다

저는 1분 차트를 이용하는 시스템인데요 진입 시간을 5분단위로만 진입을 하고싶은데 예를들어 10시 5분, 20분, 11시,12시10분 등 어떻게 코딩을해야하는지 알려주세요
프로필 이미지
비마
2023-02-28
1524
글번호 166765
시스템

신대륙발견 님에 의해서 삭제되었습니다.

프로필 이미지
신대륙발견
2023-02-28
1
글번호 166764
지표
답변완료

문의 드립니다

수고 하십니다. 첨부 그림에서 1st time zone에 표시된 것처럼 분봉차트에서 지정 시간대에서 첫 1봉 ~ N번째 봉의 1봉의 시가/N봉의 종가/1~N봉의 max 고가/1~N봉의 min 저가를 표시하고 싶습니다. 즉, 아래 mbo2 구간에서 현재는 첫봉의 시고저종이 표시되는데 이것을 1st time zone의 경우에 시고저종가가 표시된 것처럼 임의의 시간대에서 첫 봉~임의의 지정 N번째 봉 사이의 1봉의 시가/N봉의 종가/1~N봉의 max 고가/1~N봉의 min 저가를 표시할 수 있게 변경 부탁 드립니다. 수고하세요. ################ //MBO var : mboH1(0),mboL1(0),mboO1(0),mboC1(0); input : mboftime1(103000) ; input: mbo시가N1(1); if dayindex+1==mbo시가N1 Then { //시가용 // mboH1 = dayhigh; // mboL1 = daylow; mboO1 = dayopen; // mboC1 = dayclose; } #### 당일 시가 if dayindex>=mbo시가N1 && stime<=mboftime1 Then { plot1(mboO1,"O1-점5",Black); } input: mboN1(2); if dayindex+1==mboN1 Then { mboH1 = dayhigh; mboL1 = daylow; // mboO1 = dayopen; mboC1 = dayclose; } #### mbo1 고저종가 if dayindex>=mboN1 && stime<=mboftime1 Then { plot2(mboH1,"H1-네모",Red); plot3(mboL1,"L1-네모",Blue); if mboC1>mboO1 Then plot5(mboC1,"C1-일자",Red); Else plot5(mboC1,"C1-일자",blue); } #### mbo1 처럼 시고저종가 표시 하기.... input : stime2(103000), ftime2(120000) ; input : mboN2(0); //?? if (stime == stime2) or (stime >= stime2 and stime[1] < stime2) Then{ ## 틱차트봉은 체결건수를 기준으로 만들어 지므로 ## 봉의 시간이 103000와 같이 일치하지 않을 수 있습니다. var21 = dayindex; value21 = H; value22 = L; value23 = C; value24 = O; } if stime >= stime2 and dayindex <= var21 + mboN2 Then{ if H > value21 Then value21 = H; if L < value22 Then value22 = L; } if stime >= stime2 and dayindex >= var21 + mboN2 and stime <= ftime2 then{ plot21(value21,"H2-네모",Red); plot22(value22,"L2-네모",blue); plot23(value23,"C2-일자",Green); plot24(value24,"O2-일자",Black); }
프로필 이미지
오이도인
2023-02-28
1225
글번호 166763
지표
답변완료

추가 문의드립니다

안녕하세요~~항상 감사드립니다 80986번 답변중에~~~~추가설명 좀 부탁드립니다~~ 올려주신 내용이면 특정시작시점을 기준으로 카운트하는 내용이 아니고 항상 현재봉기준으로 200봉에서 횟수를 카운트 하기 때문에 현재 지정한 조건이 만족하는데 ~~~~아래말씀은??~~조건만족이 3번 또는 2번~~이외는 수식작성을 만들수없다는 말씀인지 아니면 다른뜻이 있는지요??~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 최근 200봉내에 3번만족할때, 2번만족할떄로만 작성이 가능합니다. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
프로필 이미지
째일
2023-02-28
946
글번호 166762
시스템

신대륙발견 님에 의해서 삭제되었습니다.

프로필 이미지
신대륙발견
2023-02-28
6
글번호 166761
시스템
답변완료

수식문의 드립니다.

수식변환 다시한번 요청드립니다. 수식1 a=tema(c,period1); b=tema(c,period2); x=valuewhen(1,crossup(a,b)or crossdown(a,b),b) 수식2 if(x<c,x,1) 변수값 period1 2 period2 3 감사합니다.
프로필 이미지
젤플린
2023-02-28
1376
글번호 166760
지표
답변완료

atr구분청산

언제나 감사합니다. atr청산시 진입가격에 따라 봉수와 승수를 달리 적용하려 합니다 아래처럼 하면 결과값에 차이가 없어 착오인 듯, 식 부탁드립니다. 그리고 이때 atr(봉수) 계산시 당일 봉만 카운트하는식 부탁합니다.가령 5분봉 차트에서 전일 봉들은 카운트 제외. Input : AT(20),MUL(5) if 매수조건 then buy; #청산 if MarketPosition==1 Then{ ExitLong("tr청",atstop,highest(High,barsSinceEntry)-atr(at)*mul); } If EntryPrice>=1 and EntryPrice<2 Then{ at==20 and mul==5; //진입가1~2 } If EntryPrice>=2 and EntryPrice<3 Then{ at==25 and mul==4 //진입가2~3 } If EntryPrice>=3 Then{ at==30 and mul==3 //진입가 3 이상 }
프로필 이미지
피카2
2023-02-27
1483
글번호 166757
시스템
답변완료

박스 색상 조정 분리

input : Period(120),폭1(0.9),폭2(1.3),폭3(1.7),폭4(0.85); Var:j(0),T(0); Var: date11(0),date12(0),time11(0),time12(0), date21(0),date22(0),time21(0),time22(0), date31(0),date32(0),time31(0),time32(0); var : TL(0),TL1(0),tl2(0),tl3(0),TX(0),tl4(0),tl5(0),tl9(0),dl(0); var : box(0),box1(0),txx(0); Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0); Plot1(value12); For j = 0 To 19 { 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]; box = box_new(date11,time11,Value11,date12,time12,Value12); Box_SetFill(box,true,35); Condition1 = False; if Condition1 == False and Value12 <= value11-폭1 Then { Condition1 = true; } Condition3 = False; if Condition3 == False and Value12 <= value11-폭2 Then { Condition3 = true; } Condition4 = False; if Condition4 == False and Value12 <= value11-폭3 Then { Condition4 = true; } Text_SetSize(tx,25); Text_SetColor(Tx,Red); Text_SetStyle(tx,1,1); Text_SetBold(tx,1); if abs(value12[1]-value11[1]) < 0.5 Then Text_Delete(tx); tx = text_new(sDate,stime,value12,NumToStr(value12-value11,2)); Text_SetColor(Tx,Black); Text_SetStyle(tx,1,0); Text_SetSize(tx,30); Text_SetBold(tx,1); } 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]; Box_SetEnd(box,date12,time12,Value12); if Condition1 == False and Value12 <= value11-폭1 Then { Condition1 = true; TL9 = TL_New(sDate,sTime,0,sDate,sTime,99999); TL_SetColor(TL9,Magenta); TL_SetSize(TL9,1); TL9 = TL_New_Self(sDate,sTime,0,sDate,sTime,99999); TL_SetColor(TL9,Magenta); TL_SetSize(TL9,1); } if Condition3 == False and Value12 <= value11-폭2 Then { Condition3 = true; TL9 = TL_New(sDate,sTime,0,sDate,sTime,99999); TL_SetColor(TL9,Magenta); TL_SetSize(TL9,1); TL9 = TL_New_Self(sDate,sTime,0,sDate,sTime,99999); TL_SetColor(TL9,Magenta); TL_SetSize(TL9,1); } if Condition4 == False and Value12 <= value11-폭3 Then { Condition4 = true; TL9 = TL_New(sDate,sTime,0,sDate,sTime,99999); TL_SetColor(TL9,Red); TL_SetSize(TL9,1); TL9 = TL_New_Self(sDate,sTime,0,sDate,sTime,99999); TL_SetColor(TL9,Red); TL_SetSize(TL9,1); } Text_SetString(tx,NumToStr(value12-value11,2)+" "); Text_SetLocation(tx,sDate,sTime,value12); } if value12 <= value11-0.9 Then Box_SetColor(box,Lime); Else Box_SetColor(box,LCyan); } 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]; box = box_new(date11,time11,Value11,date12,time12,Value12); Box_SetFill(box,true,35); Condition2 = False; if Condition2 == False and Value12 > value11+폭4 Then { Condition2 = true; } Text_SetSize(tx,25); Text_SetColor(Tx,Blue); Text_SetStyle(tx,1,0); Text_SetBold(tx,1); if abs(value12[1]-value11[1]) < 0.5 Then Text_Delete(tx); tx = text_new(sDate,stime,value12,NumToStr(value12-value11,2)); Text_SetColor(Tx,Black); Text_SetStyle(tx,1,1); Text_SetSize(tx,30); Text_SetBold(tx,1); } 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]; Box_SetEnd(box,date12,time12,Value12); if Condition2 == False and Value12 > value11+폭4 Then { Condition2 = true; TL9 = TL_New(sDate,sTime,0,sDate,sTime,99999); TL_SetColor(TL9,Cyan); TL_SetSize(TL9,1); TL9 = TL_New_Self(sDate,sTime,0,sDate,sTime,99999); TL_SetColor(TL9,Cyan); TL_SetSize(TL9,1); } Text_SetString(tx,NumToStr(value12-value11,2)+" "); Text_SetLocation(tx,sDate,sTime,value12); } if Value12 >= value11+0.9 Then Box_SetColor(box,Magenta); Else Box_SetColor(box,Orange); } 0.9p 에서 바뀌기 전과 후의 박스 색상 밝기 조절을 (Box_SetFill), 일체형에서 따로 따로 설정할 수 있게 변경. 감사합니다.
프로필 이미지
고성
2023-02-27
1310
글번호 166756
지표
답변완료

문의 드려요

하루 거래 중 분이나 틱으로 봤을때 일단위로... plot1은 고가라인(9시30분까지 고가가 100이었다고 31분에 110이 되면 9시 30분까지는 선이 100으로 그어지고 31분부터는 110으로 이어서 그어지게 표현 plot2는 시가라인 plot3은 저가라인 plot4 고가와 저가의 중심라인을 표시하고 싶고요 봉의 갯수나 또는 시간을 변수로 넣으면 그 시간 안에서 최대값 또는 최저값을 시가부터 지그재그로 표시하고 그 지수값도 표시되게 하고 싶어요
프로필 이미지
돈을잃자
2023-02-27
1707
글번호 166755
지표