답변완료
스팟으로 집입횟수 제한
안녕하세요~ 언제나 한결같은 답변 감사드립니다.
예스랭귀지가 아닌 스팟으로 진입횟수를 제한하고 싶습니다.
게시물 살펴보니 "GetUserValue"를 사용해서 제한한다고 나와있던데
아래 샘플 스팟수식은 선물신호발생시 미니선물 거래하는 예제입니다.
당일 스팟 진입청산을 3회로 제한하고 싶습니다. 부탁드립니다.
=================================================================
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);
}
}
=======================================================================
답변 부탁드립니다. ~
2015-09-06
2090
글번호 223647
답변완료
잔고 청산
다음과 같이 선물과 옵션에 대한 잔고청산 로직에 문제점이 있는지요?
if ( lUpd*teID == 20001 && SellCond == 6
&& sItemCode == M1.code && M1.current >= BP )
{
A1.SetBalanceItem(Putcode,0);
if (A1.Balance.count > 0 && A1.Balance.position == 2 )
{
SellCond = 0;
Main.MessageList("SellCond:" ,SellCond);
A1.OrderSell(Putcode, A1.Balance.count, 0, 1);
}
}
if ( lUpd*teID == 20001 && SellCond == 6
&& sItemCode == M1.code && M1.current >= BP )
{
A1.SetBalanceItem(Main.GetOrderCode(M1.code),0);
if (A1.Balance.position == 1 )
{
SellCond = 0;
Main.MessageList("SellCond:" ,SellCond);
A1.OrderBuy(Main.GetOrderCode(M1.code), A1.Balance.count, M1.Ask(5), 0);
}
}
2015-09-04
2092
글번호 223646
답변완료
추가 수식문의드립니다.
아래 당일 고가 답변 감사드립니다.
조금 추가해서 질문드리자면
"현재가가 당일고가를 돌파하면 매수하라"는 식도 아래와 같이 동일하게 사용하면 되는지요?
감사합니다.
function Chart1_OnRiseSignal(Signal)
{
//차트에서 매수신호 발생하고 현재가가 당일최고가이면
if (Signal.signalKind == 1 && MarketData1.current == MarketData1.high )
{
//매도5호가로 1계약 매수
Account1.OrderBuy(Main.GetOrderCode(Signal.Code),1,MarketData1.Ask(5),0);
}
//차트에서 매도신호 발생하고 현재가가 당일최저가이면
if (Signal.signalKind == 1 && MarketData1.current == MarketData1.low )
{
//매수5호가로 1계약 매도
Account1.OrderSell(Main.GetOrderCode(Signal.Code),2,MarketData1.Bid(5),0);
}
}
2015-09-02
1991
글번호 223644
답변완료
수식 문의 합니다.
차트객체 ---> FX
종목객체 ---> MarketDataFX ( 마이크로 FX 최근월물 )
Vol --------> 거래량(변수)
function Main_OnStart()
{
Main.MessageList("Start")
Start = 0;
}
function FX_OnRiseSignal(Signal)
{
if (Signal.signalKind == 1)
{
Start = 1;
Account1.OrderBuy( Main.MarketDataFX , Vol , GetAsk(MarketDataFX,2), 0);
}
if (Start == 1 && Signal.signalKind == 2)
{
Account1.OrderSell( Main.MarketDataFX , Vol, GetBid(MarketDataFX,2), 0);
}
if (Signal.signalKind == 3)
{
Start = -1;
Account1.OrderSell( Main.MarketDataFX , Vol, GetBid(MarketDataFX,2), 0);
}
if (Start == -1 && Signal.signalKind == 4)
{
Account1.OrderBuy( Main.MarketDataFX , Vol, GetAsk(MarketDataFX,2), 0);
}
}
//----------------------------------------------------------------------------------
이렇게 FX차트에서 신호가 나오면 마이크로 FX 주문을 넣도록 하려고 했습니다.
그런데
실행하면 종목코드 확인하라는 스크립트 메시지가 나옵니다.
뭐가 잘못되었나요 ?
2015-08-26
2001
글번호 223638