Сбор тиков по нескольким инструментам. - страница 3

 
stringo:
Кроме всего прочего, Sleep насильно переключает контексты потоков. Так что, иногда и Sleep(0) бывает очень полезным.
Это надо бы внести в Help.
 
Ashes:
Это надо бы внести в Help.
Наш Sleep - это надстройка над системным вызовом Sleep из kernel32.dll. Мы тут ничего нового не вносили - это свойство системного вызова.
Документация по MQL5: Общие функции / Sleep
Документация по MQL5: Общие функции / Sleep
  • www.mql5.com
Общие функции / Sleep - Документация по MQL5
 
stringo:
Наш Sleep - это надстройка над системным вызовом Sleep из kernel32.dll. Мы тут ничего нового не вносили - это свойство системного вызова.
Ну так кто же об этом знает, кроме читающих форум! И разработчиков терминала, конечно.
 
Ashes:
Это надо бы внести в Help.
stringo:
Наш Sleep - это надстройка над системным вызовом Sleep из kernel32.dll. Мы тут ничего нового не вносили - это свойство системного вызова.

Действительно, лучше внести. Не каждый трейдер, интересующийся механической торговлей, обязан разбираться в Win API в целом и в начинке kernel32.dll в частности.

 
Interesting:

Действительно, лучше внести. Не каждый трейдер, интересующийся механической торговлей, обязан разбираться в Win API в целом и в начинке kernel32.dll в частности.

Нет проблем. Внесём примерно следующее: "Функция Sleep переключает контексты потоков. Если в системе есть ещё как минимум один поток, готовый к выполнению, то произойдёт переключение на этот поток. Использование Sleep(0) даёт шансы на параллельное исполнение соседних потоков".

И что поймёт из этого "не каждый трейдер"?

Документация по MQL5: Общие функции / Sleep
Документация по MQL5: Общие функции / Sleep
  • www.mql5.com
Общие функции / Sleep - Документация по MQL5
 
stringo:

Нет проблем. Внесём примерно следующее: "Функция Sleep переключает контексты потоков. Если в системе есть ещё как минимум один поток, готовый к выполнению, то произойдёт переключение на этот поток. Использование Sleep(0) даёт шансы на параллельное исполнение соседних потоков".

И что поймёт из этого "не каждый трейдер"?

Формулировка мне лично нравится.

По поводу что поймет - так давайте у них и спросим.

 
stringo:

Нет проблем. Внесём примерно следующее: "Функция Sleep переключает контексты потоков. Если в системе есть ещё как минимум один поток, готовый к выполнению, то произойдёт переключение на этот поток. Использование Sleep(0) даёт шансы на параллельное исполнение соседних потоков".

Может не стоит? Это будет вынос мозга для неокрепших умов и вопросов будет больше, чем пользы.
 
avoitenko:

Уважаемые коллеги, у меня появилась задача сделать сбор тиков с сохранением в базу данных (Postgress или mySQL).

Меня интересует ваше мнение, только на счет самого сбора. Дальше вроде бы понятно как работать с базой.

Не устраивает то, что при сборе с 20-30 инструментов, советник нужно вешать на график каждого инструмента.

  1. Можно ли это сделать как-нибудь проще и компактнее, например в одном советнике?
  2. Какова нагрузка на терминал при таких операциях

Выскажитесь по существу вопроса, пожалуйста.

Если хотите писать реальную тиковую историю с фиксацией точного времени прихода тика, а в случае плавающего спреда надо будет писать и его, без советника на каждом инструменте не обойтись.
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
stringo:

Нет проблем. Внесём примерно следующее: "Функция Sleep переключает контексты потоков. Если в системе есть ещё как минимум один поток, готовый к выполнению, то произойдёт переключение на этот поток. Использование Sleep(0) даёт шансы на параллельное исполнение соседних потоков".

И что поймёт из этого "не каждый трейдер"?

   Переключение потоков произойдет только внутри МТ5 или в операционной системе (то есть МТ5 отдаст управление внешним программам) ?
 
gisip:
   Переключение потоков произойдет только внутри МТ5 или в операционной системе (то есть МТ5 отдаст управление внешним программам) ?

 

Не определено. Может внутри MT5, а может - внешним программам. Вот что говорится по этому поводу в MSDN

A value of zero causes the thread to relinquish the remainder of its time slice to any other thread of equal priority that is ready to run. If there are no other threads of equal priority ready to run, the function returns immediately, and the thread continues execution. 

Причина обращения: