Неправильно срабатывает LastTradePriceLess
Atom Ответить
06.10.2011


Использую правило:
Код
this.When(Security.LastTradePriceLess(StopProtectiveDelta))
                   .Do(() => 
                       AddedStopOrder(OrderDirections.Sell))
                   .Once();

Но стоп не ждет, пока цена пройдет StopProtectiveDelta, а сразу же выставляет заявку (цену заявки указывает верно, с учетом стопа и проскальзывания).
Подскажите, в чем может быть проблема? Моя ошибка или ошибка в работе правила?

Теги:


Спасибо:




31 Ответов
1 2  >
Alexander

Фотография
Дата: 06.10.2011
Ответить


frontman Перейти
Использую правило:
Код
this.When(Security.LastTradePriceLess(StopProtectiveDelta))
                   .Do(() => 
                       AddedStopOrder(OrderDirections.Sell))
                   .Once();

Но стоп не ждет, пока цена пройдет StopProtectiveDelta, а сразу же выставляет заявку (цену заявки указывает верно, с учетом стопа и проскальзывания).
Подскажите, в чем может быть проблема? Моя ошибка или ошибка в работе правила?


1) Никакого отношения к Плазе данная тема не имеет
2) Читайте разницу в методах:
LastTradePriceLessAbsolute
LastTradePriceLess
Спасибо:

frontman

Фотография
Дата: 06.10.2011
Ответить


Именно. Пробовал и тот и другой метод.
LastTradePriceLess(StopProtectiveDelta) . StopProtectiveDelta - и есть величина сдвига!
Автор топика
Спасибо:

Alexander

Фотография
Дата: 06.10.2011
Ответить


frontman Перейти
Именно. Пробовал и тот и другой метод.
LastTradePriceLess(StopProtectiveDelta) . StopProtectiveDelta - и есть величина сдвига!


Пишите чему равна StopProtectiveDelta, чему равен LastTradePrice в момент начала экспорта.
Стакан экспортируется?
Спасибо:

frontman

Фотография
Дата: 06.10.2011
Ответить


Да. Экспортируется(Правда размерностью 5).
"...в момент начала экспорта." - это что значит? На момент начала работы стратегии в которой рег это правило или на момент вызова метода ITrader.StartExport()?
На момент срабатывания правила StopProtectiveDelta = 10, а LastTradePrice = 15108, а цена защищаемой сделки = 15109, т.е 10 пунктов явно не пройдено.
Автор топика
Спасибо:

Alexander

Фотография
Дата: 06.10.2011
Ответить


frontman Перейти
Да. Экспортируется(Правда размерностью 5).
"...в момент начала экспорта." - это что значит? На момент начала работы стратегии в которой рег это правило или на момент вызова метода ITrader.StartExport()?
На момент срабатывания правила StopProtectiveDelta = 10, а LastTradePrice = 15108, а цена защищаемой сделки = 15109, т.е 10 пунктов явно не пройдено.


При чём тут цена защищаемой сделки?
Чему равен LastTradePrice в момент установки правила?
Спасибо:

frontman

Фотография
Дата: 06.10.2011
Ответить


Данное правило устанавливается сразу после совершения сделки. Т.е LastTradePrice = цена защищаемой сделки = 15109
Автор топика
Спасибо:

Alexander

Фотография
Дата: 06.10.2011
Ответить


frontman Перейти
Данное правило устанавливается сразу после совершения сделки. Т.е LastTradePrice = цена защищаемой сделки = 15109


Не обязательно. Где вы устанавливаете это правило?
Время проходит и сделки от момента совершения сделки до того как вы понимаете что оно сработало.

Ещё раз, дубль 3, выведите LastTradePrice перед установкой правила. И в момент срабатывания правила.
Спасибо:

frontman

Фотография
Дата: 06.10.2011
Ответить


Я понял. Т.е цена берется с момента установки правила... Правда очень странно то что 10 пунктов проходит...
Но а как быть тогда с LastTradePriceLessAbsolute? Для нее я рассчитывал порог явно. А результат тот же...
Автор топика
Спасибо:

Alexander

