커뮤니티
정배열 상태 확인, 원하는 시간대 분할매수(예스 스팟 이용)
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선이 계속 하락중인걸 수식으로 걸려면 어떻게 해야 하나요?
다음글
이전글