커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의드립니다.

안녕하세요 매도의 경우, 캔들의 가격이 X라는 이평선을 cross down 후 다시 반등하여 직전의 고점 가격과 동일 혹은 돌파하였다가 다시 X 이평선을 이탈하면 신호가 나오도록 수식 문의드립니다. 항상 감사드립니다. 좋은 하루되세요
프로필 이미지
로즈버드
2020-04-22
417
글번호 138241
시스템
답변완료

문의드립니다.

inp_BB_Length = input(20, minval = 1, title = "BB: Periods") inp_BB_Deviations = input(2, minval = 0.0001, title = "BB: Deviations") inp_MACD_Fast = input(12, title = "MACD: Fast EMA", minval = 1) inp_MACD_Slow = input(26, title = "MACD: Slow EMA", minval = 1) inp_MACD_Signal = input(9, title = "MACD: Signal MA", minval = 1) inp_Filter_High = input(10, title = "Filter: High", step = 0.1) inp_Filter_Low = input(-10, title = "Filter: Low", step = 0.1) MA_Fast = ema(close, inp_MACD_Fast) MA_Slow = ema(close, inp_MACD_Slow) MACD = MA_Fast - MA_Slow St_Dev = stdev(MACD, inp_BB_Length) Upper = (St_Dev * inp_BB_Deviations + (sma(MACD, inp_BB_Length))) Lower = ((sma(MACD, inp_BB_Length)) - (St_Dev * inp_BB_Deviations)) Source_Line = 0.0 Source_Line := MACD f_Angle(Source, ATR_Period) => Rad_To_Degree = 180 / 3.14159265359 Angle = Rad_To_Degree * atan((Source[0] - Source[1]) / atr(ATR_Period)) Angle = f_Angle(Source_Line, 40) Line_Color = Angle > inp_Filter_High ? color.aqua : Angle < inp_Filter_Low ? color.yellow : color.gray hline(inp_Filter_High, title = "Filter Top", color = color.gray, linewidth = 1) hline(inp_Filter_Low, title = "Filter Bottom", color = color.gray, linewidth = 1) plot(Angle, color = Line_Color, linewidth = 2, title = "Slope Angle", transp = 0) 변환 문의드립니다. 항상 감사드립니다.
프로필 이미지
물고기
2020-04-22
480
글번호 138234
지표
답변완료

n개봉 최고가, 최저가, 중간값 지표

최근 n개봉을 기준으로 최고가, 최저가, 중간값을 차트에 겹쳐서 볼 수 있도록 하고싶습니다. (중간값은 (최고가+최저가)/2) 채널지표처럼 차트에 같이 나타나게 보였으면 좋겠습니다. 지표 수식으로 구현이 가능할까요?
프로필 이미지
노인
2020-04-22
527
글번호 138233
지표
답변완료

이평선 돌파

해당 종목들이 검색되는게 있지만 안되는 종목들이 더 많고 이유를 모르겠네요.. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 이평선 돌파 > 안녕하세요 예스스탁입니다. 문의하신 내용은 하나의 봉에서 시가는 3개 이평들보다 작고 종가는 3개 이평보다 큰 봉을 찾고자 하시는 내용인것 같습니다. input : P1(5),P2(10),P3(20); var1 = ma(C,P1); var2 = ma(C,P2); var3 = ma(C,P3); if C > max(var1,var2,var3) and min(var1,var2,var3) > O Then find(1); 즐거운 하루되세요 > 쓰임과이롬 님이 쓴 글입니다. > 제목 : 이평선 돌파 > 항상 감사합니다. 첨부 이미지 처럼 종목을 찾고 싶습니다.
프로필 이미지
디딤돌
2020-04-22
621
글번호 138232
종목검색
답변완료

문의드립니다

안녕하세요? 아래수식의 plot1과plot2가 작동할시 직전봉에만 추세선이있을시만 알림음을받고싶습니다 도움주셔서 감사합니다 1. Input : af(0.02), maxAF(0.2); var1 = SAR(af,maxAF); if crossup(c,var1) Then { value1 = var1; } if CrossDown(c,var1) Then { value2 = var1; } plot1(value1); plot2(value2); 2. input : Left(5),right(5),표시소숫점자리(2),굵기(1),연장(0); var : T(0),cnt(0),TL(0),HTL1(0),HTL2(0),LTL1(0),LTL2(0); Array : SHD[5](0),SHT[5](0),SHV[5](0),SHTL[100](0),SHTX[100](0); Array : SLD[5](0),SLT[5](0),SLV[5](0),SLTL[100](0),SLTX[100](0); if SwingHigh(1,H,Left,Right,Left+Right+1) != -1 then { var2 = 0; var1 = var1+1; if var1 == 1 then { SHD[0] = sdate[right]; SHT[0] = stime[right]; SHV[0] = H[right]; for cnt = 1 to 4 { SHD[cnt] = SHD[cnt-1][1]; SHT[cnt] = SHT[cnt-1][1]; SHV[cnt] = SHV[cnt-1][1]; } if SLV[0] > 0 Then { TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]); TL_SetSize(TL,굵기); TL_SetColor(TL,red); } if SHV[1] > 0 Then { #TL_Delete(HTL1); HTL1 = TL_New(SHD[1],SHT[1],SHV[1],SHD[0],SHT[0],SHV[0]); TL_SetColor(HTL1,RED); TL_SetSize(HTL1,굵기); } } if var1 >= 2 and H[right] > SHV[0] then { SHD[0] = sdate[right]; SHT[0] = stime[right]; SHV[0] = H[right]; if SLV[0] > 0 Then { TL_Delete(TL); TL = TL_New(SLD[0],SLT[0],SLV[0],SHD[0],SHT[0],SHV[0]); TL_SetSize(TL,굵기); TL_SetColor(TL,red); } if SHV[1] > 0 Then { #TL_Delete(HTL1); HTL1 = TL_New(SHD[1],SHT[1],SHV[1],SHD[0],SHT[0],SHV[0]); TL_SetColor(HTL1,RED); TL_SetSize(HTL1,굵기); } } SHTL[0] = TL_New(sdate[right],stime[right],H[right],sdate,stime,H[right]); TL_SetColor(SHTL[0],RED); TL_SetSize(SHTL[0],굵기); SHTX[0] = Text_New(sdate,stime,H[right],NumToStr(H[right],표시소숫점자리)); Text_SetColor(SHTX[0],RED); Text_SetStyle(SHTX[0],2,1); for cnt = 1 to 99 { SHTL[cnt] = SHTL[cnt-1][1]; SHTX[cnt] = SHTX[cnt-1][1]; } } if SwingLow(1,L,Left,Right,Left+Right+1) != -1 then { #plot2(L,"2",blue); var1 = 0; var2 = var2+1; if var2 == 1 then { SLD[0] = sdate[right]; SLT[0] = stime[right]; SLV[0] = L[right]; for cnt = 1 to 4 { SLD[cnt] = SLD[cnt-1][1]; SLT[cnt] = SLT[cnt-1][1]; SLV[cnt] = SLV[cnt-1][1]; } if SHV[0] > 0 Then { TL = TL_New(SHD[0],SHT[0],SHV[0],SLD[0],SLT[0],SLV[0]); TL_SetSize(TL,굵기); TL_SetColor(TL,BLUE); } if SLV[1] > 0 Then { #TL_Delete(LTL1); LTL1 = TL_New(SLD[1],SLT[1],SLV[1],SLD[0],SLT[0],SLV[0]); TL_SetColor(LTL1,BLUE); TL_SetSize(LTL1,굵기); } } if var2 >= 2 and L[right] < SLV[0] then { SLD[0] = sdate[right]; SLT[0] = stime[right]; SLV[0] = L[right]; TL_Delete(TL); if SHV[0] > 0 Then { TL = TL_New(SHD[0],SHT[0],SHV[0],SLD[0],SLT[0],SLV[0]); TL_SetSize(TL,굵기); TL_SetColor(TL,blue); } if SLV[1] > 0 Then { #TL_Delete(LTL1); LTL1 = TL_New(SLD[1],SLT[1],SLV[1],SLD[0],SLT[0],SLV[0]); TL_SetColor(LTL1,BLUE); TL_SetSize(LTL1,굵기); } } SLTL[0] = TL_New(sdate[right],stime[right],L[right],sdate,stime,L[right]); TL_SetColor(SLTL[0],BLUE); TL_SetSize(SLTL[0],굵기); SLTX[0] = Text_New(sdate,stime,L[right],NumToStr(L[right],표시소숫점자리)); Text_SetColor(SLTX[0],BLUE); Text_SetStyle(SLTX[0],2,0); for cnt = 1 to 99 { SLTL[cnt] = SLTL[cnt-1][1]; SLTX[cnt] = SLTX[cnt-1][1]; } } for cnt = 0 to 99 { if SHTL[cnt] > 0 then { TL_SetEnd(SHTL[cnt],sdate,stime,TL_GetBeginVal(SHTL[cnt])); if H >= TL_GetBeginVal(SHTL[cnt]) Then SHTL[cnt] = 연장; } if SLTL[cnt] > 0 then { TL_SetEnd(SLTL[cnt],sdate,stime,TL_GetBeginVal(SLTL[cnt])); if L <= TL_GetBeginVal(SLTL[cnt]) Then SLTL[cnt] = 연장; } if SHTL[cnt] > 0 Then { Text_SetLocation(SHTX[cnt],sdate,stime,TL_GetBeginVal(SHTL[cnt])); } if SLTL[cnt] > 0 Then { Text_SetLocation(SLTX[cnt],sdate,stime,TL_GetBeginVal(SLTL[cnt])); } }
프로필 이미지
새벽에
2020-04-22
556
글번호 138231
지표

새벽에 님에 의해서 삭제되었습니다.

프로필 이미지
새벽에
2020-04-22
0
글번호 138229
지표

여행88 님에 의해서 삭제되었습니다.

프로필 이미지
여행88
2020-04-22
2
글번호 138223
종목검색
답변완료

문의드립니다.

inp_BB_Length = input(20, minval = 1, title = "BB: Periods") inp_BB_Deviations = input(2, minval = 0.0001, title = "BB: Deviations") inp_MACD_Fast = input(12, title = "MACD: Fast EMA", minval = 1) inp_MACD_Slow = input(26, title = "MACD: Slow EMA", minval = 1) inp_MACD_Signal = input(9, title = "MACD: Signal MA", minval = 1) inp_Filter_High = input(10, title = "Filter: High", step = 0.1) inp_Filter_Low = input(-10, title = "Filter: Low", step = 0.1) MA_Fast = ema(close, inp_MACD_Fast) MA_Slow = ema(close, inp_MACD_Slow) MACD = MA_Fast - MA_Slow St_Dev = stdev(MACD, inp_BB_Length) Upper = (St_Dev * inp_BB_Deviations + (sma(MACD, inp_BB_Length))) Lower = ((sma(MACD, inp_BB_Length)) - (St_Dev * inp_BB_Deviations)) Source_Line = 0.0 Source_Line :=(Upper + Lower) / 2 f_Angle(Source, ATR_Period) => Rad_To_Degree = 180 / 3.14159265359 Angle = Rad_To_Degree * atan((Source[0] - Source[1]) / atr(ATR_Period)) Angle = f_Angle(Source_Line, 40) Line_Color = Angle > inp_Filter_High ? color.aqua : Angle < inp_Filter_Low ? color.yellow : color.gray hline(inp_Filter_High, title = "Filter Top", color = color.gray, linewidth = 1) hline(inp_Filter_Low, title = "Filter Bottom", color = color.gray, linewidth = 1) plot(Angle, color = Line_Color, linewidth = 2, title = "Slope Angle", transp = 0) 변환 문의드립니다. 감사합니다.
프로필 이미지
thegin
2020-04-22
369
글번호 138221
지표

디딤돌 님에 의해서 삭제되었습니다.

프로필 이미지
디딤돌
2020-04-22
7
글번호 138219
종목검색