검색해 보니 이미 질문과 답변이 있군요. 감사합니다.
----------------------------------------------------------------------------
안녕하세요? 다른 분에게 답변 주신 아래 내용에 추가로 문의 드립니다.
예스랭귀지 코드에서 조건이 만족하면 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);
}
}