Alexander
|
Дата: 26.07.2011
vader _priceOfOrder - ввожу вручную, сталю такой, чтобы скорее испольнилось условие. Как пример. Если лучшая продажа 198645, то ставлю 198630.
Security.BestAsk.Price не использую сейчас. Я выводил это ,чтобы убедится, что стратегия получает данные. Вроде нашёл багу. Вообще надо передавать не цену, а сдвиг цены - в % или в пунктах. Поправлю документацию и код.
|
|
Спасибо:
|
|
|
|
|
vader
|
Дата: 26.07.2011
Alexander, прошу вас , дайте пожалуйста работоспособный пример событийной стратегии, в котором поковырятся можно, потому что тяжело разобраться, из-за чего программа не работает так как надо.
|
|
Спасибо:
|
|
|
|
|
Alexander
|
Дата: 26.07.2011
vader Alexander, прошу вас , дайте пожалуйста работоспособный пример событийной стратегии, в котором поковырятся можно, потому что тяжело разобраться, из-за чего программа не работает так как надо. напишите, к примеру, When(Security.SecurityNewTrades()).Do(blabla) То что выше - я уже написал - была ошибка, исправляю.
|
|
Спасибо:
|
|
|
|
|
vader
|
Дата: 26.07.2011
попробовал вот так - не работает Код
StrategyRule strR = this
.When(StrategyRuleConditionHelper.BestAskPriceLess(this.Security, new Unit(5)))
.Do(SimpleRegOrd);
base.OnRunning();
И ещё. Мне удалось вызвать метод, в котором должна происходить регистрация заявки ,но заявка в квике не появилась. Код
private void SimpleRegOrd()
{
MessageBox.Show("SimpleRegOrd");
this.RegisterOrder(_order);
}
И так тоже не работает Код
StrategyRule strR = this
.When(Security.SecurityNewTrades())
.Do(SimpleRegOrd);
base.OnRunning();
|
|
Спасибо:
|
|
|
|
|
Alexander
|
Дата: 26.07.2011
vader попробовал вот так - не работает Код
StrategyRule strR = this
.When(StrategyRuleConditionHelper.BestAskPriceLess(this.Security, new Unit(5)))
.Do(SimpleRegOrd);
base.OnRunning();
И ещё. Мне удалось вызвать метод, в котором должна происходить регистрация заявки ,но заявка в квике не появилась. Код
private void SimpleRegOrd()
{
MessageBox.Show("SimpleRegOrd");
this.RegisterOrder(_order);
}
И так тоже не работает Код
StrategyRule strR = this
.When(Security.SecurityNewTrades())
.Do(SimpleRegOrd);
base.OnRunning();
Первое не работает я уже написал почему - бага найдена, исправил, будет в 3.2.6 Второе - выведите все поля заявки перед регистрацией чтоб было понятно где проблема. Заявки у остальных регистрируется нормально. Третье - что значит тоже не работает? SimpleRegOrd вызывается? Новые сделки по инструменту приходят? ProcessDataError что-нибудь выдаёт?
|
|
|
|
|
vader
|
Дата: 28.07.2011
спасибо за советы. Проблема была в том, что я не инициалезировал Trader, ни у стратегии ни у заявки. ProcessDataError ничего не выдавал.
Заметил такую проблему, что часто если при работе стратегии произошла проограмная ошибка, то простостртегия останавливается и никак не сигналезирует об ошибке. Что очень не удобно. Можно ли как-то сделать ,чтобы визуально были видны ошибки?
|
|
Спасибо:
|
|
|
|
|
Alexander
|
Дата: 28.07.2011
vader спасибо за советы. Проблема была в том, что я не инициалезировал Trader, ни у стратегии ни у заявки. ProcessDataError ничего не выдавал.
Заметил такую проблему, что часто если при работе стратегии произошла проограмная ошибка, то простостртегия останавливается и никак не сигналезирует об ошибке. Что очень не удобно. Можно ли как-то сделать ,чтобы визуально были видны ошибки? Перехватывайте ProcessDataError и исключения.
|
|
Спасибо:
|
|
|
|
|
vader
|
Дата: 28.07.2011
ProcessDataError молчит. В каких местах перехватывать исключения?
|
|
Спасибо:
|
|
|
|
|
Alexander
|
Дата: 28.07.2011
vader ProcessDataError молчит. В каких местах перехватывать исключения? При вызове методов Stock#
|
|
Спасибо:
|
|
|
|
|
vader
|
Дата: 28.07.2011
При тестировании на учебном счете Quik-Junior, на площадке ММВБ, не выполняется условие на появление новых сделок (StrategyNewMyTrades), когда происходит сделка. При этом если работать на игровой секции FORTS, все условия выполняются. ProcessDataError ничего не выдает. Как это можно поправить? S# 3.2.5
|
|
Спасибо:
|
|
|
|