Как стать трейдером? Форум Деньги

Форум 
Суть в следующем
Пользователь: BlakBird (IP-адрес скрыт)
Дата: 05.07.2007 09:02

Запускаются некоторые функции, которые что-то считают. Это могут быть индикаторы, могут быть и торговые алгоритмы. Эти функции обмениваются данными через некоторую область памяти - структуру. Таким образом, торговая система может использовать для своих нужд значения индикаторов, которые выполняются параллельно с ней.

Это с одной стороны и логично, а с другой стороны проще в реализации самих индикаторов. Ведь если бы они вызывались в однозадачном режиме, то индикатору следовало бы помнить до куда он досчитался в предыдущий раз и расчитываться далее, в общем, в индикаторе (и других вспомогательных модулях) не нужно реализовать системный код, который только запутает основную логику.

Далее, посколку реальное распараллеливание мне не интересно - у меня на ПК один процессор и всё это расспараллеливание, которое предлагает средство разработки лишь профанация, реально мешающая выполнению кода, например МТС может запросить данные индикатора, а данные в это время обновляются, и в итоге получить не старые данные, не новые, а некоторый "мусор".

Поэтому u менеджер задач я делал сам подменяя системные регисты процессора. В итоге получилось, что системных процессов у меня всего два - один интерфейсный, чтобы можно было во время выполнения по менюшкам ходить, в том числе другие процессы запускать. И второй процесс - для выполнения задач, которые я время от времени подменяю одну на другую.

Теперь как и когда происходит подмена. Есть некоторый системный таймер, привязанный к временному ряду цен. Все процессы рано или поздно обращаются либо за баром либо за тиком. Когда они его получили и обрабатывают - я их не трогаю и управление не забираю, когда же процесс обратился за следующим баром, то менеджер задач определяет время этого бара. И если есть процессы, которым нужны бары расположенные раньше по времени, то управление передаётся этим процессам. Таким образом имеется реальное параллельное выполнение нескольких процессов, привязанное к временному ряду цен, а смена процесса происходит в момент запроса ценовых данных.

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

Здесь же легко решается и вопрос о бэктестинге/реальной работе. Для бэктестинга указывается время старта МТС в прошлом и время финиша тоже в прошлом. При реальной работе время старта в прошлом - система обычно накапливает некоторую информацию (те же средние), а время финиша в будущем. МТС запрашивает бар, который реально ещё не наступил - менеджер останавливает процесс до прихода этого бара и запускает снова, когда он появится.

В общем, примерно так это всё и работает.

BlakBird

Перейти: <>
Опции: ОтветитьЦитировать


Тема Написано Просмотров Дата
  Прошу совета Frolll 765 04.07.2007 14:08
  есть еще Amibroker sssruslan 340 04.07.2007 20:20
  Re: есть еще Amibroker Frolll 300 05.07.2007 08:01
  Re: метасток - эксель оптимальный вариант Чапаев 375 04.07.2007 17:09
  Если задумывать что-то серьёзное BlakBird 416 04.07.2007 16:53
  О многозадачности можно поподробней? Hedger 311 04.07.2007 20:19
  Суть в следующем BlakBird 324 05.07.2007 09:02
  Мне кажется для арбов это будет актуально. Hedger 284 05.07.2007 14:29
  Около года BlakBird 287 05.07.2007 16:40
  Фигасе... Как все сложно.(-) washerman 254 05.07.2007 10:48
  Статистики будет мало ... 777 346 04.07.2007 18:59
  У меня есть некоторое представление о математике BlakBird 294 05.07.2007 08:25
  Re: Если задумывать что-то серьёзное PhD 356 04.07.2007 17:55
  Это всё верно, только упирается в ограниченность ресурсов BlakBird 300 05.07.2007 09:23
  у всего свои плюсы и минусы nofx 368 04.07.2007 15:40
  есть, есть универсальный инструмент White 354 04.07.2007 15:42
  Универсальных инструментов нет PhD 338 04.07.2007 16:25
  Ну тогда уж голова. u(-) washerman 237 04.07.2007 15:43
  Попробуйте WealthLab. Для тестирования стратегий самое оно. Hedger 380 04.07.2007 15:05
  а на русском языке не подскажете описание языка WLB chegl 330 04.07.2007 15:34
  Re: а на русском языке не подскажете описание языка WLB Frolll 357 04.07.2007 15:43
  если механически торговать имхо проще ВЛБ(-) chegl 267 04.07.2007 15:52
  Прокоментируйте, плз. Пользую Омегу, торгую системно.Всем удовлетворен.(-) budmit 236 04.07.2007 17:34
  Завидую u(-) PhD 268 04.07.2007 18:50
  u Возможно это от того... budmit 306 04.07.2007 21:03
  Чего хотите-то? СергейЮ 350 04.07.2007 14:34
  Сергей, есть вопрос. nofx 349 04.07.2007 15:43
  И так, и эдак. СергейЮ 332 04.07.2007 15:51
  А почему не лезет-то ? В 2007 места вполне достаточно.(-) PhD 240 04.07.2007 18:54
  а бектестинг?(-) nofx 284 04.07.2007 16:07
  Для дневок и даже часовок достаточно листов экселя. СергейЮ 287 04.07.2007 17:51
  понял, спасибо(-) nofx 249 04.07.2007 21:31
  А Вы на чем работаете и куда путь держите?(-) СергейЮ 241 05.07.2007 10:10
  в аспекте софта двигаюсь в Вашу сторону nofx 294 05.07.2007 10:48
  О тиках. СергейЮ 300 05.07.2007 11:24
  Есть вопрос... Camel.Vulgaris 270 05.07.2007 12:16
  Я не научился использовать этот параметр. В моем архиве его нет.(-) СергейЮ 254 05.07.2007 13:46
  ясно... хотел проверить пару идей...(-) Camel.Vulgaris 238 05.07.2007 14:23
  Список полей STAN 244 05.07.2007 13:20
  ок, спасибо большое uu Camel.Vulgaris 269 05.07.2007 13:25
  Re: ок, спасибо большое uu STAN 881 05.07.2007 14:05
  еще раз спасибо Camel.Vulgaris 245 05.07.2007 14:20
  с накоплением просто, сложно с бектестингом популярным софтом nofx 281 05.07.2007 11:36
  а в плане направления идей микроструктура nofx 272 05.07.2007 10:57
  Re: Чего хотите-то? Frolll 352 04.07.2007 14:43
  А про Метасток не надо … 777 333 04.07.2007 16:55
  Языки программирования, типа васика, не подходят?(-) СергейЮ 266 04.07.2007 15:06


Как стать трейдером? Форум создан Инфо с Phorum.

Rambler's Top100