OrderStates
Atom
6/17/2020


Добрый день.
Раньше для отслеживания не отправленных и ожидающих регистрацию ордеров, использовал:
var _orderPeningNone = this.Orders.FirstOrDefault(o => (o.State == OrderStates.Pending || o.State == OrderStates.None)).
Перешел на S#5 и Quik8, ордер остаётся в статусе Pending даже после того как он был зарегистрирован и появился в Квике как активный. Как правильно отслеживать статус ордеров?

Tags:


Thanks:


1 2  >
Support

Avatar
Date: 6/17/2020
Reply


Добрый день

Вы можете использовать наш пример SampleConnection где показана работа с заявками. Статусы заявок в примере обновляются. Обновляются ли они у вас? Если нет, пожалуйста, пришлите lua log.
Thanks:

Алексей

Avatar
Date: 6/17/2020
Reply


Еще бы понять как посмотреть этот пример?
Пытался скачать через nuget, ругается:
"Не удалось установить пакет «StockSharp.Samples 5.0.2». Вы пытаетесь установить этот пакет в проект, требуемая версия платформы которого — «.NETFramework,Version=v4.8», но в пакете нет ссылок на сборки или файлов содержимого, совместимых с этой платформой. Дополнительную информацию можно получить у автора пакета."
Скачал через github(разблокировал), вылезает куча ошибок и ругается, что не может что-то подкачать.

Высылаю лог моей стратегии, заявка выставляется, но при проверке статус не меняется (Pending), что делать?
StockSharp.QuikLua.log 120 KB (316)
Thanks:

Support

Avatar
Date: 6/18/2020
Reply


1) С данной страницы https://stocksharp.com/products/download/ скачивается архив с примерами.
2) Распаковка архива и запуск sln в VS 2019
Thanks:

Алексей

Avatar
Date: 6/18/2020
Reply


Support Go to
1) С данной страницы https://stocksharp.com/products/download/ скачивается архив с примерами.
2) Распаковка архива и запуск sln в VS 2019


Закачал, разблокировал, распаковал, запустил sln в VS 2019, результат:

Во время восстановления пакетов NuGet произошла ошибка: Пакет "StockSharp.Tradier.5.0.20" указан в веб-канале "nuget.org [https://api.nuget.org/v3/index.json]", но после нескольких попыток не удалось скачать файл NUPKG. Указан недопустимый веб-канал либо необходимые пакеты были удалены во время выполнения текущей операции. Убедитесь, что пакет существует в веб-канале и повторите попытку.
1>------ Сборка начата: проект: SampleConnection, Конфигурация: Debug Any CPU ------
1>C:\Program Files\dotnet\sdk\3.1.202\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): error NETSDK1004: файл ресурсов "D:\S#\API\Samples\Connectors\SampleConnection\obj\project.assets.json" не найден. Восстановите пакет NuGet, чтобы создать его.
1>Сборка проекта "SampleConnection.csproj" завершена с ошибкой.
1>C:\Program Files\dotnet\sdk\3.1.202\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(234,5): error NETSDK1004: файл ресурсов "D:\S#\API\Samples\Connectors\SampleConnection\obj\project.assets.json" не найден. Восстановите пакет NuGet, чтобы создать его.
1>Сборка проекта "SampleConnection.csproj" завершена с ошибкой.
========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Thanks:

Алексей

Avatar
Date: 6/18/2020
Reply


Support, у вас странная привычка вместо конкретного ответа вы в очередной раз посылаете меня самого искать ответ[angry]. Я должен с начало помучатся с запуском примеров, потом разобраться в коде и найти аналогичную ситуацию. Все это я могу сделать без платной тех. поддержке. Я задал вопрос на пару строк кода, мне нужны быстрые и четкие ответы. Как правильно отслеживать статус ордеров? Прошу ответить конкретно с примером кода.
Thanks:

Support

Avatar
Date: 6/18/2020
Reply


Code
connector.OrderChanged += order =>
{
switch (order.State)
{
case OrderStates.Active: // заявка активна
break;
case OrderStates.Done: // заявка снята (order.Balance > 0) или исполнена (order.Balance = 0)
break;
}
};
Thanks:

Алексей

Avatar
Date: 6/26/2020
Reply


День добрый.
Используя приведенный вами код не удалось отследить изменение статуса заявки т.к. событие OrderChanged не приходит, после отправки заявка остается в состоянии Pending (в Квике она активна).
Также выяснилось, что кроме OrderChanged не приходят события: OrderReceived, OrderRegistered, OrderLogItemReceived, WhenOrderChanged.
События SubscriptionStarted, OrderRegistering, OrderRegisterFailed, NewOrder работают нормально. В примерах выводится статус заявки только Pending и Failed, остальные статусы отследить невозможно.
Прошу тех.поддержку разобраться в ситуации, а пользователей поделиться методом отслеживания OrderStates.

(S# 5.0, Quik 8(Открытие), Windows 10 Pro, WS 2019, .NET 4.8 FW)
Thanks:

Support

Avatar
Date: 6/26/2020
Reply


Добрый день

Пожалуйста, проверьте поведение с помощью нашего примера SampleConnection. Шаги указаны здесь https://stocksharp.com/posts/m/50688/ Так же убедитесь NugetInstaller, что у вас установлена последняя версия коннектора QUIK.
Thanks:

Алексей

Avatar
Date: 7/2/2020
Reply


Support Go to
Добрый день

Пожалуйста, проверьте поведение с помощью нашего примера SampleConnection. Шаги указаны здесь https://stocksharp.com/posts/m/50688/ Так же убедитесь NugetInstaller, что у вас установлена последняя версия коннектора QUIK.


NugetInstaller установил последнюю версию. Проверил с помощью вашего примера, результат аналогичный, заявка в Квике выставляется, статус заявки в примере не меняется.
Thanks:

Support

Avatar
Date: 7/3/2020
Reply


Алексей Go to
Support Go to
Добрый день

Пожалуйста, проверьте поведение с помощью нашего примера SampleConnection. Шаги указаны здесь https://stocksharp.com/posts/m/50688/ Так же убедитесь NugetInstaller, что у вас установлена последняя версия коннектора QUIK.


NugetInstaller установил последнюю версию. Проверил с помощью вашего примера, результат аналогичный, заявка в Квике выставляется, статус заявки в примере не меняется.


Вышлите логи примера и Lua части.
Thanks:
1 2  >

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

loading
clippy