커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

시스템 문의드립니다.

한 계좌에서 해외선물 서로 다른 종목들을 시스템 돌리고 있는데요. 10개의 종목을 돌린다고 쳤을때 각기 시스템의 신호가 발생하는 시각이 다르잖아요 거기서 만약 당일 계좌의 금액이 수익청산으로 마무리 됬을때 나머지 시스템들을 매매금지를 시킬수 있는 조건을 달려면 어떻게 해야하나요? 예를들어 차트 10개에서 각각의 시스템 가동중 상황에서 첫번째 차트 손실 = 현재손실상태 두번째 차트 수익 = 본절이지만 수수료 때문에 손실상태 세번째 차트 수익 = 수익청산으로 다시 수익 전환 수익이 발생하였으므로 모든 차트의 시스템을 매매중지 시킬수 있는 조건을 만들려면 어떤 수식을 넣어야 하는지요?
프로필 이미지
수다리
2017-09-28
224
글번호 113164
시스템
답변완료

글번호 54929번 재질문

안녕하세요? 글번호 54929번 재질문 드립니다. 작성해주신 아래의 식에서 if countif(MarketPosition == 0 and C>O,3) >= 2 Then buy("b",AtMarket); if countif(MarketPosition == 0 and C<O,3) >= 2 Then sell("s",AtMarket); if MarketPosition == 1 and BarsSinceEntry ==5 Then exitlong("bx"); if MarketPosition == -1 and BarsSinceEntry ==5 Then ExitShort("sx"); 직전봉 3개의 봉색깔을 관찰하여 양봉이 많으면(양봉 2개와 음봉 1개 또는 양봉 3개) 현재봉 시가에 매수진입하여 진입이후 5번째봉 종가청산 음봉이 많으면 현재봉 시가에 매도진입하여 진입이후 5번째봉 종가청산 여기에서 청산신호가 나오면 그 익봉부터 다시 봉을 카운팅하여 3개의 봉을 관찰하여 진입신호를 생성하고자 합니다. 그런데 진입 요건을 세부적으로 들어가면 매수 진입의 경우에 3개의 봉을 관찰하여 양봉이 많을 수 있는 경우가 '양봉 + 음봉 + 양봉' 이나 '음봉 + 양봉 + 양봉' 뿐만이 아니라 '양봉 + 양봉 + 음봉' 이나 '양봉 + 양봉 + 양봉' 이 있습니다. 이러한 경우에는 굳이 3개까지 봉을 관찰하지 않아도 '양봉 + 양봉 + 음봉' 이나 '양봉 + 양봉 + 양봉'은 봉 2개로써 그 방향에 베팅하고자 합니다. '양봉 + 양봉' 이 나오면 그 익봉에서 매수진입, '음봉 + 음봉' 이 나오면 그 익봉에서 매도진입하고자 합니다. 상기의 논리로 스크립트를 다시 요청드립니다. 감사합니다.
프로필 이미지
통큰베팅
2017-09-28
177
글번호 113158
시스템

파생돌이 님에 의해서 삭제되었습니다.

프로필 이미지
파생돌이
2017-09-28
2
글번호 113157
지표
답변완료

잘부탁드립니다

전일고가 중심선 전일저가 당일시가 당일고가 중심선 당일저가 우축상단에표시해주세요 부탁드립니다
프로필 이미지
용각산
2017-09-28
202
글번호 113155
지표
답변완료

부탁 드립니다,

1) 월요일의 해선 시간(07:00)부터 지정한 요일의 시각 까지 최고점과 최저점(진폭)을 계산한다. 2) 위와 같은 방법으로 1주전의 진폭 2주전의 진폭 3주전의 진폭 . . . n주전의 진폭에서 3) 위의 계산에서 n주 기간 동안의 진폭의 평균 n주 기간 동안에서 최대 진폭 n주 기간 동안에서 최소 진폭 현재 주간의 진폭을 text로 나타 내고 싶습니다. 미리 감사 드립니다. 비슷한 유형으로 작성해주신 참고수식) input : 시작요일(1),시작시간(070000); input : 끝요일(5),끝시간(060000); input : P(20); var : Tcond(false),Hv(0),Lv(0),sum(0),mav(0),cnt(0); Array : VV[100](0); if DayOfWeek(sdate) == 시작요일 and ((sdate != sdate[1] and stime == 시작시간) or (sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간)) Then{ Tcond = true; VV[0] = 0; for cnt = 1 to 99{ VV[cnt] = VV[cnt-1][1]; } } if DayOfWeek(sdate) == 끝요일 and ((sdate != sdate[1] and stime == 끝시간) or (sdate == sdate[1] and stime >= 끝시간 and stime[1] < 끝시간)) Then{ Tcond = False; } if Tcond == true Then VV[0] = VV[0] +v; if VV[P] > 0 then{ HV = VV[0]; LV = VV[0]; sum = 0; for cnt = 0 to P-1{ sum = sum + VV[cnt]; if VV[cnt] > HV Then HV = VV[cnt]; if VV[cnt] < LV Then LV = VV[cnt]; } mav = sum/P; Text_Delete(var1); Text_Delete(var2); Text_Delete(var3); Text_Delete(var4); var1 = Text_New(sdate[100],stime[100],H+PriceScale*2, "최대 : "+NumToStr(HV,0)+NewLine+ "최소 : "+NumToStr(LV,0)+NewLine+ "평균 : "+NumToStr(mav,0)+NewLine+ "현재 : "+NumToStr(VV[0],0)); Text_SetStyle(var1,2,2); }
프로필 이미지
yes
2017-09-28
209
글번호 113154
지표
답변완료

행복; 시스템식 작성 바랍니다