Фотография
Дата: 06.10.2011
Ответить


frontman Перейти
Я понял. Т.е цена берется с момента установки правила... Правда очень странно то что 10 пунктов проходит...
Но а как быть тогда с LastTradePriceLessAbsolute? Для нее я рассчитывал порог явно. А результат тот же...


Дубль 4. Пишите LastTradePrice в момент установки правила, цену которую вы передаёте и цену в момент срабатывания.

Терпение у нас тоже не безгранично. Одни и те же ответы писать надоедает.
Спасибо:

frontman

Фотография
Дата: 06.10.2011
Ответить


15:53:57.372 | | Спред стратегия | Стратегия запущена.
15:53:58.622 | | Спред стратегия | Обработка Limit заявки 0 на Buy с номером 5338088677.
15:53:59.825 | | Спред стратегия | Обработка Limit заявки 57134139 на Buy с номером 5338089549.
15:53:59.825 | | Спред стратегия | Обработка Limit заявки 0 на Buy с номером 5338089565.
15:53:59.825 | | Спред стратегия | Обработка Limit заявки 57134140 на Sell с номером 5338089587.
15:53:59.919 | | Спред стратегия | Отменяю текущий спред
15:54:00.028 | | Спред стратегия | Отменяю текущий спред
15:54:00.044 | | Спред стратегия | Позиция выводимая при срабатывании PositionChanged: -1
15:54:00.060 | | Спред стратегия | Новая Sell сделка 417650984 на 1 заявки 57134140.
15:54:00.091 | | Спред стратегия | Позиция расчитываемая мною: -1
15:54:00.091 | | Спред стратегия | Позиция расчитываемая PositionManager: -1
15:54:00.107 | | PS | Стратегия запущена.
15:54:00.107 | | PS | Порог цены: 15188,00000
15:54:00.107 | | PS | Цена на момент создания правила: 15178,00000
15:54:00.357 | | PS | Цена на момент срабатывания правила: 15175,00000

15:54:00.685 | | Спред стратегия | Обработка Limit заявки 57134145 на Buy с номером 5338090224.
15:54:00.685 | | PS | Обработка Limit заявки 57134145 на Buy с номером 5338090224.
15:54:00.700 | | PS | Стратегия останавливается.
15:54:00.700 | | PS | Стратегия остановлена.
15:54:00.716 | | Спред стратегия | Новая Buy сделка 417651006 на 1 заявки 57134145.
15:54:00.716 | | Спред стратегия | Позиция расчитываемая мною: 0
15:54:00.716 | | Спред стратегия | Позиция расчитываемая PositionManager: -1
15:54:00.903 | | Спред стратегия | Обработка Limit заявки 57134146 на Buy с номером 5338090351.
15:54:00.903 | | Спред стратегия | Обработка Limit заявки 57134147 на Sell с номером 5338090377.
15:54:01.122 | | Спред стратегия | Отменяю текущий спред
15:54:01.247 | | Спред стратегия | Отменяю текущий спред
15:54:01.341 | | Спред стратегия | Отменяю текущий спред
15:54:01.450 | | Спред стратегия | Отменяю текущий спред
15:54:02.122 | | Спред стратегия | Обработка Limit заявки 0 на Buy с номером 5338091236.
15:54:02.778 | | Спред стратегия | Обработка Limit заявки 0 на Buy с номером 5338091770.
15:54:05.825 | | Спред стратегия | Обработка Limit заявки 57134156 на Buy с номером 5338093840.
15:54:05.825 | | Спред стратегия | Обработка Limit заявки 0 на Buy с номером 5338093863.
15:54:05.935 | | Спред стратегия | Обработка Limit заявки 57134157 на Sell с номером 5338093898.
15:54:06.153 | | Спред стратегия | Отменяю текущий спред
15:54:06.153 | | Спред стратегия | Позиция выводимая при срабатывании PositionChanged: -2
15:54:06.153 | | Спред стратегия | Новая Sell сделка 417651364 на 1 заявки 57134157.
15:54:06.153 | | Спред стратегия | Позиция расчитываемая мною: -1
15:54:06.153 | | Спред стратегия | Позиция расчитываемая PositionManager: -2
15:54:06.153 | | PS | Стратегия запущена.
15:54:06.153 | | PS | Порог цены: 15171,00000
15:54:06.153 | | PS | Цена на момент создания правила: 15161,00000
15:54:06.153 | | PS | Цена на момент срабатывания правила: 15161,00000

15:54:06.591 | | Спред стратегия | Обработка Limit заявки 57134159 на Buy с номером 5338094388.
15:54:06.591 | | PS | Обработка Limit заявки 57134159 на Buy с номером 5338094388.
15:54:06.591 | | PS | Стратегия останавливается.
15:54:06.591 | | PS | Стратегия остановлена.
15:54:06.591 | | Спред стратегия | Новая Buy сделка 417651392 на 1 заявки 57134159.
15:54:06.591 | | Спред стратегия | Позиция расчитываемая мною: 0
15:54:06.591 | | Спред стратегия | Позиция расчитываемая PositionManager: -2
15:54:07.716 | | Спред стратегия | Стратегия останавливается.
15:54:07.716 | | Спред стратегия | Стратегия остановлена.
Автор топика
Спасибо:

frontman

Фотография
Дата: 06.10.2011
Ответить


Используется LastTradePriceLessAbsolute и LastTradePriceMoreAbsolute
Автор топика
Спасибо:

Alexander

Фотография
Дата: 06.10.2011
Ответить


frontman Перейти
Используется LastTradePriceLessAbsolute и LastTradePriceMoreAbsolute


Покажите создание и вывод.
Где что выводится? вывод одинаков что для LastTradePriceMoreAbsolute, что для LastTradePriceLessAbsolute
Спасибо:

frontman

Фотография
Дата: 06.10.2011
Ответить


Код
this.AddInfoLog("Порог цены: {0}", stopPrice);
            if (Trade.Order.Direction == OrderDirections.Buy)
            {
                this.AddInfoLog("Цена на момент создания правила: {0}", Security.LastTrade.Price);
                this.When(Security.LastTradePriceLessAbsolute(stopPrice))
                    .Do(() =>
                            {
                                this.AddInfoLog("Цена на момент срабатывания правила: {0}", Security.LastTrade.Price);
                                AddedStopOrder(OrderDirections.Sell);
                            })
                    .Once();
            }
            else
            {
                this.AddInfoLog("Цена на момент создания правила: {0}", Security.LastTrade.Price);
                this.When(Security.LastTradePriceMoreAbsolute(stopPrice))
                    .Do(() =>
                            {
                                this.AddInfoLog("Цена на момент срабатывания правила: {0}", Security.LastTrade.Price);
                                AddedStopOrder(OrderDirections.Buy);
                            })
                    .Once();
            }
Автор топика
Спасибо:

Alexander

Фотография
Дата: 06.10.2011
Ответить


Сделайте разную печать. Такое впечатление что срабатывает оба раза LastTradePriceLessAbsolute.
И срабатывает понятное дело правильно.
Спасибо:

frontman

Фотография
Дата: 06.10.2011
Ответить



16:21:03.294 | | PS | Порог цены: 15158,00000
16:21:03.294 | | PS | Цена на момент создания правила LastTradePriceMoreAbsolute: 15148,00000
16:21:03.310 | | PS | Цена на момент срабатывания правила LastTradePriceMoreAbsolute: 15149,00000



16:21:13.778 | | PS | Стратегия запущена.
16:21:13.778 | | PS | Порог цены: 15165,00000
16:21:13.778 | | PS | Цена на момент создания правила LastTradePriceMoreAbsolute: 15155,00000
16:21:13.778 | | PS | Цена на момент срабатывания правила LastTradePriceMoreAbsolute: 15158,00000


16:21:14.669 | | PS | Порог цены: 15145,00000
16:21:14.669 | | PS | Цена на момент создания правила LastTradePriceLessAbsolute: 15155,00000
16:21:14.669 | | PS | Цена на момент срабатывания правила LastTradePriceLessAbsolute: 15154,00000
Автор топика
Спасибо:

