커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

보조지표등 문의 드립니다

안녕하세요? 수고 많으시네요. 1번사진은 키움 이평선 그물망 사진. 2번은 예스트레이딩 그물망 사진입니다 염치 없지만 아래 3가지 부탁 드립니다. 1.키움 사진에 있는"A"의 보조지표를 예스에서 만들어주세요 2.키움 사진에 있는"B"에서 파란색선(A)이 0선에서 한번에 100선까지 도달시의 신호수식. (100선 미달시는 없어도 됩니다) 3.상기 2번 신호를 사용한 종목검색식. *참고로 키움 보조지표 수식과 예스 트레이딩의 함수를 보내드립니다. 1)키움 보조지표 수식. 수식1 A=상승개수(횡보율)/21*100; 수식2 A=상승개수(횡보율)/21*100; eavg(A,5) 수식3 A=상승개수(횡보율)/21*100; dema(A,5) 수식4 A=상승개수(횡보율)/21*100; tema(A,5) 수식5 A=상승개수(횡보율)/21*100; eavg(tema(A,5),5) 지표설정값은 이평;5 횡보율;0.3 기준선;15/85 입니다. 2)예스 그물망 이평선에 사용한 수식입니다. Input : Period(9), 횡보율(0.3); var1=ema(C,Period+1); if var1 > var1[1]*(1+횡보율/100) then Plot1(var1, "이동평균1", red); else if var1 < var1[1]*(1-횡보율/100) then Plot1(var1, "이동평균1", blue); else Plot1(var1, "이동평균1", cyan); var2=ema(C,Period+2); if var2 > var2[1]*(1+횡보율/100) then Plot2(var2, "이동평균2", red); else if var2 < var2[1]*(1-횡보율/100) then Plot2(var2, "이동평균2", blue); else Plot2(var2, "이동평균2", cyan); var3=ema(C,Period+3); if var3 > var3[1]*(1+횡보율/100) then Plot3(var3, "이동평균3", red); else if var3 < var3[1]*(1-횡보율/100) then Plot3(var3, "이동평균3", blue); else Plot3(var3, "이동평균3", cyan); var4=ema(C,Period+4); if var4 > var4[1]*(1+횡보율/100) then Plot4(var4, "이동평균4", red); else if var4 < var4[1]*(1-횡보율/100) then Plot4(var4, "이동평균4", blue); else Plot4(var4, "이동평균4", cyan); var5=ema(C,Period+5); if var5 > var5[1]*(1+횡보율/100) then Plot5(var5, "이동평균5", red); else if var5 < var5[1]*(1-횡보율/100) then Plot5(var5, "이동평균5", blue); else Plot5(var5, "이동평균5", cyan); var6=ema(C,Period+6); if var6 > var6[1]*(1+횡보율/100) then Plot6(var6, "이동평균6", red); else if var6 < var6[1]*(1-횡보율/100) then Plot6(var6, "이동평균6", blue); else Plot6(var6, "이동평균6", cyan); var7=ema(C,Period+7); if var7 > var7[1]*(1+횡보율/100) then Plot7(var7, "이동평균7", red); else if var7 < var7[1]*(1-횡보율/100) then Plot7(var7, "이동평균7", blue); else Plot7(var7, "이동평균7", cyan); var8=ema(C,Period+8); if var8 > var8[1]*(1+횡보율/100) then Plot8(var8, "이동평균8", red); else if var8 < var8[1]*(1-횡보율/100) then Plot8(var8, "이동평균8", blue); else Plot8(var8, "이동평균8", cyan); var9=ema(C,Period+9); if var9 > var9[1]*(1+횡보율/100) then Plot9(var9, "이동평균9", red); else if var9 < var9[1]*(1-횡보율/100) then Plot9(var9, "이동평균9", blue); else Plot9(var9, "이동평균9", cyan); var10=ema(C,Period+10); if var10 > var10[1]*(1+횡보율/100) then Plot10(var10, "이동평균10", red); else if var10 < var10[1]*(1-횡보율/100) then Plot10(var10, "이동평균10", blue); else Plot10(var10, "이동평균10", cyan); var11=ema(C,Period+11); if var11 > var11[1]*(1+횡보율/100) then Plot11(var11, "이동평균11", red); else if var11 < var11[1]*(1-횡보율/100) then Plot11(var11, "이동평균11", blue); else Plot11(var11, "이동평균11", cyan); var12=ema(C,Period+12); if var12 > var12[1]*(1+횡보율/100) then Plot12(var12, "이동평균12", red); else if var12 < var12[1]*(1-횡보율/100) then Plot12(var12, "이동평균12", blue); else Plot12(var12, "이동평균12", cyan); var13=ema(C,Period+13); if var13 > var13[1]*(1+횡보율/100) then Plot13(var13, "이동평균13", red); else if var13 < var13[1]*(1-횡보율/100) then Plot13(var13, "이동평균13", blue); else Plot13(var13, "이동평균13", cyan); var14=ema(C,Period+14); if var14 > var14[1]*(1+횡보율/100) then Plot14(var14, "이동평균14", red); else if var14 < var14[1]*(1-횡보율/100) then Plot14(var14, "이동평균14", blue); else Plot14(var14, "이동평균14", cyan); var15=ema(C,Period+15); if var15 > var15[1]*(1+횡보율/100) then Plot15(var15, "이동평균15", red); else if var15 < var15[1]*(1-횡보율/100) then Plot15(var15, "이동평균15", blue); else Plot15(var15, "이동평균15", cyan); var16=ema(C,Period+16); if var16 > var16[1]*(1+횡보율/100) then Plot16(var16, "이동평균16", red); else if var16 < var16[1]*(1-횡보율/100) then Plot16(var16, "이동평균16", blue); else Plot16(var16, "이동평균16", cyan); var17=ema(C,Period+17); if var17 > var17[1]*(1+횡보율/100) then Plot17(var17, "이동평균17", red); else if var17 < var17[1]*(1-횡보율/100) then Plot17(var17, "이동평균17", blue); else Plot17(var17, "이동평균17", cyan); var18=ema(C,Period+18); if var18 > var18[1]*(1+횡보율/100) then Plot18(var18, "이동평균18", red); else if var18 < var18[1]*(1-횡보율/100) then Plot18(var18, "이동평균18", blue); else Plot18(var18, "이동평균18", cyan); var19=ema(C,Period+19); if var19 > var19[1]*(1+횡보율/100) then Plot19(var19, "이동평균19", red); else if var19 < var19[1]*(1-횡보율/100) then Plot19(var19, "이동평균19", blue); else Plot19(var19, "이동평균19", cyan); var20=ema(C,Period+20); if var20 > var20[1]*(1+횡보율/100) then Plot20(var20, "이동평균20", red); else if var20 < var20[1]*(1-횡보율/100) then Plot20(var20, "이동평균20", blue); else Plot20(var20, "이동평균20", cyan); var21=ema(C,Period+21); if var21 > var21[1]*(1+횡보율/100) then Plot21(var21, "이동평균21", red); else if var21 < var21[1]*(1-횡보율/100) then Plot21(var21, "이동평균21", blue); else Plot21(var21, "이동평균21", cyan); 대단히 감사합니다
프로필 이미지
비상888
2022-04-25
1586
글번호 158323
지표

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2022-04-25
0
글번호 158315
지표

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2022-04-25
152
글번호 158314
지표
답변완료

