커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의 드립니다

안녕하세요!!! 아래 수식은 일전에 도움받아 사용하고있는 "1P 막대수식"인데요 1, 이 수식의 적용시점을 매일아침 장시작하는 시점부터 새롭게 적용이 되도록 부탁드립니다 즉, 현재 수식은... 전일 오후에 하방 1P 막대가 완성되어 그대로 장이 종료된후에 금일도 처음부터 계속 하방추세라면 아무리 하방폭이 크더라도 이 하방 1P 막대가 금일은 새롭게 발생이 안됩니다 이것을 금일 장 시작시점을 기준으로해서 장시작후 1P 가 하락시 다시또 하방 1P선이 새롭게 발생이 되도록 부탁드립니다 2, 수고스럽겠지만 아래수식에서 음성신호 수식을 한번만더 봐주시면 고맙겠습니다 아무리 이래저래 적용해봐도 음성신호가 안나옵니다 물론 새롭게 작성하라는 폰드는 모두 새롭게 수정했습니다 이것이 안된다면 음성신호를 발생케할 다른 방법은 없는지요? 감사합니다 !!! ----------------------------------------------------------------------------------- Input:전환포인트(1),선굵기(6); Var : j(0),upTr(100),dnTr(-100),trnd(0),TL1(0),TL2(0),TL3(0); var : date11(0),date12(0),time11(0),time12(0); Array:hiVal[10](0),loVal[10](0),hiBar[10](0),loBar[10](0); for j = 1 to 9 { loBar[j] = loBar[j] + 1; hiBar[j] = hiBar[j] + 1; } if hiVal[0] <= H or hiVal[0] == 0 then { hiVal[0] = H; hiBar[0] = 0; } else { hiBar[0] = hiBar[0] + 1; } if loVal[0] >= L or loVal[0] == 0 then { loVal[0] = L; loBar[0] = 0; } else { loBar[0] = loBar[0] + 1; } if trnd != dnTr && hiVal[0] > H && hiVal[0]-전환포인트 > L then trnd = dnTr; else if trnd != upTr && loVal[0] < L && loVal[0]+전환포인트 < H then trnd = upTr; if trnd[1] == upTr and trnd == dnTr then { PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); PlaySound(""); TL2 = TL_New(sdate,stime,999999999,sdate,stime,0); TL_SetColor(TL2,yellow); TL_SetSize(TL2,선굵기); for j = 8 downto 1 { hiVal[j+1] = hiVal[j]; hiBar[j+1] = hiBar[j]; } hiVal[1] = hiVal[0]; hiBar[1] = hiBar[0]; hiVal[0] = H; hiBar[0] = 0; loVal[0] = L; loBar[0] = 0; date11 = date[loBar[1]]; //추세선 시작일. 전저점의 날짜 time11 = stime[loBar[1]]; //추세선 시작시간 Value11 = loVal[1]; //추세선 시작가격 date12 = date[hiBar[1]]; //추세선 종료일. 전고점의 날짜 time12 = stime[hiBar[1]]; //추세선 종료시간 Value12 = hiVal[1]; //추세선 종료가격 //TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,red); TL_SetSize(TL1,선굵기); } if trnd[1] == dnTr and trnd == dnTr and hiVal[1] < hiVal[0] and hiVal[0]-전환포인트 > L then { hiVal[1] = hiVal[0]; hiBar[1] = hiBar[0]; hiVal[0] = H; hiBar[0] = 0; loVal[0] = L; loBar[0] = 0; date12 = date[hiBar[1]]; //추세선 종료일 time12 = stime[hiBar[1]]; Value12 = hiVal[1]; TL_SetEnd(TL1, date12,time12,Value12); PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } if trnd[1] == dnTr and trnd == upTr then { PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); //BUY(); TL2 = TL_New(sdate,stime,999999999,sdate,stime,0); TL_SetColor(TL2,yellow); TL_SetSize(TL2,선굵기); for j = 8 downto 1 { loVal[j+1] = loVal[j]; loBar[j+1] = loBar[j]; } loVal[1] = loVal[0]; loBar[1] = loBar[0]; loVal[0] = L; loBar[0] = 0; hiVal[0] = H; hiBar[0] = 0; date11 = date[hiBar[1]]; time11 = stime[hiBar[1]]; Value11 = hiVal[1]; date12 = date[loBar[1]]; time12 = stime[loBar[1]]; Value12 = loVal[1]; //TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); TL_SetColor(TL1,yellow); TL_SetSize(TL1,선굵기); } if trnd[1] == upTr and trnd == upTr and loVal[1] > loVal[0] and loVal[0]+전환포인트 < H then { loVal[1] = loVal[0]; loBar[1] = loBar[0]; loVal[0] = L; loBar[0] = 0; hiVal[0] = H; hiBar[0] = 0; date12 = date[loBar[1]]; time12 = stime[loBar[1]]; Value12 = loVal[1]; TL_SetEnd(TL1, date12,time12,Value12); PlaySound("C:₩예스트레이더₩data₩Sound₩1point.wav"); }
프로필 이미지
유로파54
2018-08-14
248
글번호 121344
지표
답변완료

