커뮤니티

문의드립니다.

프로필 이미지
리나이
2014-09-07 15:07:21
849
글번호 223154
답변완료
5일선이 20이평을 상승돌파하면 봉이 미완성이라도 바로 매수주문하는 시스템을 만들고 싶습니다. 미완성봉주문 후 X분이내 재주문 금지하게 하려면 어떻게 해야하나요? 감사합니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-09-19 11:46:29

안녕하세요 예스스탁입니다. 문의하신 내용 차트에 이평을 적용하고 차트객체에서 이평값을 호출해서 비교해 매수주문 나가게 작성하시면 됩니다. 아래 내용 참고하시기 바랍니다. 1. 차트에는 아래와 같은 지표가 이동평균2라는 이름으로 적용이 되어 있어야 합니다. input : P1(5),P2(20); var1 = ma(c,P1); var2 = ma(c,P2); plot1(var1,"이평1"); plot2(var2,"이평2"); 2 스크립트 객체화면 설정 차트객체 추가 --> 속성에서 객체명은 Chart1, 위 지표식이 적용된 차트와 동일이름의 아이디를 부여 종목객체 추가 --> 속성에서 객체명은 MarketData1, 종목은 차트와 동일종목으로 지정 계좌객체 추가 --> 속성에서 객체명은 Account1, 계좌번호 지정 3. 스팟수식 (수식안에 게시판 금칙어가 있습니다. 영문 업데이트가 Up*date로 되어 있으므로 *제거 하시기 바랍니다.) var Entry = true; //스팟시작시 function Main_OnStart() { //Entry는 true Enty = true; } function Main_OnUp*dateMarket(sItemCode, lUp*dateID)//*제거 { ma10 = Chart1.GetIndicatorData("이동평균2",1,0); ma11 = Chart1.GetIndicatorData("이동평균2",1,1); ma20 = Chart1.GetIndicatorData("이동평균2",2,0); ma21 = Chart1.GetIndicatorData("이동평균2",2,1); //현재봉 5이평이 20이평보다 크고 //전봉은 5이평이 20이평보다 작으면 매수 //매수 후 Entry는 false로 만들고 //타이머(18초)를 셋팅함 if (ma10 > ma20 && ma11 < ma21) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Ask(3), 0); Entry = false; Main.SetTimer(1, 180000)//180초(3분), 타이머는 초단위로 지정해야 하며 1초가 1000입니다. } } //타이머가 동작하면 function Main_OnTimer(nEventID) { if (nEventID == 1) { //타이머를 중지하고 Main.KillTimer(1); //Entry를 다시 true로 해줌 Entry = true; } } 즐거운 하루되세요 > 리나이 님이 쓴 글입니다. > 제목 : 문의드립니다. > 5일선이 20이평을 상승돌파하면 봉이 미완성이라도 바로 매수주문하는 시스템을 만들고 싶습니다. 미완성봉주문 후 X분이내 재주문 금지하게 하려면 어떻게 해야하나요? 감사합니다.