커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

지표 수정

78096번 단순이평에서지수이평으로변경요청합니다 늘 감사합니다
프로필 이미지
용각산
2023-03-05
976
글번호 166926
지표
답변완료

봉갯수만큼 박스처리

안녕하세요~ 봉갯수 만큼 박스를 그려주세요. 해외선물 당일 첫봉부터 카운트해서 n(20)개 봉이 완료되면 n(20)개 봉의 고점 저점을 감싸는 박스를 최종적으로 완료해주세요. *그이전에는 n(2)개 부터 n(19)개 까지 그렸다가 사라지도록 해주시고 n(20)개 박스만 최 종 굵게 표시해 남겨주세요. *과거 box 마지막봉 종가기준으로 변화한 틱값을 박스 상단, 하단에 txt 표기. 감사합니다.
프로필 이미지
약속
2023-03-05
955
글번호 166925
지표
답변완료

문의 드립니다.

20 이평 120 이평 정배열이고 주가가 20 이평 위든 아래든 음봉에서 양봉 발생 시 매수 청산은 음봉 발생 시 매도 청산 완료 20 이평 120 이평 역배열이고 주가가 20 이평 위든 아래든 양봉에서 음봉 발생 시 매도 청산은 양봉 발생 시 매수 청산 완료 부탁드립니다.
프로필 이미지
선물대장
2023-03-05
830
글번호 166924
시스템
답변완료

해결 방법이 무엇일까요?

수정 부탁드립니다 감사힙니다 순매수 체결량 //Upvol "상승형 체결거래량"; //DownVol "하락형 체결거래량" input: 막대굵기 (1); var : sumPL(0); if sDate = sDate[1] Then { sumPL = 0; } Else { sumPL = sumPL + (Upvol-DownVol); If sumPL > 0 Then Plot1(sumPL, "순매수체결량",RgB(255,0,0),Def,막대굵기); Else Plot1(sumPL, "순매수체결량",RgB(0,0,255),Def,막대굵기 ); } PlotBaseLine1(0, "기준선0"); 11번째줄 5열 값을 대입할 수 있는 변수나 배열의 요소, 입력변수, ....라고 뜹니다 수정 부탁드립니다
프로필 이미지
볼라레
2023-03-04
778
글번호 166923
지표
답변완료

해결 방법이 무엇일까요?

도움을 주셔서 많은 도움이 되고 있습니다 감사합니다 RSI밴드 수식 Input:Length(14),UpLevel(70),DnLevel(30); Var:Upband(0),DnBand(0),MidLine(0); RSI_BAND(Length,UpLevel,DnLevel,0,UpBand,DnBand,MidLine); // 현재 봉에서의 밴드 값 Plot1(UpBand); Plot2(MidLine); Plot3(DnBand); 오류창에 7번째줄 1열에 선언되지 않은 이름 'RSI_BAND'가 사용되었습니다-라고 뜹니다 수정을 부탁드립니다 행복한 하루 되세요
프로필 이미지
볼라레
2023-03-04
1037
글번호 166922
지표
답변완료

고가,저가

분봉에서 당일고가,당일저가 가 생긴 캔들의 고가을 이은선, 저가를 이은선 부탁합니다 당일고가 DayHigh() > DayHigh()[1] 당일저가 DayLow() < DayLow()[1]
프로필 이미지
팔보채
2023-03-04
1368
글번호 166921
지표
답변완료

등가 수식 추가

늘 감사합니다. 수식은 유익하게 잘 쓰고 있습니다. 아래의 수식에 다음 사항을 추가해 주세요. -------------- Plot6(Var4,"첫날시가");와 같은 방식으로 첫날 시가의 ATM 등가를 추가해 주세요 --------------- var : month(0),nday(0),week(0); var :EX(false),HH(0),LL(0),DD(0),HH1(0),LL1(0); var : t1(0),t2(0),t3(0),t4(0),t5(0),t6(0),t7(0),t8(0),t9(0),t10(0); month = int(date/100)-int(date/10000)*100; nday = date - int(date/100)*100; week = DayOfWeek(date); #선물만기 #if Month%3 == 0 and nday >= 8 and nday <= 14 and week == 4 then if nday >= 8 and nday <= 14 and week == 4 then#옵션만기 EX = true; Else EX = false; if EX == false and EX[1] == true Then{ Condition1 = true; DD = sDate; HH = H; LL = L; HH1 = HH[1]; LL1 = LL[1]; } if Condition1 == true then { if H > HH Then HH = H; if L < LL Then LL = L; var1 = HH; var2 = LL; var3 = var1-var2; plot1(var1,"Maxi"); plot2(var2+var3*0.618,"되돌림"); plot3(var2+var3*0.500,"중심"); plot4(var2+var3*0.382,"축소"); plot5(var2,"Mini"); if sDate == DD Then { Var4 = DayOpen; Var5 = DayHigh; Var6 = DayLow; } Plot6(Var4,"첫날시가"); Plot7(Var5,"첫날고가"); Plot8(Var6,"첫날저가"); if HH1 > 0 and LL1 > 0 Then { Plot9(HH1,"전월물최고"); Plot10(LL1,"전월물최저"); Plot11((HH1+LL1)/2,"전월물중간"); } }
프로필 이미지
상암동
2023-03-04
961
글번호 166920
지표

사이버 님에 의해서 삭제되었습니다.

프로필 이미지
사이버
2023-03-04
6
글번호 166919
시스템
답변완료

박스 변색

input : Period(120),폭1(0.9),폭2(1.3),폭3(1.7),폭4(0.9); 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); 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,value12,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,value12,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,value12,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); Box_SetFill(box,true,55); } Else { Box_SetColor(box,LCyan); Box_SetFill(box,true,25); } } 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); 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); } Text_SetString(tx,NumToStr(value12-value11,2)+" "); Text_SetLocation(tx,sDate,sTime,value12); } if Value12 >= value11+0.9 Then { Box_SetColor(box,Magenta); Box_SetFill(box,true,30); } Else { Box_SetColor(box,Orange); Box_SetFill(box,true,30); } } 박스 크기가 0.9p에 도달하면 색상을 바꾸는 부분에서, 바뀐 후에 상승 박스는 변화 없고, 0.9p ~ 1.3p 하락 박스도 1차로 바뀐 색 그대로 유지. 하락 박스만, 크기가 1.3p에 도달하면 그 박스만 2차로 다른 색으로 바꿔주고, 1.7p에 도달하면 해당 박스만 다시 한번 더 (3차) 다른 색으로 변경. (크기에 따라, 상승 박스는 두가지 색, 하락 박스는 네가지 색.) 감사합니다.
프로필 이미지
고성
2023-03-05
1123
글번호 166918
지표