When I call GetAtmStrategyStopTargetOrderStatus, I get the following error.
'GetAtmStrategyStopTargetOrderStatus' method error: Order name 'Target1' is invalid
GetAtmStrategyStopTargetOrderStatus' method error: Order name 'Stop1' is invalid
protected override void OnBarUpdate()
{
if(!PerformTakePosition())
{
if (!isAtmStrategyCreated)
return;
if (orderId.Length > 0)
{
string[] status = GetAtmStrategyEntryOrderStatus(orderId);
if (status.GetLength(0) > 0)
{
if (status[2] == "Filled" || status[2] == "Cancelled" || status[2] == "Rejected")
{
orderId = string.Empty;
}
PrintTargetOrderStatus();
PrintStopOrderStatus();
}
}
else if (atmStrategyId.Length > 0 && GetAtmStrategyMarketPosition(atmStrategyId) == Cbi.MarketPosition.Flat)
atmStrategyId = string.Empty;
}
}
void PrintTargetOrderStatus()
{
if (string.IsNullOrEmpty(atmStrategyId) || string.IsNullOrEmpty(orderId))
return;
Print("-----------Target status------------");
string[,] orders = GetAtmStrategyStopTargetOrderStatus("Target1", atmStrategyId);
for (int i = 0; i < orders.GetLength(0); i++)
{
Print("Average fill price is " + orders[i, 0].ToString());
Print("Filled amount is " + orders[i, 1].ToString());
Print("Current state is " + orders[i, 2].ToString());
}
}
void PrintStopOrderStatus()
{
if (string.IsNullOrEmpty(atmStrategyId) || string.IsNullOrEmpty(orderId))
return;
Print("-----------Stop status------------");
string[,] orders = GetAtmStrategyStopTargetOrderStatus("Stop1", atmStrategyId);
if (orders.Length > 0)
{
for (int i = 0; i < orders.GetLength(0); i++)
{
Print("Average fill price is " + orders[i, 0].ToString());
Print("Filled amount is " + orders[i, 1].ToString());
Print("Current state is " + orders[i, 2].ToString());
}
}
}
Comment