한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다 시스템식 관련입니다 Q&A < 55007 > 에 대한 << 아래 >>의 답변 잘 받았습니다 ===================<< 아래 >>============================== If MarketPosition == 0 and sDate == 20170915 Then Buy("b1"); if MarketPosition == 1 then{ #첫진입가 if CurrentContracts > CurrentContracts[1] and MaxEntries == 1 Then var1 = LatestEntryPrice(0); #두번째 진입가 if CurrentContracts > CurrentContracts[1] and MaxEntries == 2 Then var2 = LatestEntryPrice(0); #세번째 진입가 if CurrentContracts > CurrentContracts[1] and MaxEntries == 3 Then var3 = LatestEntryPrice(0); if MaxEntries == 1 and sDate == 20170918 Then Buy("b2"); If MaxEntries == 2 and sDate > 20170918 Then Buy("b3",AtLimit,Var2 * 1.1,100); If MarketPosition == 1 and MaxEntries == 3 Then{ ExitLong("bx3_이익",AtLimit,Var3*1.1); // 10% 이익시 즉시 매도 ExitLong("bx3_손실",AtStop,Var3*0.9); // 10% 손실시 즉시 매도 } } =============================================================================== - 코스닥 종목 "이디", 종목번호 033110 에 적용을 하였습니다 - 1차 매수; 9월 15일 - 2차 매수; 9월 18일 이후에 - 3차 매수가 9월 19일에 이루어지고 - 9월 20일에 전량 매도 되어야 하는데 - 3차 매수가 9월 20일에 이루어지고 - 전량 매도가 이루어지지 않습니다 - marketposition 이나 maxentries 를 사용하면 매수나 매도가 하루 늦어지나요? 어떻게 해야 하는지요? 수고하십시요^^
프로필 이미지
행복한가방
2017-09-28
199
글번호 113153
시스템
답변완료

수식부탁드려봅니다.

수고하십니다. 지표 수식이 가능한지 여쭙고 싶어 글 올립니다. 1. 선물매수호가총건수 와 선물매도호가총건수의 차는 "0" 을 기준으로 위아래로 지표가 그려집니다. 혹시.. 1번의 선과 "0" 과의 거리를 연결선물차트에 라인처럼 그릴수 있을런지요. 다시 말씀드리면, 1번의 현재 차트선이 "0"선에 닿았을때 비로소 연결선물가격을 알수 있는데, 1번 차트선이 "0" 과 멀리 있어도 대략적으로나마 선물가격이 어느정도인지 가늠할수 있는 방법이 있을까 싶습니다. (예 : 현재 1번 수치(두호가차)가 +300 개로 진행이 되었을시, 연결선물 현재종가에서 대략 어느정도 낮은 가격이 1번이 "0"선과 닿을것 같다라는 예측라인) 아님 1번의 차트 자체를 연결선물지수 차트에 덮어쓰기 할수 있을런지요.
프로필 이미지
파동홀릭
2017-09-28
216
글번호 113152
지표
답변완료

수식 문의

유사한 시스템식 2개 부탁드립니다. 감사합니다.
프로필 이미지
에구머니
2017-09-28
199
글번호 113151
시스템
답변완료

문의드립니다.

아래식 사용시 실제 매매에서는 진입이 없고 시스템을 끄고 다시 켜면 조건에 맞게 진입이 있는 경우가 많습니다 식의 어떤 부분이 잘못 되었는지 확인좀 부탁드립니다. 감사합니다. input : short(12),long(26),sig(9),P1(3),P2(30),P3(120), P4(200), P5(50),Period(14); input : 시작시간(215000), 종료시간(030000); input : 진입회수(1); var : mav1(0,data1),mav2(0,data1),mav3(0,data1),mav4(0,data1),mav5(0,data1); var : MACDO1(0,data1),MACDO2(0,data2),MACDV1(0,data1); var : ii(0,data1),i1(0,data1),i2(0,data1),Bcount(0,data1),Scount(0,data1); var : Bcond(false,data1), Scond(false,data1), Tcond(False); var : BH(0,data1), SL(0,data1); MACDO2 = data2(MACD_OSC(short,long,sig)); mav1 = data1(ma(c,P1)); mav2 = data1(ma(c,P2)); mav3 = data1(ma(c,P3)); mav4 = data1(ma(c,P4)); mav5 = data1(ma(c,P5)); ii = data1(index); if stime == 시작시간 or (stime >시작시간 and stime[1] < 시작시간) Then{ Tcond = true; } if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then{ Tcond = false; } if CrossUp(mav1, mav2) Then{ i1 = ii; } if Crossdown(mav1, mav2) Then{ i1 = ii; } if CrossUp(mav2, mav3) Then{ i2 = ii; Bcount = 0; } if Crossdown(mav2, mav3) Then{ i2 = ii; Scount = 0; } if mav2 > mav3 and MarketPosition != MarketPosition[1] and MarketPosition == 1 Then Bcount = Bcount+1; if mav2 < mav3 and MarketPosition != MarketPosition[1] and MarketPosition == -1 Then Scount = Scount+1; //진입 if Tcond == true Then{ if Bcount < 진입회수 and MACDO2 >0 and mav1 > mav3 and mav2 > mav3 and ii > i1 and i1 > i2 Then buy("Buy"); if Scount < 진입회수 and MACDO2 <0 and mav1 < mav3 and mav2 < mav3 and ii > i1 and i1 > i2 Then sell("Sell"); } //청산1 if MarketPosition == 1 Then{ if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*10 Then ExitLong("B익절1",AtStop,highest(H,BarsSinceEntry)-PriceScale*5); if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*20 Then ExitLong("B익절2",AtStop,highest(H,BarsSinceEntry)-PriceScale*10); if lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*15 Then ExitLong("B손절1",AtLimit,lowest(L,BarsSinceEntry)+PriceScale*10); ExitLong("B손절2",AtStop,EntryPrice-PriceScale*5); } if MarketPosition == -1 Then{ if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*10 Then ExitShort("S익절1",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*5); if Lowest(L,BarsSinceEntry) <= EntryPrice-PriceScale*20 Then ExitShort("S익절2",AtStop,Lowest(L,BarsSinceEntry)+PriceScale*10); if Highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*15 Then ExitShort("S손절1",AtLimit,Highest(H,BarsSinceEntry)-PriceScale*10); ExitShort("S손절2",AtStop,EntryPrice+PriceScale*5); } if 종료시간 <= sTime and sTime < 시작시간 then { if MarketPosition == 1 then{ ExitLong("B장종료"); } if MarketPosition == -1 then{ ExitShort("S장종료"); } }
프로필 이미지
라떼처럼
2017-09-27
239
글번호 113150
시스템