커뮤니티

질문 올립니다.

프로필 이미지
즐겁게
2020-07-01 16:21:34
2822
글번호 225260
답변완료
안녕하세요. 늘 감사드립니다. 네 개의 차트들, 즉 가령 20틱 차트, 1분봉 차트, 10분봉 차트, 30분봉 차트를 다 열어 놓고, 매수 진입: 각 차트들에서, 각각 EMA(20)들의 기울기가 모두 다 (즉 네 곳 다) 플러스일 때 매수, 매수 청산: 이 중 두 곳 이상에서 이 기울기가 마이너스가 되면 매수 청산, 매도 진입: 네 곳 다 20이평 기울기 마이너스일 때 매도 진입, 매도 청산: 두 곳 이상에서 기울기가 플러스가 되면 매도 청산. 하는 식들 부탁 드립니다. 감사합니다. (제가 지금 예스랭귀지만 쓰고 있고, 예스스팟은 써 본지가 오래 되어서, 이런 것이 가능한지 잘 알지 못합니다. 가르쳐 주시면 대단히 감사하겠습니다)
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-07-21 15:39:52

안녕하세요 예스스탁입니다. plot1(ema(C,20)); 지수이평1이라는 이름으로 지표식 작성해서 4개의 차트에 적용된 상태이어야 합니다. 스팟에서는 지표이름을 지정해 값을 가져오므로 각 차트에 위식이 지수이평1이라는 지표명으로 적용되어 있어야 합니다. 스팟의 어떤 이벤트에서 동작할지를 지정해야 하는데 주긱가 가장짧은 Chart1의 봉완성기준으로 동작하게 작성해 드립니다. 스크립트 객체 설정 차트객체 추가 --> 속성에서 객체명 Chart1, 20틱 차트와 아이디 연결 차트객체 추가 --> 속성에서 객체명 Chart2, 1분 차트와 아이디 연결 차트객체 추가 --> 속성에서 객체명 Chart3, 10분 차트와 아이디 연결 차트객체 추가 --> 속성에서 객체명 Chart4, 30분 차트와 아이디 연결 종목객체 추가 --> 속성에서 객체명 MarketData1, 주문낼 종목으로 설정 계좌객체 추가 --> 속성에서 객체명 Account1, 주문낼 계좌번호 지정 var T; function Main_OnStart() { T = 0; } function Chart1_OnBarAppended(1) { var UP = 0; var DN = 0; if (Chart1.GetIndicatorData("지수이평1",1,1) > Chart1.GetIndicatorData("지수이평1",1,2)) { UP = UP +1; } if (Chart2.GetIndicatorData("지수이평1",1,1) > Chart2.GetIndicatorData("지수이평1",1,2)) { UP = UP +1; } if (Chart3.GetIndicatorData("지수이평1",1,1) > Chart3.GetIndicatorData("지수이평1",1,2)) { UP = UP +1; } if (Chart4.GetIndicatorData("지수이평1",1,1) > Chart4.GetIndicatorData("지수이평1",1,2)) { UP = UP +1; } if (Chart1.GetIndicatorData("지수이평1",1,1) < Chart1.GetIndicatorData("지수이평1",1,2)) { DN = DN +1; } if (Chart2.GetIndicatorData("지수이평1",1,1) < Chart2.GetIndicatorData("지수이평1",1,2)) { DN = DN +1; } if (Chart3.GetIndicatorData("지수이평1",1,1) < Chart3.GetIndicatorData("지수이평1",1,2)) { DN = DN +1; } if (Chart4.GetIndicatorData("지수이평1",1,1) < Chart4.GetIndicatorData("지수이평1",1,2)) { DN = DN +1; } if (T == 1 && DN >= 2) { T = 0; Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Bid(5), 0); } if (T == -1 && UP >= 2) { T = 0; Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Ask(5), 0); } if (T <= 0 && UP == 4) { T = 1; Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Ask(5), 0); } if (T >= 0 && DN == 4) { T = -1; Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Bid(5), 0); } } 즐거운 하루되세요 > 즐겁게 님이 쓴 글입니다. > 제목 : 질문 올립니다. > 안녕하세요. 늘 감사드립니다. 네 개의 차트들, 즉 가령 20틱 차트, 1분봉 차트, 10분봉 차트, 30분봉 차트를 다 열어 놓고, 매수 진입: 각 차트들에서, 각각 EMA(20)들의 기울기가 모두 다 (즉 네 곳 다) 플러스일 때 매수, 매수 청산: 이 중 두 곳 이상에서 이 기울기가 마이너스가 되면 매수 청산, 매도 진입: 네 곳 다 20이평 기울기 마이너스일 때 매도 진입, 매도 청산: 두 곳 이상에서 기울기가 플러스가 되면 매도 청산. 하는 식들 부탁 드립니다. 감사합니다. (제가 지금 예스랭귀지만 쓰고 있고, 예스스팟은 써 본지가 오래 되어서, 이런 것이 가능한지 잘 알지 못합니다. 가르쳐 주시면 대단히 감사하겠습니다)