[quote=esper;28925][quote=Rebelion;28902]Да, вопрос, - а стоп-лоссы не пашут сейчас в эмуляции? Если да, кто кто могёт поделиться рецептом "реализации" оных косвенно (но не по факту построения свечи). Пасибки.[/quote]
Про какие стопы идет речь?[/quote]
[code=csharp]
private void OnNewOrderTrades(IEnumerable myTrades)
{
var protectiveStrategies = myTrades.Select(t =>
{
var newStrategyFromTrade = new StopLossStrategy(t, new Unit(TraderHelper.ShrinkPrice(t.Trade.Security, stopLossParameter * (decimal)currentParams.candleSize))) ;
return newStrategyFromTrade;
});
foreach(var s in protectiveStrategies)
ChildStrategies.Add(s);
base.OnNewMyTrades(myTrades);
}
[/code]
не вызывается в режиме эмуляции. Сама регистрация заявки и стопа на неё производится следующим образом:
[code=csharp]
var newOrderDirection = delayedVolume > 0 ? OrderDirections.Buy : OrderDirections.Sell;
var newOrderPrice = isNewEntranceSignalUp == true ? Security.LastTrade.Price + Security.MinStepSize * pricePieces : Security.LastTrade.Price - Security.MinStepSize * pricePieces;
var newPositionToOpen = this.CreateOrder(newOrderDirection, newOrderPrice, Math.Abs(delayedVolume));
newPositionToOpen.WhenMatched().Do(() => newPositionToOpen.WhenNewTrades().Do(OnNewOrderTrades).Apply(this)).Apply(this);
RegisterOrder(newPositionToOpen);
[/code]
Версия библиотеки S# в тестере - 4.1.19.1 (к сожалению, код, отрабатывающий на 4.1.19.1 в режиме эмуляции падает в бесконечный цикл перевыставления заявки в версиях 4.2.1.x, логи я прилагал выше, использовал свечи Renko и Range, разные конфигурации - тики, тики и стаканы, включал-выключал стаканогенератор - для 4.2.1.x итог один). В реальной торговле этот код пахал (стопы отрабатывали).
Просто вроде где-то на форуме краем глаза видел, что в 4.1.x.y стопы в эмуляшке не работают - решил уточнить на всякий случай.