Hi,
we have updated IB provider to allow setup custom fields of AlgoStrategy. Release 1.0.7160.
Old code obsolete, because IB constantly changing their API for algos.
Reference API:
https://interactivebrokers.github.io/tws-api/ibalgos.htmlExample usage in strategy:
Code:
using System;
using System.Collections.Generic;
using SmartQuant.IB.Messages;
using SmartQuant;
namespace OpenQuant
{
//see IB docs for details:
//https://interactivebrokers.github.io/tws-api/ibalgos.html
public class IBAlgos : InstrumentStrategy
{
Order order_vwap;
Order order_adaptive;
public IBAlgos(Framework framework, string name)
: base(framework, name)
{
}
protected override void OnBar(Instrument instrument, Bar bar)
{
//
if (order_adaptive == null)
{
order_adaptive = BuyOrder(instrument, 400, "IB-Adaptive");
List<TagValue> values = new List<TagValue>();
order_adaptive[SmartQuant.EFIXField.IBalgoStrategy] = "Adaptive";
order_adaptive[SmartQuant.EFIXField.IBalgoParams] = values;
values.Add(new TagValue() { Tag = "adaptivePriority", Value = "Normal" });
Send(order_adaptive);
return;
}
//
if (order_vwap == null)
{
order_vwap = BuyOrder(instrument, 400, "IB-Vwap");
List<TagValue> values = new List<TagValue>();
order_vwap[SmartQuant.EFIXField.IBalgoStrategy] = "Vwap";
order_vwap[SmartQuant.EFIXField.IBalgoParams] = values;
values.Add(new TagValue() { Tag = "maxPctVol", Value = "0.1" });
values.Add(new TagValue() { Tag = "startTime", Value = "09:00:00 CET" });
values.Add(new TagValue() { Tag = "endTime", Value = "16:00:00 CET" });
values.Add(new TagValue() { Tag = "allowPastEndTime", Value = "1" });
values.Add(new TagValue() { Tag = "noTakeLiq", Value = "1" });
values.Add(new TagValue() { Tag = "speedUp", Value = "1" });
values.Add(new TagValue() { Tag = "monetaryValue", Value = "100000" });
Send(order_vwap);
return;
}
}
}
}
As you can see, there are two required fields in algo order:
Code:
SmartQuant.EFIXField.IBalgoStrategy
SmartQuant.EFIXField.IBalgoParams
TagValue is placed in SmartQuant.IB.dll, therefore it requires a direct reference in strategy project:
Attachment:
ibalgo.png [ 9.51 KiB | Viewed 7151 times ]