해외선물 체결강도

해외선물 차트에서 3분봉차트에서 봉이 60이평을 상향돌파하면서 체결강도가 150이상일때 매수 봉이 60이평 하향돌파하면서 체결강도가 50이하일때 매도 이거 수식가능할까요? 그리고 체결강도라는게 체결이 되는 힘에 매수가되는건데 선물은 매도할때도 체결이 되는건데 매도할떄도 체결강도가 떨어지나요? 올라가나요? 만약 매도할대도 체결강도가 올라간다면 60이평 하향돌파하면서 체결강도 150이상일때 매도진입 수식으로 부탁드립니다
프로필 이미지
쩜상쩜하
2018-08-13
366
글번호 121343
시스템
답변완료

변수값 차례대로 저장하는 방법 문의

더운데 정말 고생많으십니다. 많은 도움을 받고 있습니다. 1. 변수에 차례대로 4개씩 값을 저장하고 이를 출력하고 싶은데 여기저기 찾아봐도 모르겠습니 다. 부탁드립니다. array : str[4](""); str[4] = Text_GetString(Text1); data = ["A","B","C","D"]; // 4개값이 각각 다른값이 저장되도록 한개 봉마다 Text1의 출력문자열을 str변수에 차례대로 4개씩 저장하고 저장된 변수의 값을 확인하고 싶습니다. 다시 한번 감사드립니다.
프로필 이미지
푸른가마
2018-08-13
237
글번호 121342
지표
답변완료

문의 드립니다.

항상 도움 주셔서 감사드립니다. 하기 조건의 수식 문의 드립니다. 1. 1일전의 (고점-저점) Range가 2일전(고점-저점) ~ 5일전(고점-저점)의 최소 Range보다 작을때 2. 당일에 전일 저점 하방 돌파시 매도, 전일 고점 돌파시 매수 감사합니다.
프로필 이미지
eiger
2018-08-13
209
글번호 121341
시스템
답변완료

부탁드립니다.

