커뮤니티

정배열 상태 확인, 원하는 시간대 분할매수(예스 스팟 이용)

프로필 이미지
클릭한번
2014-09-17 14:27:55
163
글번호 78630
답변완료
1) 일봉상 N일전에 20선과 40선 정배열 상태를 확인 할 수 있는 함수나 코딩 방법과 2) 10:30 / 12:30 / 13:30에 각각 2번씩 분할 매수 주문하고 싶은데 코딩을 어떻게 해야 하는지 모르겠습니다. 3) N일전에 20선과 40선이 골든 크로스 났는지 확인 할 수 있는 함수나 코딩 방법 4) 20선, 40선 이평선 보합중인 상태 확인 함수나 코딩 방법 5) 40선이 계속 하락중인걸 수식으로 걸려면 어떻게 해야 하나요?
검색
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-09-18 11:47:49

안녕하세요 예스스탁입니다. 스팟에서 지표값은 차트객체를 추가해서 차트와 연동한 뒤에 차트객체의 함수중에 GetIndicatorData(sIndicatorName, nPlotNum, nPlotIndex) 를 이용해서 값을 가져와 사용하시면 됩니다. 스팟에서 특정 지표값을 가져오기 위해서는 차트에 해당지표가 적용이되어 있어야 합니다. 아래의 지표가 일봉차트에 적용이 되어 있다고 한다면 #지표명은 "이평2" Input : Period1(20),Period2(30); var1 = ma(C,Period1); var2 = ma(C,Period2); Plot1(var1, "이동평균1"); Plot2(var2, "이동평균2"); 아래와 같이 예스스팟에서 값을 호출하여 조건식만들어 사용하시면 됩니다. 아래식 구조 참고하시기 바랍니다. (수식안에 영문업데이트가 금칙어라 Up*date로 되어 있습니다. *제거하시기 바랍니다. 스크립트 객체화면 설정 차트객체 추가 --> 속성에서 객체명 Chart1, 차트와 같은 아이디로 지정 계좌객체 추가 --> 속성에서 객체명 Accoun1, 주문낼 계좌번호 지정 종목객체 추가 --> 속성에서 차트와 같은 종목으로 종목 지정 var T1,T2; var ma10,ma11,ma12,ma13; var ma20,ma21,ma22,ma23; //시세가 업데이트 될때마다 function Main_OnUp*dateMarket(sItemCode, lUp*dateID) { //시간저장 T2 = T1; //직전시세 시간 T1 = Math.floor(MarketData1.time/10000); //현재시세 시간 //차트에서 지표값 불러와 저장 ma10 = Chart1.GetIndicatorData("이평2",1,0); //--> 이평2 지표의 plot1의 현재봉값 ma11 = Chart1.GetIndicatorData("이평2",1,1); //--> 이평2 지표의 plot1의 1봉전값 ma12 = Chart1.GetIndicatorData("이평2",1,2); //--> 이평2 지표의 plot1의 2봉전값 ma13 = Chart1.GetIndicatorData("이평2",1,3); //--> 이평2 지표의 plot1의 3봉전값값 ma20 = Chart1.GetIndicatorData("이평2",2,0); //--> 이평2 지표의 plot2의 현재봉값 ma21 = Chart1.GetIndicatorData("이평2",2,1); //--> 이평2 지표의 plot2의 1봉전값 ma22 =Chart1.GetIndicatorData("이평2",2,2); //--> 이평2 지표의 plot2의 2봉전값 ma23 = Chart1.GetIndicatorData("이평2",2,3); //--> 이평2 지표의 plot2의 3봉전값 //2일전 정배열 if (ma12 > ma22) { //실행문~~~~ } //2일전 골든크로스 if (ma12 > ma22 && ma13 < ma23) { //실행문~~~~ } //보합 3일간 이평들의 최고가와 최저가 차이가 3% 이내 if (Math.max(ma10,ma11,ma12,ma13,ma20,ma21,ma22,ma23)<= Math.min(ma10,ma11,ma12,ma13,ma20,ma21,ma22,ma23)*1.03) { //실행문~~~~ } //40이평 3일연속 하락 if (ma20 < ma21 && ma21 < ma22 && ma23) { //실행문~~~~ } //지정시간 매수주문 2건 발생 if ((T1 >= 103000 && T2 < 103000) || (T1 >= 123000 && T2 < 123000) || (T1 >= 133000 && T2 < 133000)) { Account1.OrderBuy(MarketData1.code, 1, MarketData1.Ask(1), 0); Account1.OrderBuy(MarketData1.code, 1, MarketData1.Ask(3), 0); } } 예스스팟 문의는 스팟게시판에 남겨주시기 바랍니다. 이후에는 스팟게시판으로 문의를 이관합니다. 즐거운 하루되세요 > 김현석 님이 쓴 글입니다. > 제목 : 정배열 상태 확인, 원하는 시간대 분할매수(예스 스팟 이용) > 1) 일봉상 N일전에 20선과 40선 정배열 상태를 확인 할 수 있는 함수나 코딩 방법과 2) 10:30 / 12:30 / 13:30에 각각 2번씩 분할 매수 주문하고 싶은데 코딩을 어떻게 해야 하는지 모르겠습니다. 3) N일전에 20선과 40선이 골든 크로스 났는지 확인 할 수 있는 함수나 코딩 방법 4) 20선, 40선 이평선 보합중인 상태 확인 함수나 코딩 방법 5) 40선이 계속 하락중인걸 수식으로 걸려면 어떻게 해야 하나요?