Каждый экземпляр класса робота одновременно может вести несколько позиций, фактически это число ничем не ограниченно, все упирается в производительность железа и размер средств на счете. В таких случаях роботу бывает необходимо разделять позиции по каким-либо критериям, например, по причинам открытия и/или закрытия позиции. Для этих целей в классе Position имеется два открытых поля:
public string SignalTypeOpen
public string SignalTypeClose
Оба они могут содержать произвольное строковое значение, передаваемое через торговые методы.
Как правило сигналы используются для анализа позиций и удобства восприятия информации, но также при их помощи можно строить сложные торговые системы, основанные на ветвлении логики в зависимости от сигнала, приведшего к открытию и закрытию позиции.
Пример стратегии с применением сигналов:
В зависимости от выполненных условий, в торговые методы передаются соответствующие сигналы.
Обратившись к соответствующим полям на экземпляре позиции, можем получить нужное значение.
Комментарии