도움주심에 감사드립니다. 1)다음수식의 날짜1 시간1을 현재로 부터 과거 200봉전 날짜2 시간2을 현재로 부터 과거 100봉전으로 하는 수식으로 수정 부탁 드립니다. 2)다음수식을 일봉 주봉 월봉에서 사용토록 부탁 드립니다. 미리 감사 드립니다. input : 날짜1(20180810),시간1(110000); input : 날짜2(20180813),시간2(110000); var : hh(0),ll(0),Tcond(false),T1(0),T2(0),dd(0),TT(0); var : TL1(0),TL2(0),TL3(0),TL4(0),tx(0); if sdate == 날짜1 and ((sdate != sdate[1] and stime >= 시간1) or (sdate == sdate[1] and stime >= 시간1 and stime[1] < 시간1)) Then { Tcond = true; dd = 0; hh = h; ll = l; T1 = TimeToMinutes(stime); TL1 = TL_New(sdate[1],stime[1],hh,sdate,stime,hh); TL2 = TL_New(sdate[1],stime[1],9999999999,sdate,stime,0); TL_SetExtRight(TL1,true); TL_SetExtLeft(TL1,true); } if Tcond == true then { if sdate != sdate[1] Then dd = dd+1; T2 = TimeToMinutes(stime); if h > hh Then hh = h; if l < ll Then ll = l; TL_Delete(TL3); TL_Delete(TL4); TL3 = TL_New(sdate[1],stime[1],LL,sdate,stime,LL); TL4 = TL_New(sdate[1],stime[1],9999999999,sdate,stime,0); TL_SetExtRight(TL3,true); TL_SetExtLeft(TL3,true); if dd == 0 Then TT = (T2-T1)/60; if dd >= 1 Then TT = ((1440-T1)+((dd-1)*1440)+T2)/60; Text_Delete(Tx); tx = Text_New(sdate,stime,(HH+LL)/2,"진폭 : "+NumToStr(hh-ll,2)+NewLine+"경과시간 : "+NumToStr(TT,2)); Text_SetStyle(tx,0,0); } if sdate == 날짜2 and ((sdate != sdate[1] and stime >= 시간2) or (sdate == sdate[1] and stime >= 시간2 and stime[1] < 시간2)) Then { Tcond = false; }
프로필 이미지
yes
2018-08-13
252
글번호 121340
지표
답변완료

매매가 이상 한데요 확인 좀 부탁 드립니다.

* EugeneYesTrader의 매매 횟수와 참피온 실매매횟수가 틀려지는데 확인 요청 드립니다. * 상황 설명 1번. 주문번호:1830186은 시스탬자동 매매(매도)되었습니다. 2번. 주문번호:1830781은 제가 참피온 화면에서 강제청산(매수)해 보았습니다. →수작업 매도(핸드폰 화면) 3번. 주문번호:1830783은 어느신호로 자동매매(매수)가 되었는지 이상 합니다. 4번. 주문번호:1830822은 정상 5번. 주문번호:1832470은 정상 * 확인 요청사항 - 3번 주문이 어느 시스탬에서 신호를 받아서 매매(매수)주문이 나갔나요? 즉 시스템에서 자동 매매(매도)가 되어서 제가 수작업으로 매매(매수)를 했는데 다시 3번 주문이 강재로 매수 되어 버리네요??? 외 다시 매수가 되죠? (3번주문) 그냥 4번 ,5번 주문이 실행하면 되는데? * 혹시 시스탬에서 매수한것은 강제 청산 하면 안되나요? 수작업으로 청산 해도 시스템에 반영이 안되더라도 어떤 이유로 3번주문이 매매(매수)가 되었는지 궁금 합니다. (매매되면 안되는것 아닌가요? 내가 짠 로직 기준에도 맞지않는데.... ) * 답변좀 부탁 드리겠습니다. * 이후 기달려 보니까 그림2 처럼 이익이 손해가 되고 미체결 약정이 사라지네요??? * 어떻게 매매가 되는거죠???? * 다시 6번째 청산이 되니까 참피온은 1구좌 미결재 새로 생기네요??? <그림3> * 프로그램을 제가 짤못짰나요??? * 뭔가 한칸씩 신호가 계속 밀리네요??? 즉 3번이 치고 들어오니까 계속 한칸씩 밀리는데...
프로필 이미지
요타
2018-08-13
290
글번호 121339
시스템
답변완료

선물과 주식

안녕하세요 1.==> 선물용 전일종가 > 3개월이동평균선 > 12개월 이동평균선 이면 매수 전일종가 < 3개월이동평균선 < 12개월 이동평균선 이면 매도 2.==> 주식용 전일종가 > 3개월이동평균선 > 12개월 이동평균선 이면 매수 전일종가 < 3개월이동평균선 < 12개월 이동평균선 이면 매도 감사드립니다^^
프로필 이미지
회원
2018-08-14
224
글번호 121338
시스템
답변완료

