devruss
|
Дата: 17.07.2014
Михаил Сухов devruss 2. this.CreateOrder(Sides.Sell,(decimal)(candle.ClosePrice - 50), tradeVolume); this.CreateOrder(Sides.Buy,(decimal)(candle.ClosePrice + 50), tradeVolume);
Тоесть заявки вне рынка? Скорее всего тут рассинхронизация в отрисовке. Тоесть заявка исполняется по цене, когда рынок дойдет и рисуется с запозданием. Выведи в лог в обработчике NewMyTrades: время сделки, текущее время, цену сделки и цены в стакане (или последнюю тиковую сделку). - Естественно, лимитные заявки с далеким лимитом, эмулирующие заявки "по-рынку", будут вне рынка. - Рассинхрона в отрисовке нет, я проверял. Там иногда по ТАКИМ ценам проходит, каких не было и не будет - Пруф в виде лога сделаю чуть позже Как ни странно, но уже на 10 мин свечках все ок, таких диких выбросов нет
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 18.07.2014
devruss - Естественно, лимитные заявки с далеким лимитом, эмулирующие заявки "по-рынку", будут вне рынка.
Я не знаю что у тебя за рынок, но на известных мне биржах логика устроена не так. Если ты хотел сделать маркет-заявки, то сделал ты их неправильно. devruss - Рассинхрона в отрисовке нет, я проверял. Там иногда по ТАКИМ ценам проходит, каких не было и не будет
Нужен лог, чтобы дальше анализировать проблему. Нет лога - нет предмета для дискуссий.
|
|
Спасибо:
|
|
|
|
|
devruss
|
Дата: 18.07.2014
Михаил Сухов [quote=devruss;31250] Если ты хотел сделать маркет-заявки, то сделал ты их неправильно.
- Ок, расскажи мне тогда пожалуйста как правильно реализовывать заявки "по-рынку". - Вот лог. Но вначале картинка: http://gyazo.com/15e7d87fe5f1e5fb11e9a459345dff6b
В данном примере робот умудрился купить по цене, которой не было еще 17 минут (!!!) - робот успел уже закрыть позицию раньше, чем рынок дошел до той цены, где был execution 12/18/2013 13:50:13 TEST - 12/18/2013 13:50:13 Actual execution: 3466 last price: 3466.25 TEST - 12/18/2013 13:50:13 Actual execution: 3468 last price: 3466.25 TEST - 12/18/2013 13:50:14 Actual execution: 3466 last price: 3466.25 Заявка была одна - покупка 4 контрактов "по рынку" 18.12.2013 13:50:13 4 3516.25 Buy Limit Done 18.12.2013 13:50:14
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 18.07.2014
1. Код вывода в лог. 2. Почему только одна метка времени? 3. В лог добавь направление заявки.
|
|
Спасибо:
|
|
|
|
|
devruss
|
Дата: 18.07.2014
|
|
|
|
devruss Михаил Сухов [quote=devruss;31250] Если ты хотел сделать маркет-заявки, то сделал ты их неправильно.
- Ок, расскажи мне тогда пожалуйста как правильно реализовывать заявки "по-рынку". Код: Код
this.WhenNewMyTrades()
.Do(TradeHandler)
.Apply();
Код
private void TradeHandler(IEnumerable<MyTrade> trades)
{
Debug.WriteLine("TEST - {0} {1} Actual execution: {2} last price: {3} {4} ", trades.Last().Trade.Time, trades.Last().Order.Direction, trades.Last().Trade.Price, lastPrice, lastPriceTime);
}
Последняя цена и время запонимаются в обработчике индикаторов внутри стратегии. 12/18/2013 13:50:13 TEST - 12/18/2013 13:50:13 Buy Actual execution: 3466.25 last price: 3466.25 12/18/2013 13:50:13 TEST - 12/18/2013 13:50:13 Buy Actual execution: 3467.75 last price: 3466.25 12/18/2013 13:50:13 TEST - 12/18/2013 13:50:14 Buy Actual execution: 3466.00 last price: 3466.25 12/18/2013 13:50:13 Avg Entry price 3,467 on 4 volume TEST - 12/18/2013 13:50:43 Sell Actual execution: 3464.25 last price: 3465.75 12/18/2013 13:50:43 TEST - 12/18/2013 13:50:43 Sell Actual execution: 3464.00 last price: 3465.75 12/18/2013 13:50:43 TEST - 12/18/2013 13:50:43 Sell Actual execution: 3463.50 last price: 3465.75 12/18/2013 13:50:43
Avg Closing price 3,464 on -4 volume http://gyazo.com/42d05b7097693c9dfb61eac2f8a88fdf
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 18.07.2014
devruss Код
private void TradeHandler(IEnumerable<MyTrade> trades)
{
Debug.WriteLine("TEST - {0} {1} Actual execution: {2} last price: {3} {4} ", trades.Last().Trade.Time, trades.Last().Order.Direction, trades.Last().Trade.Price, lastPrice, lastPriceTime);
}
Код
private void TradeHandler(IEnumerable<MyTrade> trades)
{
Debug.WriteLine("TEST - {0} {1} Actual execution: {2} last price: {3} {4} ", trades.Last().Trade.Time, trades.Last().Order.Direction, trades.Last().Trade.Price, Security.LastTrade, CurrentTime);
}
|
|
Спасибо:
|
|
|
|
|
devruss
|
Дата: 18.07.2014
Все равно execution просто жуть, причеи стабильно хреново исполняет по ценам вне рынка... Код
TEST - 12/18/2013 13:50:13 Buy Actual execution: 3466.25 last price: 12/18/2013 13:50:13 0 3466.25 1 12/18/2013 03:50:13
TEST - 12/18/2013 13:50:13 Buy Actual execution: 3467.75 last price: 12/18/2013 13:50:13 0 3466.25 1 12/18/2013 03:50:13
TEST - 12/18/2013 13:50:14 Buy Actual execution: 3466.25 last price: 12/18/2013 13:50:13 0 3466.25 1 12/18/2013 03:50:14
TEST - 12/18/2013 13:50:43 Sell Actual execution: 3464.25 last price: 12/18/2013 13:50:43 0 3465.75 3 12/18/2013 03:50:43
TEST - 12/18/2013 13:50:43 Sell Actual execution: 3464.00 last price: 12/18/2013 13:50:43 0 3465.75 3 12/18/2013 03:50:43
TEST - 12/18/2013 13:50:43 Sell Actual execution: 3463.50 last price: 12/18/2013 13:50:43 0 3465.75 3 12/18/2013 03:50:43
5 бэктестов - цены не меняются. Но таких цен нет ни в прошлом, ни в будущем в пределах 30 минут...
|
|
Спасибо:
|
|
|
|
|
Mikhail Sukhov
|
Дата: 18.07.2014
Это при тестировании на свечках? Если включить тестирование на тиках?
|
|
Спасибо:
|
|
|
|
|
devruss
|
Дата: 18.07.2014
Михаил Сухов Это при тестировании на свечках? Если включить тестирование на тиках?
все тоже самое. вот еще пример (уже на тиках): Код
TEST - 12/19/2013 12:38:22 Sell Actual execution: 3493.00 last price: 12/19/2013 12:38:22 0 3493.50 1 12/19/2013 02:38:22
TEST - 12/19/2013 12:38:22 Sell Actual execution: 3492.50 last price: 12/19/2013 12:38:22 0 3493.50 1 12/19/2013 02:38:22
TEST - 12/19/2013 12:38:22 Sell Actual execution: 3492.25 last price: 12/19/2013 12:38:22 0 3493.50 1 12/19/2013 02:38:22
TEST - 12/19/2013 12:38:22 Sell Actual execution: 3492.00 last price: 12/19/2013 12:38:22 0 3493.50 1 12/19/2013 02:38:22
|
|
Спасибо:
|
|
|
|
|
devruss
|
Дата: 24.09.2014
Версия 4.2.25, все тот же адский расколбас с трейдами абсолютно вне рынка На этот раз ETF - XLF, из 1сек данных S# делает минутные свечки, объемы там огромные, так что с ликвидностью все ок. http://gyazo.com/75cc08306defa2d72e50516c97f68b3d
Сделки идут сильно мимо рынка
|
|
Спасибо:
|
|
|
|