StoplossStrategy~/topic/4373/stoplossstrategy/Copyright @ StockSharp Platform LLC 2010 - 20242024-03-29T05:46:13Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/posts/m/29755/ Интересно почему этого нет в документации. Потому что для этого у нас сделано обучение. Документаци...2014-02-22T12:10:41Z2014-02-22T12:10:41ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ru<div class="quote"><span class="quotetitle">kesot <a href="https://stocksharp.ru/posts/m/29754/"><img src="https://stocksharp.ru/images/icon_latest_reply.gif" title="Перейти" alt="Перейти" /></a></span><div class="innerquote"><br />Интересно почему этого нет в документации.</div></div><br /><br />Потому что для этого у нас сделано обучение. Документация вообще мало что содержит. Скорее это Quick Start а не документация.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/29754/Как оказалось для стратегии stoploss в определении цены используются не трейды, а стакан. Поэтому пр...2014-02-22T12:08:42Z2014-02-22T12:08:42Zkesothttps://stocksharp.ru/users/50459/info@stocksharp.ruКак оказалось для стратегии stoploss в определении цены используются не трейды, а стакан.<br />Поэтому при тестировании на данных без данных о стакане необходимо использовать стаканогенератор.<br /><br />Интересно почему этого нет в документации.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.ru/posts/m/29715/При старте стратегии добавляю правило обработки всех моих новых сделок. protected override void OnSt...2014-02-20T19:01:58Z2014-02-21T06:46:59Zkesothttps://stocksharp.ru/users/50459/info@stocksharp.ruПри старте стратегии добавляю правило обработки всех моих новых сделок.<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
protected override void OnStarted()
{
_series.WhenCandlesFinished()
.Do(ProcessFinCandle)
.Apply(this);
this.WhenNewMyTrades().Do(OnNewOrderTrades).Apply(this);
// запоминаем текущее положение относительно друг друга
// _isShortLessThenLong = true;// ShortSma.GetCurrentValue() < LongSma.GetCurrentValue();
base.OnStarted();
}
</pre>
</div></div><br /><br />На каждую сделку создаю стоплосс<br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
private void OnNewOrderTrades(IEnumerable<MyTrade> myTrades)
{
var protectiveStrategies = trades.Select(t =>
{
// выставляет стоп-лосс в deflevel пунктов
var stopLoss = new StopLossStrategy(t, deflevel);
stopLoss.IsTrailing = true;
return stopLoss;
});
//ChildStrategies.AddRange(protectiveStrategies);
foreach (var st in protectiveStrategies)
ChildStrategies.Add(st);
}
</pre>
</div></div><br /><br />Кстати, вместо фора в примере из документации был метод AddRange, которого нет у ChildStrategies. Это нормально?<br /><br /><br />Лог файл:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:plain">
0001/01/01 00:00:00.000| |HistoryEmulationConnector|Connect
0001/01/01 00:00:00.000| |HistoryEmulationConnector|StartExport
2013/11/11 00:00:00.000| |HistoryEmulationConnector|Изменение состояния эмуляции Stopped -> Starting
2013/11/11 00:00:00.000| |HistoryEmulationConnector|Создан новый портфель test account.
2013/11/11 00:00:00.000| |HistoryEmulationConnector|Изменение состояния эмуляции Starting -> Started
2013/11/11 00:00:00.000| |RS_RIZ3@FORTS_test account|Стратегия запущена. [0,-1]. Позиция при старте 0.
2013/11/11 00:00:00.000| |HistoryEmulationConnector|Инструмент RIZ3@FORTS зарегистрирован на получение рыночных данных для Trades.
2014/02/20 22:46:36.015| |HistoryMessageAdapter|Loading 11.11.2013 0:00:00 Events: 0
2014/02/20 22:47:01.204| |HistoryMessageAdapter|Loading 12.11.2013 0:00:00 Events: 216755
2013/11/12 17:00:00.000| |RS_RIZ3@FORTS_test account|Регистрация новой Limit (0x2EF88D4) заявки на Buy с ценой 199682.000000000 и объемом 1.
2013/11/12 17:00:00.000| |HistoryEmulationConnector|RegisterOrder: 0/0 Покупка Цена=199682.000000000 Объем=1 Сост=None Бал=0
2013/11/12 17:00:00.000| |HistoryEmulationConnector|New order: 81994450/0 Покупка Цена=199682.000000000 Объем=1 Сост=Pending Бал=1
2014/02/20 22:47:20.756| |#=q2fRM7GzyJ0kaPhi$YJWwNpgrAk0q2mq7ulLgxePcsZw=|Заявка 81994450 зарегистрирована.
2013/11/12 17:00:00.000| |HistoryEmulationConnector|Order changed: 81994450/1 Покупка Цена=199682.000000000 Объем=1 Сост=Active Бал=1
2014/02/20 22:47:20.890| |#=q2fRM7GzyJ0kaPhi$YJWwNpgrAk0q2mq7ulLgxePcsZw=|Заявка 81994450. Исполнение объема 1 по цене 143520.000000000.
2014/02/20 22:47:20.890| |#=q2fRM7GzyJ0kaPhi$YJWwNpgrAk0q2mq7ulLgxePcsZw=|Заявка 81994450 полностью исполнена.
2014/02/20 22:47:20.893| |#=q2fRM7GzyJ0kaPhi$YJWwNpgrAk0q2mq7ulLgxePcsZw=|Сделка 1 заявки 81994450 P=81994450 V=143520.000000000.
2013/11/12 17:00:01.000| |HistoryEmulationConnector|Order changed: 81994450/1 Покупка Цена=199682.000000000 Объем=1 Сост=Done Бал=0
2013/11/12 17:00:01.000| |RS_RIZ3@FORTS_test account|Новая позиция: test account-RIZ3@FORTS=1.
2013/11/12 17:00:01.000| |RS_RIZ3@FORTS_test account|Заявка 81994450 больше не активна.
2013/11/12 17:00:01.000| |SLS_RIZ3@FORTS_test account|Стратегия запущена. [0,1]. Позиция при старте 0.
2013/11/12 17:00:01.000| |SLS_RIZ3@FORTS_test account|Защита сделки 1 заявки 81994450.
2013/11/12 17:00:01.000| |SLS_RIZ3@FORTS_test account|Котирование на Sell объема 1.
2013/11/12 17:00:01.000| |SLS_RIZ3@FORTS_test account|Приостановка правил. _rulesSuspendCount 1.
2013/11/12 17:00:01.000| |SLS_RIZ3@FORTS_test account|Возобновление правил. _rulesSuspendCount 0.
2013/11/12 17:00:01.000| |RS_RIZ3@FORTS_test account|Новая Buy сделка 1 по цене 143520.000000000 на 1 заявки 81994450.</pre>
</div></div>Copyright @ StockSharp Platform LLC 2010 - 2024