SmartQuant Discussion
http://www.smartquant.com/forums/

Вопросы начинающих
http://www.smartquant.com/forums/viewtopic.php?f=65&t=8425
Page 1 of 29

Author:  Craft [ Mon Oct 04, 2010 1:35 pm ]
Post subject:  Вопросы начинающих

Подскажите, пожалуйста, какой-нибудь метод определения количества баров с момента открытия позиции.

Author:  Baraz Sergey [ Mon Oct 04, 2010 2:21 pm ]
Post subject:  Re: Вопросы начинающих

Здравствуйте,

вот пример как в OnPositionOpened запоминается число баров в серии на момент открытия позиции, а затем в методе OnBar как получить количество баров с момента открытия.

int positionOpenedBarCount = -1;

public override void OnPositionOpened()
{
positionOpenedBarCount = Bars.Count;
}

public override void OnBar(Bar bar)
{
if (HasPosition)
Console.WriteLine(Bars.Count - positionOpenedBarCount);
}

С уважением,
Сергей.

Author:  Craft [ Mon Oct 04, 2010 2:39 pm ]
Post subject:  Re: Вопросы начинающих

Класс, большое спасибо.

Author:  skuvv [ Thu Nov 11, 2010 1:27 am ]
Post subject:  Re: Вопросы начинающих

Подскажите есть ли способ перекидывать данные между копиями стратегии закрепленными за своими инструментами?
те допустим используется синтетический инструмент из нескольких состовляющих и каждый тик любого инструмента нужно заносить в общий буфер.
Пока есть идея только через запись/чтение в файл :twisted: :twisted: :twisted:

Author:  Dr. Anton Fokin [ Thu Nov 11, 2010 9:13 am ]
Post subject:  Re: Вопросы начинающих

Если стратегии в рамках одного Solution, то есть статик Global (хеш таблица), доступная из любой стратегии. Или вам что-то другое надо?

Author:  skuvv [ Sun Nov 14, 2010 1:31 pm ]
Post subject:  Re: Вопросы начинающих

Dr. Anton Fokin wrote:
Если стратегии в рамках одного Solution, то есть статик Global (хеш таблица), доступная из любой стратегии. Или вам что-то другое надо?

Спасибо - самое оно!

Author:  Fabio [ Sun Nov 21, 2010 5:48 pm ]
Post subject:  Re: Вопросы начинающих

Скажите, есть ли где нибудь на русском языке документация из пункта меню Help программы?

спасибо

Author:  Dr. Anton Fokin [ Sun Nov 21, 2010 6:16 pm ]
Post subject:  Re: Вопросы начинающих

На русском нету. Спрашивайте, если что не вплоне понятно на английском - ответим. Там кода и картинок больше чем текста :wink:

Author:  zyko [ Tue Dec 28, 2010 5:53 pm ]
Post subject:  Re: Вопросы начинающих

Что делать, если опенквант 2.9.12 при запущенном солюшене в непроизвольный момент вылетает с таким окошком? При нажатии "отладка" окно просто закрывается. Как понять, в каком месте кода (моего) это происходит?

Attachments:
oq_error.jpg
oq_error.jpg [ 21.86 KiB | Viewed 16766 times ]

Author:  Dr. Anton Fokin [ Tue Dec 28, 2010 5:58 pm ]
Post subject:  Re: Вопросы начинающих

При такой содержательной ошибке сложно посоветовать что-то сильно умное. Console.WriteLine() навставлять во всех подозрительных местах. Или попытаться все закомментировать, а потом раскомментировать по частям и смотреть в каком месте упадет.

А кода у вас много?

Author:  Dr. Anton Fokin [ Tue Dec 28, 2010 6:08 pm ]
Post subject:  Re: Вопросы начинающих

И в каком вы режиме? Симуляции или торговли?

Author:  Dr. Anton Fokin [ Tue Dec 28, 2010 6:12 pm ]
Post subject:  Re: Вопросы начинающих

Можно еще посоветовать обновиться до OpenQuant 3.0 64 бита и попробовать запустить там. Может быть у вас с памятью какие-нибудь проблемы. Так как OpenQuant 3.0 ставится в другое место и никак не влияет на работу 2.9 , то никакими неприятностями эта манипуляция не грозит.

Author:  zyko [ Tue Dec 28, 2010 6:46 pm ]
Post subject:  Re: Вопросы начинающих

Вроде локализовал проблему.
Я гоняю тестовый скрипт на маркетдате Смарткома в режиме Paper. При этом текущее состояние скрипта сохраняю в xml на диск при помощи внешнего самодельного класса. Так вот, в какой-то момент при зацикливании событий заявки начинают сыпаться без остановки, и, видимо, сериализация в какой-то момент отказывает. Зацикливание возникает, когда разнонаправленные лимитные заявки начинают исполняться симулятором, в какой момент это происходит - я пока не понял. Ну, то есть, начинает бесконечно покупать по 104.8 и продавать по 104.9, например. Как-то нежизненно.
Опенквант3 я поставил параллельно, да, но проблема в том, что нельзя поставить два СмартКома, поэтому пока на 2й версии гоняю.

Собственно, если подскажете логику исполнения заявок симулятором опенкванта - буду рад. Я предполагал, что он смотрит на тики, и если поступил trade с ценой заявки - исполняет.

Author:  Dr. Anton Fokin [ Tue Dec 28, 2010 7:07 pm ]
Post subject:  Re: Вопросы начинающих

Типичный пример, когда могут зацикливаться заявки, это когда вы в OnExecutionReport или в OnPositionChanged посылаете заявку, которая тут же исполняется на текущей цене инструмента и вы снова попадаете туда же и посылаете еще заявку и так до бесконечности. У вас ничего похожего нет?

Author:  zyko [ Tue Dec 28, 2010 7:28 pm ]
Post subject:  Re: Вопросы начинающих

Нет, бесконечной пирамиды у меня нет. Все заявки обрабатываются в соответствии с алгоритмом. А именно: купля чередуется с продажей, всё по разным ценам, купля - дешевле, продажа - дороже.
Но почему-то симулятор может начать исполнять подряд по разным ценам.
Вот я и хочу понять, какова логика симулятора опенкванта? Когда он принимает решение о сделке? Почему он может, например, покупать по 104.8 и продавать по 104.9 подряд? Это зависит от поступающей маркетдаты?

Page 1 of 29 All times are UTC + 3 hours
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/