SymbolInfo...

 

Где хранится информация о тикерах, которую получаем посредством вызова функциями SymbolInfo...:
1. Сервер брокера

2. Терминал МТ5

Вопрос возник в связи с тем, что имеет ли смысл забирать эти данные при старте робота и затем обращаться уже к переменным в программе в случае п.1, или в случае п.2 не имеет смысла создавать дополнительные переменные в программе, т.к. потерь на доступ к памяти терминала особых не будет во время запросов.

 
Вроде кто-то из форумчан задавался таким вопросом. И он даже проводил исследования...
 
George Merts:
Вроде кто-то из форумчан задавался таким вопросом. И у него вроде как выходило, что особой разницы нет. То есть, информация хранится в самом терминале.

еще бы разработчики подтвердили это ))
 
а что мешает сделать простой цикл на 1 млн итераций и самостоятельно увидеть результат ?
 
Alexey Oreshkin:
а что мешает сделать простой цикл на 1 млн итераций и самостоятельно увидеть результат ?

денег столько нет ))
 

Что за бред про "деньги" ??? Какие "деньги" ???

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

 
George Merts:

Что за бред про "деньги" ??? Какие "деньги" ???

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


я конечно понимаю, что тут многие профи в программировании на MQL, но я не из того круга, поэтому было бы достаточно услышать мнение от профи, ведь наверняка они делали такие тесты и могут сказать однозначно

 
Konstantin:


я конечно понимаю, что тут многие профи в программировании на MQL, но я не из того круга, поэтому было бы достаточно услышать мнение от профи, ведь наверняка они делали такие тесты и могут сказать однозначно

Зачем это им ? Как раз если вы такое сделаете - вы во-первых, и выясните ответ, и во-вторых, знания дополнительные приобретете.

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

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

 
George Merts:

Зачем это им ? Как раз если вы такое сделаете - вы во-первых, и выясните ответ, и во-вторых, знания дополнительные приобретете.

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

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


я задал вопрос, а не искал бесполезных советов, форум на то и нужен, что бы делиться знаниями, подобные советы только лишь засоряют тему и вопрос уже теряется

тесты я провел, но потерял время, если сами не знаете, то не лезьте в диспут...

ну и выводы свои оставьте при себе, я не собирался на каждом тике обращаться к подобным запросам, вопрос был - где хранятся эти данные, что бы оптимизировать кое какие моменты...

 
Konstantin:


я задал вопрос, а не искал бесполезных советов, форум на то и нужен, что бы делиться знаниями, подобные советы только лишь засоряют тему и вопрос уже теряется

тесты я провел, но потерял время, если сами не знаете, то не лезьте в диспут...

ну и выводы свои оставьте при себе, я не собирался на каждом тике обращаться к подобным запросам, вопрос был - где хранятся эти данные, что бы оптимизировать кое какие моменты...

Ну-ну... Посмотрим, какие ответы вы получите с вашим гонором. Я помню, что кто-то что-то подобное измерял... Но, боюсь, с вами "в диспут" никто не полезет...

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

 
George Merts:

Ну-ну... Посмотрим, какие ответы вы получите с вашим гонором. Я помню, что кто-то что-то подобное измерял... Но, боюсь, с вами "в диспут" никто не полезет...

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

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

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