답변완료
수식 문의 합니다.
차트객체 ---> 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
1989
글번호 223638
답변완료
일괄 자동정정 기능에 관한 로직이 맞는지 검증요청
아래와 같이 5초후 미체결내역에 대한 일괄자동정정을 하려고 하는데
OnTimer 이벤트 로직검증 요청드립니다.
전화부탁드려요.
원하는 것은
스팟에서 현재가로 진입한 옵션주문들이
미체결발생시 5초이후에 특정가격으로 강제로 주문을 내려고 합니다.
이때 신규 미체결이 발생할때는 신규발생시점부터 5초간 더 유지하도록 하려고합니다.
이후 5초가 지나면 모든 미체결을 일괄적으로 체결시키려고 합니다.
이경우 아래 로직이면 될지 아니면 수정이 필요하면
전화부탁드려요.
OnTimer부분과 변수 선언부분은 생략했습니다.
//---- 미체결 정정주문 시작
Ufcnt = ACC6268.GetTheNumberOfUnfills();
if (Ufcnt > 0){ UfTime = UfTime + 1; }
if (Ufcnt != OldUfcnt) {UfTime = 0;}
if (UfTime > 4) //미체결 발생후 5초경과시 자동청산
{
var Num = ACC6268.GetTheNumberOfUnfills();
for(var i = 0; i < Num; i++)
{
//---- 미체결 전체 시장가 정정
ACC6268.SetUnfillIndex(i);
if (ACC6268.Unfill.orderKind == 1) //매도(1)포지션이면
{
ACC6268.OrderReplace(ACC6268.Unfill.orderNum, ACC6268.Unfill.count,0.01);
}
if (ACC6268.Unfill.orderKind == 2) //매수(2)포지션이면
{
ACC6268.OrderReplace(ACC6268.Unfill.orderNum, ACC6268.Unfill.count,6.00);
}
}
UfTime = 0;
}
OldUfcnt = Ufcnt;
//------- 미체결 로직종료
2015-08-17
1902
글번호 223626