커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의 드립니다!

안녕하세요! 아래수식을 N번째 캔들부터(예 2번째 캔들) 가로선이 발생되도록 수정 부탁드립니다 감사합니다! ---------------------------------------------------------------------------- input : 타주기분(30),n(10),nth(5); var : S1(0),D1(0),TM(0),TF(0),cnt(0),OO(0),HH(0),LL(0),CC(0); var : ii(0),i1(0),i2(0),tempmax(0),tempi(0); Array : RR[200](0),MM[200](0),DI[50](0); Array : tempRR[200](0),tempMM[200](0),NTHVALUE[200](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%타주기분; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or (Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then { ii = ii+1; if Bdate != Bdate[1] Then { DI[0] = ii; for cnt = 1 to 49 { Di[cnt] = Di[cnt-1][1]; } } OO = O; HH = H; LL = L; RR[0] = 0; MM[0] = 0; for cnt = 1 to 199 { RR[cnt] = RR[cnt-1][1]; MM[cnt] = MM[cnt-1][1]; tempRR[cnt] = RR[cnt]; tempMM[cnt] = MM[cnt]; } } if H > HH Then HH = H; if L < LL Then LL = L; CC = C; RR[0] = abs(OO-CC); MM[0] = (OO+CC)/2; tempRR[0] = RR[0]; tempMM[0] = MM[0]; if D1[n] > 0 Then { if Bdate != Bdate[1] Then { For i1 = 1 to nth { tempmax = -1; For i2 = 1 to ii-DI[n] { if (tempRR[i2] >= tempmax ) then { tempmax = tempRR[i2]; tempi = i2; } } NTHVALUE[i1] = tempMM[tempi]; tempRR[tempi] = -1; } } Plot1(NTHVALUE[1]); Plot2(NTHVALUE[2]); Plot3(NTHVALUE[3]); Plot4(NTHVALUE[4]); Plot5(NTHVALUE[5]); Plot6(NTHVALUE[1]); Plot7(NTHVALUE[2]); Plot8(NTHVALUE[3]); Plot9(NTHVALUE[4]); Plot10(NTHVALUE[5]); } }
프로필 이미지
유로파54
2023-02-06
870
글번호 166040
지표
답변완료

80651 지표 수정 부탁드려요

아래와 같이 답변주셨는데 일단 박스가 형성안되고 시가대비 상단만 빨간선으로 표시 되네요 박스보다는 변수를 1. 상단, 2. 시가 , 3. 하단 3개를 선으로 표시하여 주세요 제가 채우기 하여 자유롭게 색이랑은 표시하도록 하겠습니다 시스템식으로도 하나 부탁드려요!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 압도적으로 감사드립니다! ----------------------------------------------------------------------- > 돈을잃자 님이 쓴 글입니다. > 제목 : 지표부닥트려요 > 첨부된 그림과 같이 1. 30분봉으로 봤을때 2. 주봉단위로 잘라서 3. 아래와 같이 주봉 시가 대비 일정부분 위 아래 비율을 제가 변수로 넣으면 4. 박스로 표시 되게 하고 싶어요 5. 박스 색깔 및 시가대비 비율은 제가 지정할 수 있게 해주세요 항상 고맙습니다 ----------------------- 안녕하세요 예스스탁입니다. input : upPercent(10),dnPercent(5); var : box(0); if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then { var1 = O; box = Box_New(sDate,sTime,var1*(1+UpPercent/100),NextBarSdate,NextBarStime,var1*(1+DnPercent/100)); #색상 Box_SetColor(box,Red); Box_SetStyle(box,3); } Else Box_SetEnd(box,NextBarSdate,NextBarStime,var1*(1+DnPercent/100)); 즐거운 하루되세요
프로필 이미지
돈을잃자
2023-02-06
806
글번호 166037
지표
답변완료

수식 문의

아래 지표는 하케아쉬에 이평을 넣어 더욱 스무드하게 만든 지표입니다. 문제는, 본 지표를 분봉에 적용할 때, 전일 종가를 반영해서 계산하다 보니 시가봉~n봉까지는 움직임과는 다르게 표현될 때가 있습니다. 이에, 본 수식을 수정하여, 예를 들어, ma5를 적용한다 했을 때, 5째봉까지는 누적으로 이평값을 계산해서 적용하고 5째봉 이후 부터는 쭉 ma5를 적용하고 싶습니다. 즉, 시가가 양봉이면 양봉으로, 음봉이면 음봉으로 표시 시가+2봉 : ma2를 적용 시가+2+3봉 : ma3을 적용 시가+2+3+4봉 : ma4를 적용 시가+2+3+4+5봉 : ma5를 적용 6봉 부터는 종가까지 ma5를 적용하여 뿌려줍니다. -------- 아래 ------------ input : MaPeriod(6),MaPeriod2(2); var : maOpen(0),maClose(0),maLow(0),maHigh(0); var : haOpen(0),haClose(0),haLow(0),haHigh(0); var : ExtMapBuffer5(0),ExtMapBuffer6(0),ExtMapBuffer4(0),ExtMapBuffer3(0),ExtMapBuffer2(0),ExtMapBuffer1(0); var : ExtMapBuffer7(0),ExtMapBuffer8(0); var : r(0),g(0),b(0); if Index == 0 Then { maOpen=Open; maClose=Close; maLow=Low; maHigh=High; } Else { maOpen=(maOpen[1]*(MAperiod-1)+Open)/MAPeriod; maClose=(maClose[1]*(MAperiod-1)+Close)/MAPeriod; maLow=(maLow[1]*(MAperiod-1)+Low)/MAPeriod; maHigh=(maHigh[1]*(MAperiod-1)+High)/MAPeriod; haOpen=(ExtMapBuffer5[1]+ExtMapBuffer6[1])/2; haClose=(maOpen+maHigh+maLow+maClose)/4; haHigh=Max(maHigh, Max(haOpen, haClose)); haLow=Min(maLow, Min(haOpen, haClose)); if (haOpen<haClose) then { r=255; g=94; b=0; ExtMapBuffer7=haLow; ExtMapBuffer8=haHigh; } else { r=92; g=209; b=229; ExtMapBuffer7=haHigh; ExtMapBuffer8=haLow; } ExtMapBuffer5=haOpen; ExtMapBuffer6=haClose; ExtMapBuffer1=WMA(ExtMapBuffer7,MAperiod2); ExtMapBuffer2=WMA(ExtMapBuffer8,MAperiod2); ExtMapBuffer3=WMA(ExtMapBuffer5,MAperiod2); ExtMapBuffer4=WMA(ExtMapBuffer6,MAperiod2); } PlotPaintBar(ExtMapBuffer2,ExtMapBuffer1,ExtMapBuffer3,ExtMapBuffer4,"강조",Rgb(r,g,b));
프로필 이미지
흑수돌
2023-02-06
556
글번호 166033
강조
답변완료

선물 호가잔량 차

선물호가 잔량차에서 기준선 "0" 을 중심으로 상향돌파시 매수. 기준선 "0" 을 중심으로 하향돌파시 매도. var1 = bids-asks; plot1(var1,"잔량차",iff(var1 > 0,RED,BLUE)); PlotBaseLine1(0,"기준선");
프로필 이미지
노블레스
2023-02-06
511
글번호 166031
지표
답변완료

지표 부탁드려용

아래의 지표를 시작점과 끝점을 정해서 하고 싶은데 가능할까요? (게시글 80649 지표 답변하신거 수정하여 활용하려고요) 버전1: 한 주의 시가부터 종가까지 (예를들면 30분봉으로 했을때 그 주 월요일 9시부터 금요일 종가까지 표시되게 월요일이 공휴일이었으면 화요일 시가부터 종가까지 일봉이든 분봉이든 적용가능하게 버전2: 하루의 시가부터 종가까지 분봉에서 쓰려고 하는데요 예를들면 20분봉으로 하면 그날 시가부터 종가까지 표시 ------------------------------------------------------------------------ input:length(6); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),TL2(0),TL3(0),TL4(0),TL5(0),TL12(0),TL13(0),TL14(0),TL15(0),T(0),고점변곡(""),저점변곡(""); var : clr1(0),clr2(0),BE(0),SE(0),cnt(0),upcond(False),dncond(False),text2(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(0==1,C,H); LL = IFF(0==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 1 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 0, 1); Text_SetColor(Text1,Red); } TL_SetSize(TL1,1); TL_SetColor(TL1,Gray); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 1 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 1 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 0, -1); Text_SetColor(Text1,Blue); } TL_SetSize(TL1,1); TL_SetColor(TL1,Gray); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 1 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; } if T == -1 and T[1] != -1 Then { TL12 = TL_New(고[2,3],고[2,4],고[2,1],sdate,stime,고[2,1]); TL_Delete(TL13); TL13 = TL_New(고[1,3],고[1,4],고[1,1],Sdate,Stime,고[1,1]); TL_SetExtRight(TL13,true); TL_SetSize(TL13,2); TL_SetColor(TL12,clr1); TL_SetSize(TL12,2); clr1 = Pink; TL_SetColor(TL13,clr1); upcond = False; } if T == 1 and T[1] != 1 Then { TL14= TL_New(저[2,3],저[2,4],저[2,1],sdate,stime,저[2,1]); TL_Delete(TL15); TL15= TL_New(저[1,3],저[1,4],저[1,1],sdate,stime,저[1,1]); TL_SetExtRight(TL15,true); TL_SetColor(TL14,clr2); TL_SetSize(TL14,2); clr2 = LightBlue; TL_SetColor(TL15,clr2); TL_SetSize(TL15,2); dncond = False; } #===================================================# VAR:mav5(0),mav10(0),mav20(0),mav40(0),mav60(0),mav120(0),mav30(0); mav5=ma(c,5); mav10=ma(c,10); mav20=ma(c,20); mav30=ma(c,30); mav40=ma(c,40); mav60=ma(c,60); mav120=ma(c,120); #============# if (min(C,ma(c,5)) > TL_GetValue(TL13,sDate,sTime)) Then { clr1 = Red; TL_SetColor(TL13,clr1); } if max(C,ma(c,5)) < TL_GetValue(TL15,sDate,sTime) Then { clr2 = Blue; TL_SetColor(TL15,clr2); } #=========================================================================# array:Redline[4](0),Blueline[4](0),Pinkline[4](0),liblueline[4](0),libluex[4](0),Pinkx[4](0); var:x(0); #==============레드==========================# if upcond == False and min(c,mav5)>TL_GetValue(TL13,sDate,sTime) Then { upcond = true; Redline[0]=TL_GetValue(TL13,sDate,sTime); x=0; For cnt=1 to 4 { Redline[cnt]=Redline[cnt-1][1]; } } condition1 = mav20<Redline[0]and max(c,mav5)<Redline[0]and mav5<mav10; condition2 = mav20>Redline[0]and min(c,mav5)>Redline[0]and mav5>mav10; condition3= min(c,mav5)>mav20 and mav10>=mav20; if Condition2 == False and Condition3 == true and condition1 Then { x=x+1; } Plot1(x);
프로필 이미지
돈을잃자
2023-02-06
581
글번호 166030
지표
답변완료