frontman

Фотография
Дата: 06.10.2011
Ответить


Код
this.AddInfoLog("Порог цены: {0}", stopPrice);
            if (Trade.Order.Direction == OrderDirections.Buy)
            {
                this.AddInfoLog("Цена на момент создания правила LastTradePriceLessAbsolute: {0}", Security.LastTrade.Price);
                this.When(Security.LastTradePriceLessAbsolute(stopPrice))
                    .Do(() =>
                            {
                                this.AddInfoLog("Цена на момент срабатывания правила LastTradePriceLessAbsolute: {0}", Security.LastTrade.Price);
                                AddedStopOrder(OrderDirections.Sell);
                            })
                    .Once();
            }
            else
            {
                this.AddInfoLog("Цена на момент создания правила LastTradePriceMoreAbsolute: {0}", Security.LastTrade.Price);
                this.When(Security.LastTradePriceMoreAbsolute(stopPrice))
                    .Do(() =>
                            {
                                this.AddInfoLog("Цена на момент срабатывания правила LastTradePriceMoreAbsolute: {0}", Security.LastTrade.Price);
                                AddedStopOrder(OrderDirections.Buy);
                            })
                    .Once();
            }
Автор топика
Спасибо:

Alexander

Фотография
Дата: 06.10.2011
Ответить


Вроде исправил. в 4.0.2 будет.
Спасибо:

frontman

Фотография
Дата: 07.10.2011
Ответить


Благодарю. А не могли бы вы хотя бы примерно расписать причины?
Ну так для расширения так сказать кругозора)
Автор топика
Спасибо:

Alexander

Фотография
Дата: 07.10.2011
Ответить


frontman Перейти
Благодарю. А не могли бы вы хотя бы примерно расписать причины?
Ну так для расширения так сказать кругозора)


Какой ответ ожидаете? :)
Ошибка при разработке логического характера.
Спасибо:

frontman

Фотография
Дата: 07.10.2011
Ответить


) Ну понял) В принципе согласен с вами не видя исходников врятли я что то пойму)
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 07.10.2011
Ответить


frontman Перейти
) Ну понял) В принципе согласен с вами не видя исходников врятли я что то пойму)


Исходники Плазы видны, а вы до сих пор ни одного коммита не сделали.Laugh

Вы нам тучу вопросы, а мы вам ответы. Но ответы, как и деньги, имеют свойство быстро заканчиваться, если не принимать никаких телодвижение со своей стороны.
Спасибо:

frontman

Фотография
Дата: 07.10.2011
Ответить


А разве LastTradePriceLess и другие стандартные правила не лежат в StockSharp.Algo - закрытой для простых смертных части StokSharpa?!
Я прост исходников Algo не видел ни разу. Давно бы уже сам залез и посмотрел да и подправил...
Автор топика
Спасибо:

Alexander

Фотография
Дата: 07.10.2011
Ответить


frontman Перейти
А разве LastTradePriceLess и другие стандартные правила не лежат в StockSharp.Algo - закрытой для простых смертных части StokSharpa?!
Я прост исходников Algo не видел ни разу. Давно бы уже сам залез и посмотрел да и подправил...



О скольких проблемах и недостатках в плазе вы отписывались?
Сколько было фиксов?

Вот с Algo было бы тоже самое.

Есть желание доказать что нет?
Есть желание сделать так, чтоб в будущем мы давали исходники вам для исправления?
Велкам к фиксингу багов в плазе! ThumpUp
Спасибо:

frontman

Фотография
Дата: 07.10.2011
Ответить


BigGrin Это типо я как Фауст а вы как дьволBigGrin
Не я не против. Просто с такими несложными вещами как правила я б еще разобрался, а вот с плазой...
Ну правда я не насток опытен)
Но все равно спасибо) Я буду оч хорошим правдBigGrin
Автор топика
Спасибо:

frontman

Фотография
Дата: 07.10.2011
Ответить


Щас вот основные загвоздки(лично у меня с работой правил и стандартных стратегий). А их я как раз пофиксить не могу...
Автор топика
Спасибо:
1 2  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy