커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의 드립니다.

20 이평 120 이평 정배열이고 주가가 20 이평 위든 아래든 음봉에서 양봉 발생 시 매수 청산은 음봉 발생 시 매도 청산 완료 20 이평 120 이평 역배열이고 주가가 20 이평 위든 아래든 양봉에서 음봉 발생 시 매도 청산은 양봉 발생 시 매수 청산 완료 부탁드립니다.
프로필 이미지
선물대장
2023-03-05
873
글번호 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
820
글번호 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
1092
글번호 166922
지표
답변완료

고가,저가

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

부탁드립니다

안녕하세요~~수고에 감사드립니다~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if 직전청산 20일후부터실행~~단기 < 중기 and 중기 < 장기 Then buy("매수진"); if MarketPosition == 1 Then{ if 직전 매수진입 30일후부터~~중기 > 장기 Then exitlong("매수청"); } if 직전청산 20일후부터실행~~단기 > 중기 and 중기 > 장기 Then Sell("매도진"); if MarketPosition == -1 Then{ if 직전 매도진입 30일후부터~~중기 < 장기 Then ExitShort("매도청"); } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 부탁드립니다~~
프로필 이미지
째일
2023-03-03
1540
글번호 166917
시스템
답변완료

문의드립니다

예를 들어, 현재 계좌에 나스닥 매수포지션 3계약이 있고 계좌예수금은 거의 없는 상태에서 자동매매로 신규매도 3계약 진입신호가 나온다면 기존의 매수3계약이 청산되나요? 아니면 예수금부족으로 주문이 들어가지 않나요?
프로필 이미지
끄억
2023-03-03
1741
글번호 166915
시스템