지표 좀...

감사합니다 부탁드려요 나스닥 분봉에서 당일시가에서 출발하여 0.5(변수) 퍼센트 상승시 상승지점에 시가부터 사각형표시하고 이 사각형을 기준으로 또 상승시마다 사각형표시(사각형이 0.5마다 생성되게) 하락시 에도 동일하게 부탁드립니다. (사각형 0.5 퍼센트를 기준으로 상승, 하락을 반복으로 표시) 지표가 상승,하락 지점까지 봉갯수에 따라서 정사각형, 세로선 긴 직사각형, 가로가 긴 직사각형 으로 나타날것 같습니다.
프로필 이미지
약속
2023-02-06
672
글번호 166029
지표
답변완료

함수요청

안녕하세요? 진입제어 함수 요청드립니다. 국내선물 일중거래를 하고자 하는데 매수진입 이후 매수청산 조건이 1~3까지 있습니다. 그런데 매수청산이 조건3에 의해 되면 당일매매를 쉬고자 합니다. 샘플 요청드립니다.
프로필 이미지
흰둥이아빠
2023-02-06
923
글번호 166028
시스템
답변완료

지표부닥트려요

첨부된 그림과 같이 1. 30분봉으로 봤을때 2. 주봉단위로 잘라서 3. 아래와 같이 주봉 시가 대비 일정부분 위 아래 비율을 제가 변수로 넣으면 4. 박스로 표시 되게 하고 싶어요 5. 박스 색깔 및 시가대비 비율은 제가 지정할 수 있게 해주세요 항상 고맙습니다
프로필 이미지
돈을잃자
2023-02-06
1042
글번호 166026
지표
답변완료

사용자 함수 작성

안녕하세요 일봉차트에서 주봉 기반 이평을 띄우고 싶은데요, 아예 함수로 만들어서 해당 함수를 불러와서 쉽게 사용하길 원합니다 혹시 어떤 방식으로 만들어야할까요? 이름은 WeekMA었으면 좋겠습니다. 부탁드립니다 ex. WeekMA(WeekC, 5) = 주봉 5개의 이평선(종가기준)
프로필 이미지
이만스닥
2023-02-06
644
글번호 166023
사용자 함수