SmartQuant Discussion

Automated Quantitative Strategy Development, SmartQuant Product Discussion and Technical Support Forums
It is currently Sun Jan 19, 2020 12:29 am

All times are UTC + 3 hours




Post new topic Reply to topic  [ 11 posts ] 
Author Message
PostPosted: Wed Nov 28, 2012 2:51 pm 
Offline

Joined: Sat Mar 19, 2011 7:38 pm
Posts: 27
Code:
public override void OnStrategyStop()
{
Console.WriteLine("{0};{1};{2};{3};{4};{5};{6};{7};{8};", Bars[0].DateTime.Date, Bars[0].DateTime.TimeOfDay, Bars[0].Open, Bars[0].High, Bars[0].Low, Bars[0].Close);
Console.WriteLine("no exception");
}


Вот здесь должен выскочить exception - не соответствует количество аргументов в строке и реально поданных в функцию.
OQ при этом подло молчит - в output ничего не пишет, пресловутое модальное окошко с ошибкой не выдаёт - просто в тихую рушит стратегию в этом месте, дальше она не исполняется.
Если обставить код try{} catch{} то Exception приходит: "Index (zero based) must be greater than or equal to zero and less than the size of the argument list."

Так быть не должно ?


Top
 Profile  
 
PostPosted: Thu Nov 29, 2012 10:22 am 
Offline
Site Admin

Joined: Thu Jul 17, 2003 10:39 am
Posts: 1478
Будет окошко с ошибкой в следующей версии.

_________________
SmartQuant Development Team


Top
 Profile  
 
PostPosted: Thu Nov 29, 2012 10:25 am 
Offline

Joined: Sat Mar 19, 2011 7:38 pm
Posts: 27
Отлично, ещё бы хотелось, чтобы оно было не модальным - если это возможно, конечно ;)


Top
 Profile  
 
PostPosted: Thu Nov 29, 2012 10:52 am 
Offline
Site Admin

Joined: Thu Jul 17, 2003 10:39 am
Posts: 1478
Это окошко по смыслу не может быть не модальным.
Вообще, когда опенквант отлавливает ошибки стратегии - это самый крайний вариант. Не надо на него ориентироваться. Если не уверены в своем коде, то сразу заключайте его в трай/кетч и обрабатывайте как хотите.

_________________
SmartQuant Development Team


Top
 Profile  
 
PostPosted: Thu Nov 29, 2012 11:15 am 
Offline

Joined: Sat Mar 19, 2011 7:38 pm
Posts: 27
Ну не хотелось бы начинать holy war ....
Run-time ошибки я отловить без OQ не могу в принципе, ставить весь код в try{} и потом читать ошибки из консоли - мягко говоря, специфическое решение.
Учитывая, что OQ, прежде всего, среда разработки стратегий - она и должна помогать их разрабатывать, в том числе показывая исключения, в логе стратегии, например, или в немодальном окошке.

Модальные окна в готовом production софте - это недоразумение, их просто не долно быть. Давайте попробуем найти модальные окна в студии или, например в WLD. Они там появляются только при нехватке памяти или диска, а не при ошибках в коде.
В соседней ветке я уже писал о том, к чему приводит их использование конкретно в OQ - freeze программы с завершением через таскменеджер.


Top
 Profile  
 
PostPosted: Thu Nov 29, 2012 11:48 am 
Offline
Site Admin

Joined: Thu Jul 17, 2003 10:39 am
Posts: 1478
А чтобы не было модальных окон - ловите ошибки. Вам же дали возможность делать либо так либо этак. Всегда найдется человек/мнение, которому понадобится ровно наоборот чем Вам, а всем не угодишь. Поэтому лучшее решение - это дать право выбора и Вам его дали.
И сравнивать возможности опенкванта (в плане среды разработки кода) с какой-нибудь вижуал студией наверно даже не надо.

_________________
SmartQuant Development Team


Top
 Profile  
 
PostPosted: Thu Nov 29, 2012 12:07 pm 
Offline

Joined: Sat Mar 19, 2011 7:38 pm
Posts: 27
А где я сравнивал VS и OQ в плане разработки ? Я говорю о том, что есть проверенный годами и тысячами программистов способ работы с исключениями, VS - просто один самый очевидный пример, тот же WLD вы, очевидно, проигнорировали.
Вы говорите, что вы изобрели более круглое колесо и надо просто весь код засунуть в try{} - отличное решение, я теперь только так и буду делать.
До сих пор, чтобы закрыть чудесное модальное окошко, когда в оптимизации выскакивала runtime error, клал на кнопку "Enter" что-то тяжёлое - но прогресс не остановить ;).


Top
 Profile  
 
PostPosted: Thu Nov 29, 2012 12:42 pm 
Offline
Site Admin

Joined: Thu Jul 17, 2003 10:39 am
Posts: 1478
Вы наверно невнимательно прочитали или не так меня поняли. Мы не в коем случае не боремся с исключениями, которые происходят в Вашем коде. Мы всего лишь препятствуем падению всего приложения из-за того, что Вы не так сосчитали параметры и не посчитали нужным учесть такое развитие событий. Но, еще раз повторю, Вы можете сами решать какой вариант окошек,логов и т.д. Вам подходит. Все в Ваших руках. Мы же не запрещаем Вам показать в кетче свое, то самое, немодальное окошко с многолетним опытом тысяч программистов. И даже выстрелить в ногу Вы тоже можете.

_________________
SmartQuant Development Team


Top
 Profile  
 
PostPosted: Thu Nov 29, 2012 5:00 pm 
Offline

Joined: Sat Mar 19, 2011 7:38 pm
Posts: 27
Ну непонимание налицо, с этим я не спорю.
Вы мне пытаетесь доказать, что исключение в стратегии - это ситуация невозможная, достаточно только правильно написать код. Но идеального кода не бывает, сам OQ живой тому пример. Исключения случаются -их нужно как-то отрабатывать.
Вы пишете -
Alexei Kurov wrote:
Мы всего лишь препятствуем падению всего приложения

- но по факту этого и не происходит. Любая ошибка в runtime, какое-нибудь деление на ноль в цикле оптимизации приведет к freeze приложения. Чтобы этого не было - надо либо сделать немодальный диалог с пользователем, либо сделать больше кнопок в вашем модальном сообщении об ошибке - хотя бы "stop optimization" добавить.
Вместо этого вы меня пытаетесь убедить, что заставить пользователя нажать 100000 раз подряд на кнопку "abort" модального окна - это штатная ситуация - так и должно быть и просто в OQ такой дизайн.


Top
 Profile  
 
PostPosted: Thu Nov 29, 2012 8:55 pm 
Offline

Joined: Tue Aug 05, 2003 3:43 pm
Posts: 6816
К сожалению в ОQ не только такой дизайн, а еще и дизайнеры...


Top
 Profile  
 
PostPosted: Thu Nov 29, 2012 9:13 pm 
Offline

Joined: Tue Aug 05, 2003 3:43 pm
Posts: 6816
Но мы все еще надеемся эту ситуацию изменить :roll:

По крайней мере здесь все будет как доктор прописал http://smartquant.com/extension.php


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 11 posts ] 

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group