커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

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

프로필 이미지
회원
2018-11-14
24
글번호 123679
지표
답변완료

수식 간략화, 처리속도 향상 문의

수고하십니다. 분봉차트에서 일봉의 갭을 구하고 0.2% 구간으로 나누어 분봉차트에 히스토그램을 그리는 식을 작성하였습니다. 아래에서 p가 구간인데 이것을 1000 거래일 이상으로 늘리면 컴퓨터가 계속 돌아갑니다. 컴퓨터 사양이 낮지도 않은데 유독 이 지표에서만 이런현상이 발생합니다. 그리고 지표 수식이 너무 긴데 배열 등을 활용하여 간략화가 가능하다면 작성 부탁드립니다. input : P(100); var : Cnt(0), sum1(0), sum2(0), sum3(0), sum4(0), sum5(0), sum6(0), sum7(0), sum8(0), sum9(0), sum10(0), sum11(0); var : sum12(0), sum13(0), sum14(0), sum15(0), sum16(0), sum17(0), sum18(0), sum19(0), sum20(0); sum1 = 0; sum2 = 0; sum3 = 0; sum4 = 0; sum5 = 0; sum6 = 0; sum7 = 0; sum8 = 0; sum9 = 0; sum10 = 0; sum11 = 0; for cnt = 0 to P-1{ If 0.998*DayClose(cnt+1) <= DayOpen(cnt) and DayOpen(cnt) < DayClose(cnt+1) Then //-0.002%~0% sum1 = sum1+1; If 0.996*DayClose(cnt+1) <= DayOpen(cnt) and DayOpen(cnt) < DayClose(cnt+1)*0.998 Then //-0.004%~-0.002% sum2 = sum2+1; If 0.994*DayClose(cnt+1) <= DayOpen(cnt) and DayOpen(cnt) < DayClose(cnt+1)*0.996 Then //-0.006%~-0.004% sum3 = sum3+1; If 0.992*DayClose(cnt+1) <= DayOpen(cnt) and DayOpen(cnt) < DayClose(cnt+1)*0.994 Then //-0.008%~-0.006% sum4 = sum4+1; If 0.990*DayClose(cnt+1) <= DayOpen(cnt) and DayOpen(cnt) < DayClose(cnt+1)*0.992 Then //-0.010%~-0.008% sum5 = sum5+1; If 0.988*DayClose(cnt+1) <= DayOpen(cnt) and DayOpen(cnt) < DayClose(cnt+1)*0.990 Then //-0.012%~-0.010% sum6 = sum6+1; If 0.986*DayClose(cnt+1) <= DayOpen(cnt) and DayOpen(cnt) < DayClose(cnt+1)*0.988 Then //-0.014%~-0.012% sum7 = sum7+1; If 0.984*DayClose(cnt+1) <= DayOpen(cnt) and DayOpen(cnt) < DayClose(cnt+1)*0.986 Then //-0.016%~-0.014% sum8 = sum8+1; If 0.982*DayClose(cnt+1) <= DayOpen(cnt) and DayOpen(cnt) < DayClose(cnt+1)*0.984 Then //-0.018%~-0.016% sum9 = sum9+1; If 0.980*DayClose(cnt+1) <= DayOpen(cnt) and DayOpen(cnt) < DayClose(cnt+1)*0.982 Then //-0.020%~-0.018% sum10 = sum10+1; If DayOpen(cnt) < DayClose(cnt+1)*0.980 Then // ~-0.020% sum11 = sum11+1; } If CurrentDate == sDate Then { PlotBaseLine1(0, "0", WHITE); PlotBaseLine2(10, "10", WHITE); If sTime == 120000 Then { Plot1(Sum1, "-0.002%~0", YELLOW); } if stime == 114500 Then { Plot2(Sum2, "-0.004%~0.002", YELLOW); } if stime == 113000 Then { Plot3(Sum3, "-0.006%~0.004", YELLOW); } if stime == 111500 Then { Plot4(Sum4, "-0.006%~0.008", YELLOW); } if stime == 110000 Then { Plot5(Sum5, "-0.008%~0.010", YELLOW); } if stime == 104500 Then { Plot6(Sum6, "-0.010%~0.012", YELLOW); } if stime == 103000 Then { Plot7(Sum7, "-0.012%~0.014", YELLOW); } if stime == 101500 Then { Plot8(Sum8, "-0.014%~0.016", YELLOW); } if stime == 100000 Then { Plot9(Sum9, "-0.016%~0.018", YELLOW); } if stime == 094500 Then { Plot10(Sum10, "-0.018%~0.020", YELLOW); } if stime == 093000 Then { Plot11(Sum11, "~0.020", YELLOW); } }
프로필 이미지
제0원소
2018-11-14
312
글번호 123678
지표
답변완료

문의

안녕하세요 선물시초가호가잔량+이면매수 -이면매도진입 진입후잔량이 교차가되면은청산식 부탁합니다 if bdate != bdate[1] Then { if bids > asks Then buy(); if bids > asks Then sell(); } if MarketPosition == 1 and bids < asks Then ExitLong(); if MarketPosition == -1 and bids > asks Then ExitShort(); 답변주신수식이 제가원하는 수식이아닌것같읍니다 다시설명드리자면 시초가첫봉에서 호가잔량이+2000양으로출발하여 매수진입후 호가잔량이2000에서0되고-음으로드어가면은 청산입니다교차봉이아닌 잔량교차시청산입니다 매도는반대 시초가진입은무조건되어야정상입니다 잔량이있으니까요 감사합니다
프로필 이미지
질갱이
2018-11-15
189
글번호 123677
시스템
답변완료

수식의뢰 드려요

안녕하세요! 저는 콜과 풋의 교차차트로 선물매매를 하는데 첨부된 파일처럼 < 전일 콜고가, 콜저가 / 전일 풋고가, 풋저가 > 이렇게 4개의선이 나타날 수 있도록 만들어 주세요! 행사가가 바뀌면 자동으로 가격선도 변경 될 수 있도록 부탁드립니다. 부탁드립니다!
프로필 이미지
qha71
2018-11-15
209
글번호 123676
지표
답변완료

건의사항

1. 언제나수고많으십니다 건의사항---과거 지표수식을 &#52287;아볼때 2007 년도를 &#52287;을려면 뒤로넘기기를 수백번씩 하게 됩니다..너무 힘듬. 그래서, 하단&#52287;기 탭에 년도별로 &#52287;는기능이나, 또는 1~2년씩 끈어볼수 잇게 좀 해주세요.. 간곡히 부탁합니다...그래야 에스직원분도 좀 편해질듯 합니다.
프로필 이미지
대발이
2018-11-14
176
글번호 123675
지표
답변완료

식문의드립니다.

안녕하세요, 식 문의드립니다. 주식 매입할때 5일,10일 이동평균선을 5분봉에 적용하여 5일 이동평균선에 다았을때 매수 (가격,수량 설정) 10일 이동평균선에 다았을때 추가 매수 (가격,수량 설정) 청산값은 5일선에서 매수후 +5% 10일선에서 매수후 +5%(5일매수, 10일추가매수 모두 청산) 손절값은 5일선에서 매수후 -7% 10일선에서 매수후 -7%(5일매수한 값이 손절되었으면 10일선에서 매수분만, 5일매수한 값이 손절되지 않았으면 5,10일 모두 손절) 부탁드립니다. 감사합니다
프로필 이미지
스누피독
2018-11-14
175
글번호 123672
시스템
답변완료

특정 기간 동안 분봉차트에서 고가와 저가가 나온 시간의 평균을 구하고 싶습니다.

수고많으십니다. 예를 들어 어제 저가가 09:00, 오늘 저가가 11:00에 나왔다면 평균은 10:00가 됩니다. 이런식으로 구하고 싶습니다. 그리고 특정일까지의 평균을 그 날의 마지막 분봉에 표시하고 싶습니다. 예를 들어 2018년 11월 1일부터 13일 까지 저가가 나온 평균시간이 11:30이면 1130을 13일의 마지막 봉에, 오늘까지의 저가가 나온 평균시간이 11:34이면 1134를 오늘의 마지막 봉에 표시하고 싶습니다. 감사합니다.
프로필 이미지
제0원소
2018-11-14
235
글번호 123667
지표
답변완료

문의 드립니다.

항상 고맙습니다. data2의 자료가 data1의 차트에 나타 나도록 수정 부탁 드립니다. Input:chngRate(0.1); Var:j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0),TL2(0),TL3(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); For j = 0 To 9 { barArr[j] = barArr[j] + 1; } Condition1 = Min(valArr[1],valArr[2]) * (1 + (chngRate/100)) < H and lastHiVal < H; Condition2 = Max(valArr[1],valArr[2]) * (1 - (chngRate/100)) > L and (lastLoVal > L || lastLoVal == 0); If Condition1 Then { lastHiVal = H; lastLoVal = 0; } If Condition2 Then { lastLoVal = L; lastHiVal = 0; } turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; If turnPntBit <> "" Then { If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H,L); barArr[1] = 0; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H) or (turnPntBit == "Lo" and valArr[1] > L))) Then { valArr[1] = IFF(turnPntBit == "Hi",H,L); barArr[1] = 0; turnPntArr[1] = turnPntBit; If turnPntArr[1][1] <> turnPntArr[1][0] Then TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]); Else TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1][1] <> turnPntArr[1][0] Then{ if turnPntArr[1][0] == "Lo" then{ TL_Delete(TL2); TL_SetExtRight(TL2,true); TL_SetColor(TL2,yellow); } if turnPntArr[1][0] == "Hi" then{ TL_Delete(TL3); TL_SetExtRight(TL3,true); TL_SetColor(TL3,yellow); } } } TL_SetSize(TL1,0); TL_SetColor(TL1,white); var : AA(0),BB(0),CC(0),DD(0); var : TL51(0),TL52(0),TL53(0),TL54(0),TL55(0),TL56(0),TL57(0),TL59(0); if turnPntBit=="Hi" Then{ AA = valarr[1]; BB = valarr[2]; CC = valarr[3]; DD = valarr[4]; TL_Delete(TL51); TL51 = TL_New(sdate[1],stime[1],CC+abs(CC-DD),sdate,stime,CC+abs(CC-DD)); TL_SetExtRight(TL51,true); TL_SetExtLeft(TL51,true); TL_Delete(TL52); TL52 = TL_New(sdate[1],stime[1],CC+abs(CC-DD)/2,sdate,stime,CC+abs(CC-DD)/2); TL_SetExtRight(TL52,true); TL_SetExtLeft(TL52,true); TL_SetColor(TL52,GREEN); TL_Delete(TL54); TL54 = TL_New(sdate[1],stime[1],CC+(BB-DD),sdate,stime,CC+(BB-DD)); TL_SetExtRight(TL54,true); TL_SetExtLeft(TL54,true); TL_SetColor(TL54,MAGENTA); TL_Delete(TL57); TL57 = TL_New(sdate[barArr[3]],stime[barArr[3]],cc,sdate,stime,cc); TL_SetExtRight(TL57,true); TL_SetExtleft(TL57,true); } if turnPntBit=="Lo" Then{ AA = valarr[1]; BB = valarr[2]; CC = valarr[3]; DD = valarr[4]; TL_Delete(TL51); TL51 = TL_New(sdate[1],stime[1],CC-abs(CC-DD),sdate,stime,CC-abs(CC-DD)); TL_SetExtRight(TL51,true); TL_SetExtLeft(TL51,true); TL_Delete(TL52); TL52 = TL_New(sdate[1],stime[1],CC-abs(CC-DD)/2,sdate,stime,CC-abs(CC-DD)/2); TL_SetExtRight(TL52,true); TL_SetExtLeft(TL52,true); TL_Delete(TL53); TL53 = TL_New(sdate[1],stime[1],CC-abs(BB-CC),sdate,stime,CC-abs(BB-CC)); TL_SetExtRight(TL53,true); TL_SetExtLeft(TL53,true); TL_Delete(TL54); TL54 = TL_New(sdate[1],stime[1],CC-(-BB+DD),sdate,stime,CC-(-BB+DD)); TL_SetExtRight(TL54,true); TL_SetExtLeft(TL54,true); TL_Delete(TL57); TL57 = TL_New(sdate[barArr[3]],stime[barArr[3]],cc,sdate,stime,cc); TL_SetExtRight(TL57,true); TL_SetExtleft(TL57,true); }}
프로필 이미지
뮬리
2018-11-14
197
글번호 123666
지표
답변완료

시간

안녕하세요 항상 감사드려요 한국투자증권 예스글로벌 사용자입니다 한국시간으로 항생은 오전 10시 15분 부터 익일 오전 02시 까지입니다 시스템이 오전 10시 15분에 시작해서 익일 오전 02시에 진입이 있다면 종가 청산되는 수식을 부탁드립니다 수고하세요 아니면 간단히 익일 02시 종가 청산식도 부탁드려요
프로필 이미지
달마7
2018-11-14
398
글번호 123665
사용자 함수