Здравствуйте! Пишу торговый робот в VBA для торговли на бирже. Увидел вот этот Вот и появился вопрос к знатокам excel. Скажите, как часто может осуществляться цикл в экселе?
Пользователь
Сообщений: Регистрация: 22.12.2012
31.08.2011 14:44:33
думаю, многое зависит от железа
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук
Пользователь
Сообщений: Регистрация: 11.01.2013
31.08.2011 14:48:31
Простейший цикл с измерением времени:
Sub bb() Dim i&, t! t = Timer For i = 1 To 10000000 Next Debug.Print 10000000# / (Timer - t) End Sub
У меня получается 71 млн в секунду (Pentium M 1.6). Сформулируйте вопрос более конкретно.
Пользователь
Сообщений: Регистрация: 21.12.2012
31.08.2011 15:13:19
Здравствуйте, цикл может осуществляться так часто насколько позволит сам цикл. В excel нет многопоточности - поэтому все действия робота будут выполняться один за другим. вопрос какие это действия. У меня в роботе идет расчет 8 индикаторов занимает расчет одну минуту. Таймфрейм 4 часа - так что меня такое устраивает. а вот для скальпинга такое не пойдет - надо оттачивать быстроту основного цикла. или упрощать стратегию.
Пользователь
Сообщений: Регистрация: 23.12.2012
31.08.2011 17:14:00
У меня результат менялся в зависимости от того, как объявлены переменные: (2-ядерный проц AMD Athlon 64 X2 Dual)
Dim i, t ' результат: 64 000 000 Dim i&, t! ' результат: 106 666 666 Dim i&, t ' результат: 106 666 666 Dim i, t! ' результат: 71 111 111
У кого больше? Как я понял, от производительности компа тут мало что зависит.
Зависит. В той же последовательности - 4-х яд. А3: 128000000 160000000 160000000 128000000
Я сам - дурнее всякого примера! ...
Модератор
Сообщений: Регистрация: 14.09.2012
Контакты см. в профиле
31.08.2011 17:35:27
Тоже 2 ядра: AMD Athlon 64 X2 Dual 1,9 (3600+)
Dim i, t = 45714285 Dim i&, t! = 71111111 Dim i&, t = 49230769 Dim i, t! = 45714285
Пользователь
Сообщений: Регистрация: 22.12.2012
31.08.2011 22:16:03
Dim i, t = 37 647 058 Dim i&, t! = 64 000 000 Dim i&, t = 71 111 111 Dim i, t! = 42 666 666
AMD Athlon 2400+ (1 ядро)
Private i, t = 35 555 555 Private i&, t! = 32 000 000 Private i&, t! = 49 230 769 Private i, t! = 37 647 058
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук
Пользователь
Сообщений: Регистрация: 22.12.2012
31.08.2011 22:25:33
До кучи
'Static i, t = 30 476 190 'Static i&, t! = 40 000 000 'Static i&, t = 42 666 666 'Static i, t! = 32 000 000
В предыдущем посте забыл добавить: работает на 2.01 ГГц
=73747=
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук
Пользователь
Сообщений: Регистрация: 23.12.2012
01.09.2011 06:32:43
По приведенной ссылке обнаружил фразу: "торговый робот AMZ - это разработка Zakharov Studio". Так как моя фамилия тоже Захаров, то, на всякий случай, отпишусь, что там не про меня :-)
Недавно здесь уже была ссылка на тот же ресурс в теме:
В данной теме же речь идет не просто о возможностях цикла VBA, а об ограничении DDE-канала связи. Другими словами, о максимальном, а также о гарантированном периоде, с которым окно приложения Excel обменивается сообщениями с операционной системой. По некоторым оценкам, предел составляет порядка 700 раз в секунду (зависит от железа и открытых приложений). Но с учетом того, что часть сообщений операционной системы имеют более высокий приоритет, чем сообщения DDE, гарантированным пределом считается 200 раз в секунду, т.е. с интервалом в 5 мс. Это при минимуме окон, в т.ч и скрытых, а также при отсутствии какой-либо обработки в Excel.
Но так как реально все-таки ожидается определенная обработка DDE-данных в Excel, то более скоростным решением будет накопление данных в буфере отдельного приложения с периодическим скачиванием всего буфера в Excel, где период скачивания не фиксированный, а определяется временем обработки данных в Excel.
Максимальную скорость обработки DDE-данных в VBA дает метод SetLinkOnData, примеры кода я когда-то уже приводил.
И на закуску, цитата-ограничитель для любителей быстрой езды и казино :-) "Спешим огорчить всех любителей скальпинга и высокочастотной торговли. Такие роботы создаются для обогащения брокерских компаний, ведь у всех скальперов от 50 до 70% прибыли уходит обратно брокеру в виде комиссионных."
Пользователь
Сообщений: Регистрация: 01.01.1970
11.06.2012 17:43:06
А полный ексель файла кто может дать? =)
Пользователь
Сообщений: Регистрация: 22.12.2012
11.06.2012 17:55:37
на форумах трейдеров могут. вот только "дать" - вряд ли. "впарить" за неплохие деньги - скорее. причем вероятность того, что эта штука окажется полезной и вы с таким чудом программирования не сольёте депозит в первый же месяц - очень невысока.
фрилансер Excel, VBA - контакты в "Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
Пользователь
Сообщений: Регистрация: 01.01.1970
11.06.2012 18:44:20
Ну я находил Ексель пустой для Квик, за 3к. Что то не охото им деньги отстёгивать за набор символов) Самому реально такое сделать или лучше не стоит?
Пользователь
Сообщений: Регистрация: 22.12.2012
11.06.2012 18:55:51
{quote}{login=artur}{date=11.06.2012 06:44}{thema=}{post}Самому реально такое сделать или лучше не стоит?{/post}{/quote} сорри, я в этом вопросе некомпетентен - сам торгую исключительно ручками :)
фрилансер Excel, VBA - контакты в "Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
Пользователь
Сообщений: Регистрация: 23.12.2012
11.06.2012 22:22:06
{quote}{login=artur}{date=11.06.2012 06:44}{thema=}{post}Ну я находил Ексель пустой для Квик, за 3к. Что то не охото им деньги отстёгивать за набор символов) Самому реально такое сделать или лучше не стоит?{/post}{/quote}
Можете и сами сделать, если профессионально владете программированием на VBA под Excel (или вообще программированием, неважно на каком языке)
А если вы не разбираетесь в программировании, то выход один - покупать готовую программу (не факт, что эта программа будет работать как надо, и что вообще будет работать), или же заказывать разработку такой программы у специалистов. (лучше заказать, описав желаемый алгоритм работы исполнителю - тогда вам сделают именно то, что вы хотели)
Надеюсь, вы понимаете, что такие программы, если и существуют, бесплатно в интернете не валяются, - а то давно бы любой школьник мог бы скачать такую программу, и к окончанию института обогатиться, став миллионером...
Guest
Гость
13.06.2012 09:24:13
пример quik->dde->excel->txt->quik выложен на пауке. так же в сети есть примеры использования api quik. на сайте netinvestor для niapi выложен самый подробный пример робота на vba в excel.
вот тут пример кода в аттаче пример его применения для получения котировок c finam.
библиотека индикаторов для тех анализа в excel - ta_lib.xll
есть еще программа SpecMachineNZ которая в качестве торгового сигнала может использовать макрос excel. единственный в макросе нельзя использовать подключаемые библиотеки, то есть если в макросе исп. индикаторы из ta-lib то они расчитываться не будут:( Поэтому отказался от этого варианта.
In My Humble Opinion - niapi проще для освоения - все уже прописано остается лишь добавить свою ТС.