질문드려요

playsound 시 mp3에서 변환시킨 30메가짜리 wav 음악 재생이 안되고 그냥 오류음만 띵하고 들리는데 wav 파일에 제약이 있는지 궁금합니다. 감사합니다.
프로필 이미지
캣피쉬
2022-04-25
1092
글번호 158303
시스템

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2022-04-25
131
글번호 158302
시스템
답변완료

종목 검색식 부탁 드립니다.

M1=ma(C,기간1,종류); M2=ma(C,기간2,종류); M3=ma(C,기간3,종류); M4=ma(C,기간4,종류); 조건=M1>M2 && M2>M3 && M3>M4; 조건 && !조건(1) 기간1 5 기간2 25 기간3 73 긴간4 225 종류 단순 종목 검색식 부탁 드립니다. 정배열 검색식 참고 바랍니다. 감사합니다.
프로필 이미지
칼이쓰마빡가
2022-04-25
1396
글번호 158290
종목검색
답변완료

수식 문의 합니다.

아래 지표에서요. 차트에서 보면 1번부터 6번까지 나열이 되는데 1번이라고 써 있는 봉이 양봉이면 매수 음봉이면 매도 시스템식 부탁드려요 감사합니다. inputs : ShowAll(true); var : BoxTop(0), BoxBtm(0), Ctr(0), BBD(0), BBT(0), EBD(0), EBT(0), UpBand(0), DnBand(0), CurrState(1), TextId(-1), TopId(-1), TopIdP(-1), BtmId(-1), BtmIdP(-1), LSId(-1), LSIdP(-1), RSId(-1), RSIdP(-1), HiFirst(true), LoFirst(false), State1(false), State2(false), State3(false), State4(false), State5(false), DrawBox(false), ValidBox(false), HadBreak(false), NewBox(false); if index == 1 then begin BoxTop = high; BoxBtm = low; State1 = true; BBD = date; BBT = time; end; if NewBox and high > UpBand then begin BBD = date; BBT = time; TL_SetEnd(TopId, BBD, BBT, UpBand); TL_SetEnd(BtmId, BBD, BBt, DnBand); RSIdP = RSId ; RSId = TL_New(BBD, BBT, DnBand, BBD, BBT, UpBand); if ShowAll == false and RSIdP <> -1 then TL_Delete( RSIdP ) ; if HiFirst then TL_SetColor(RSId, yellow); else TL_SetColor(RSId, magenta); NewBox = false; State1 = true; LoFirst = false; HiFirst = true; end; if NewBox and low < DnBand then begin BBD = date; BBT = time; TL_SetEnd(TopId, BBD, BBT, UpBand); TL_SetEnd(BtmId, BBD, BBt, DnBand); RSIdP = RSId; RSId = TL_New(BBD, BBT, DnBand, BBD, BBT, UpBand); if ShowAll == false and RSIdP <> -1 then TL_Delete(RSIdP); if HiFirst then TL_SetColor(RSId, yellow) ; else TL_SetColor(RSId, magenta); NewBox = false; State1 = true; HiFirst = false; LoFirst = true; end; if HiFirst then begin if State4 then begin if high > BoxTop then begin BoxTop = high; State1 = true; State4 = false; CurrState = 1; end else begin if low < BoxBtm then begin State4 = false; State3 = true; BoxBtm = low; CurrState = 3; end else begin State4 = false; State5 = true; CurrState = 5; end; end; end; if State3 then begin if high > BoxTop then begin BoxTop = high; State1 = true; State3 = false; CurrState = 1; end else begin if low < BoxBtm then begin State3 = true; BoxBtm = low; CurrState = 3; end else begin State3 = false; State4 = true; CurrState = 4; end; end; end; if State2 then begin if high > BoxTop then begin BoxTop = high; State1 = true; State2 = false; CurrState = 1; end else begin State2 = false; State3 = true; BoxBtm = low; CurrState = 3; end; end; if State1 then begin if high > BoxTop then begin BoxTop = high; State1 = true; CurrState = 1; end else begin State1 = false; State2 = true; CurrState = 2; end; end; end else begin #{ Using LoFirst } if State4 then begin if low < BoxBtm then begin BoxBtm = low; State1 = true; State4 = false; CurrState = 1; end else begin if high > BoxTop then begin State3 = true; State4 = false; BoxTop = high; CurrState = 3; end else begin State4 = false; State5 = true; CurrState = 5; end; end; end; if State3 then begin if low < BoxBtm then begin BoxBtm = low; State1 = true; State3 = false; CurrState = 1; end else begin if high > BoxTop then begin State3 = true; BoxTop = high; CurrState = 3; end else begin State3 = false; State4 = true; CurrState = 4; end; end; end; if State2 then begin if low < BoxBtm then begin Boxbtm = low; State1 = true; State2 = false; CurrState = 1; end else begin State2 = false; State3 = true; BoxTop = high; CurrState = 3; end; end; if State1 then begin if low < BoxBtm then begin BoxBtm = low; State1 = true; CurrState = 1; end else begin State1 = false; State2 = true; CurrState = 2; end; end; end; #{ END IF HIFIRST OR LOFIRST } if State5 then begin DrawBox = true; EBD = date; EBT = time; end; if DrawBox then begin TopIdP = TopId; BtmIdP = BtmId; LSIdP = LSId; TopId = TL_New(BBD, BBT, BoxTop, EBD, EBT, BoxTop); BtmId = TL_New(BBD, BBT, BoxBtm, EBD, EBT, BoxBtm); LSId = TL_New(BBD, BBT, BoxBtm, BBD, BBT, BoxTop); if ShowAll == false then begin if TopIdP <> -1 then TL_Delete(TopIdP); if BtmIdP <> -1 then TL_Delete(BtmIdP); if LSIdP <> -1 then TL_Delete(LSidP); end; if HiFirst then begin TL_SetColor(TopId, yellow); TL_SetColor(BtmId, yellow); TL_SetColor(LSId, yellow); end else begin TL_SetColor(TopId, magenta); TL_SetColor(BtmId, magenta); TL_SetColor(LSId, magenta); end; State1 = false; State2 = false; State3 = false; State4 = false; State5 = false; DrawBox = false; ValidBox = true; end; if ValidBox then begin UpBand = BoxTop; DnBand = BoxBtm; ValidBox = false; NewBox = true; BoxTop = high; BoxBtm = low; end; if HiFirst then TextId = Text_New(date, time, high * 1.0005, NumToStr(CurrState, 0)); else TextId = Text_New(date, time, low * 0.9995, NumToStr(CurrState, 0));
프로필 이미지
반갑
2022-04-25
1160
글번호 158288
시스템

반갑 님에 의해서 삭제되었습니다.

프로필 이미지
반갑
2022-04-25
0
글번호 158287
시스템
답변완료

질문이요

예스스탁 프로그램중에 백테스트를 할수있는 프로그램은 어떤건가요 예를들어 분봉데이타를 수집해서 특정날짜의 일봉상 저가ㅡ고가의 2등분 가격에 매수하는 전략같은것도 분석해볼수있나요?
프로필 이미지
인천초고수
2022-04-25
1263
글번호 158286
시스템