StopLossTakeProfitStrategy for Binance


StopLossTakeProfitStrategy for Binance
Atom
1/21/2022


Dear developers,

I have a problem when I try to use StopLossTakeProfitStrategy. I'm using HistoryEmulationConnector with my Binance downloaded History Candles.

The code is as per below:

Configurations for Security, Portfolio and Connector is as per below:
Code

_security = new Security
{
Id = "BTCUSDT_PERPETUAL@BNB",
Code = "BTCUSDT",
PriceStep = 0.01m,
Board = ExchangeBoard.Binance,
VolumeStep = 0.01M
};

//.................initialize portfolio...................
_portfolio = new Portfolio { Name = "test account", BeginValue = 1000 };
var storageRegistry = new StorageRegistry
{
DefaultDrive = new LocalMarketDataDrive(_pathHistory),
};

//.................initialize connector...................
_connector = new HistoryEmulationConnector(new[] { _security }, new[] { _portfolio })
{
HistoryMessageAdapter =
{
StorageRegistry = storageRegistry,
StorageFormat = StorageFormats.Binary,
StartDate = DatePickerBegin.SelectedDate.Value.ChangeKind(DateTimeKind.Utc),
StopDate = DatePickerEnd.SelectedDate.Value.ChangeKind(DateTimeKind.Utc),
},
LogLevel = LogLevels.Info,
};



The code with which I try to Buy and Set SL and TP is as per below:
Code

var order = this.BuyAtMarket(0.01M);
order.WhenNewTrade(Connector).Do(NewOrderTrade).Until(() => order.State == OrderStates.Done).Apply(this);
ChildStrategies.ToList().ForEach(child => child.Stop());
RegisterOrder(order);




And here is the method in which I specified StopLoss and TakeProfit:
Code

private void NewOrderTrade(StockSharp.BusinessEntities.MyTrade mytrade)
{
var takeProfit = new TakeProfitStrategy(mytrade, 20)
{
WaitAllTrades = true,
};
var stopLoss = new StopLossStrategy(mytrade, 20)
{
WaitAllTrades = true,
};

var protectiveStrategies = new TakeProfitStopLossStrategy(takeProfit, stopLoss)
{
WaitAllTrades = true,
};
ChildStrategies.Add(protectiveStrategies);
}



The problem is when I start the strategy there are buy and sell orders but non of StopLoss or TakeProfit executes.

And for more information, I attached the Log info after execution.





Thanks:




Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy