커뮤니티

[자답] 선물매매 코드 문의

프로필 이미지
원초로
2024-01-27 05:35:39.0
640
글번호 225927
답변완료
검색해 보니 이미 질문과 답변이 있군요. 감사합니다. ---------------------------------------------------------------------------- 안녕하세요? 다른 분에게 답변 주신 아래 내용에 추가로 문의 드립니다. 예스랭귀지 코드에서 조건이 만족하면 buy / sell 신호를 만들어 줄 때 1. 기존에 포지션이 없으면 1계약을 매수 또는 매도한다. 2. 기존에 매수 포지션일 때 매수 신호가 나오면 그냥 매수 포지션 1계약 유지한다. 3. 기존에 매수 포지션일 때 매도 신호가 나오면 1계약을 매도 청산하고, 1계약을 매도한다. 4. 기존에 매도 표지션일 때 매도 신호가 나오면 그냥 매도 포지션 1계약 유지한다. 5. 기존에 매도 포지션일 때 매수 신호가 나오면 1계약을 매수 청산하고, 1계약을 매수한다. 위의 조건에 만족하도록 아래 코드를 수정해 주시면 감사하겠습니다. =============================================== 1. 스크립트 객체설정 차트객체(Char1) 계좌객체(Account1) 종목객체(MarketData1) --> 미니선물로 지정 function Main_OnStart() { Main.MessageList("시작"); T = 0; } function Chart1_OnRiseSignal(Signal) { if (Signal.signalKind == 1) { T = 1; Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0); } if (T == 1 && Signal.signalKind == 2) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0); } if (Signal.signalKind == 3) { T = -1; Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0); } if (T == -1 && Signal.signalKind == 4) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0); } }
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-02-20 14:56:17.0

> 원초로 님이 쓴 글입니다. > 제목 : [자답] 선물매매 코드 문의 > 검색해 보니 이미 질문과 답변이 있군요. 감사합니다. ---------------------------------------------------------------------------- 안녕하세요? 다른 분에게 답변 주신 아래 내용에 추가로 문의 드립니다. 예스랭귀지 코드에서 조건이 만족하면 buy / sell 신호를 만들어 줄 때 1. 기존에 포지션이 없으면 1계약을 매수 또는 매도한다. 2. 기존에 매수 포지션일 때 매수 신호가 나오면 그냥 매수 포지션 1계약 유지한다. 3. 기존에 매수 포지션일 때 매도 신호가 나오면 1계약을 매도 청산하고, 1계약을 매도한다. 4. 기존에 매도 표지션일 때 매도 신호가 나오면 그냥 매도 포지션 1계약 유지한다. 5. 기존에 매도 포지션일 때 매수 신호가 나오면 1계약을 매수 청산하고, 1계약을 매수한다. 위의 조건에 만족하도록 아래 코드를 수정해 주시면 감사하겠습니다. =============================================== 1. 스크립트 객체설정 차트객체(Char1) 계좌객체(Account1) 종목객체(MarketData1) --> 미니선물로 지정 function Main_OnStart() { Main.MessageList("시작"); T = 0; } function Chart1_OnRiseSignal(Signal) { if (Signal.signalKind == 1) { T = 1; Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0); } if (T == 1 && Signal.signalKind == 2) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0); } if (Signal.signalKind == 3) { T = -1; Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0); } if (T == -1 && Signal.signalKind == 4) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0); } }