질의

1. 미완성신호값 리턴값이 제대로 않되는이유가 뭔지요(스팟식 참조) ? function c3_OnRiseIncompleteSignal(IncompleteSignal) { 미완성120신호값 = IncompleteSignal.price ; // 미완성120시간 = IncompleteSignal.time; /* Main.MessageLog("미완성120신호 : "+IncompleteSignal.signalKind);*/ /* a1.SetBalance(Main.GetOrderCode(IncompleteSignal.code))*/ if ( IncompleteSignal.signalKind == 1 && cc >= 미완성120신호값 /* c3.GetSTime(1, 0) == 미완성120시간*/ ) { 미완성120신호 = 1 ; exl1.SetData(1, "m27",미완성120신호 ); exl1.SetData(1, "m28",미완성120신호값 ); Main.MessageLog("미완성120신호 매수 : " +IncompleteSignal.signalKind); if ( cc < 미완성120신호값 ) { 미완성120신호 = 완성120신호 ; exl1.SetData(1, "m27", 미완성120신호 ); exl1.SetData(1, "m28", 완성120신호값 ); Main.MessageLog("미완성120신호 : " +완성120신호); } } 2. 장 진행중 저장된 변수값을 내일 장에서 활용하려면 어떻게 해야 하나요 ?
프로필 이미지
파일럿
2018-08-13
262
글번호 121337
시스템
답변완료

문의드립니다.

도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다. 1. 기타 트레일링스탑을 수익에 따라 비율적으로 점점 짧게 잡는 방법이 있을까요? 머리 굴려봐도 단계적으로 조건에 따라 몇틱 몇틱 지정하는 방법외에 없는 것 같은데요. 혹시 수익이 커질수록 트레일링스탑을 짧게 잡거나 크게 잡거나 하는 방법이 있을까요? input: TsValue(1); var: Hvalue(0),Lvalue(0); If MarketPosition() == 1 Then { Hvalue = Highest(H,BarsSinceEntry+1); ExitLong("trailstop_EL", Atstop, Hvalue-TsValue*PriceScale); } If MarketPosition() == -1 Then { Lvalue = Lowest(L,BarsSinceEntry+1); ExitShort("trailStop_Es", Atstop, Lvalue + TsValue*PriceScale); } 2. 기타 -5분봉 기준 -현재봉 끝시간을 기준으로 30분이 지났을 때(=6봉이 지났을 때) -30분봉 '봉 크기 절대값(H-L)'의 200개 평균 만큼 손절-익절 세팅 -60분이 지났을 때(=12봉이 지났을 때) -60분봉 200개의 '봉 크기 절대값'만큼 익절 세팅(손절은 30분 그대로) 3. 기타 아래 포인트 트레일링 스탑에 다음과 같은 조건 추가 부탁드립니다. -시작하자 마자일 때는 TsValue 포인트를 트레일링 스탑으로 설정 -30분 지난 뒤에는 -매수일 경우, 30분봉 '윗꼬리 절대값(H-C)'의 200개 평균값으로 트레일링스탑 값 세팅 -매도일 경우 30분봉 '아랫꼬리 절대값(C-L)'의 200개 평균값으로 트레일링스탑 값 세팅 input: TsValue(1); var: Hvalue(0),Lvalue(0); If MarketPosition() == 1 Then { Hvalue = Highest(H,BarsSinceEntry+1); ExitLong("trailstop_EL", Atstop, Hvalue-TsValue); } If MarketPosition() == -1 Then { Lvalue = Lowest(L,BarsSinceEntry+1); ExitShort("trailStop_Es", Atstop, Lvalue + TsValue); }
프로필 이미지
잡다백수
2018-08-13
264
글번호 121335
시스템