Criar nova stop order
Para criar uma nova stop order, é necessário criar um objeto Order que contenha informação sobre a ordem e registá-lo na bolsa.
Ao contrário de uma ordem normal, numa stop order é necessário especificar a propriedade Order.Type como OrderTypes.Conditional e definir a propriedade Order.Condition com as condições de ordem necessárias.
Depois, se precisar de trabalhar com a ordem (por exemplo, cancelá-la ou alterá-la), este objeto Order deve ser usado. Para registar ordens na bolsa, é fornecido o método Connector.RegisterOrder(StockSharp.BusinessEntities.Order order ), que envia uma ordem para o servidor.
Connector Connector = new Connector();
...
private void StopOrder_Click(object sender, RoutedEventArgs e)
{
var order = new Order
{
Security = SecurityEditor.SelectedSecurity,
Portfolio = PortfolioEditor.SelectedPortfolio,
Price = decimal.Parse(TextBoxPrice.Text),
Volume = decimal.Parse(TextBoxVolumePrice.Text),
Direction = Sides.Buy,
Type = OrderTypes.Conditional,
Condition = new FixOrderCondition()
{
Type = FixOrderConditionTypes.StopLimit,
StopLimitPrice = decimal.Parse(TextBoxStopLimitPrice.Text),
}
};
Connector.RegisterOrder(order);
}
...
Cada ligação tem a sua própria implementação da classe OrderCondition, uma vez que cada ligação tem as suas próprias funcionalidades específicas. Por exemplo, para Kucoin, é KucoinOrderCondition, etc.