АвторСообщение





Сообщение: 1
Зарегистрирован: 30.05.13
Репутация: 0
ссылка на сообщение  Отправлено: 30.05.13 16:42. Заголовок: Получение рыночных данных минуя Init()


scriptong, я для советников обычно использовал функцию GetMarketInfo(), которую вызывал первично в функции Init(). Но вот щяс я решил написать некоторые библиотеки, и столкнулся с проблемой. Во-первых, спред, и стоплевел являются динамическими величинами. Так же в библиотеке эти переменные есс-но не объявляются, я так понимаю нужно получать те же переменные каждый раз в каждой функции, иначе не реализовать?
Дальше, попутно возникает момент. Нужно всё-таки, как-то обойтись без функции Init() на случай, если будет реконект с сервером. Посоветуйте, как по-вашему будет лучше решить этот момент?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 1 [только новые]







Сообщение: 110
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 1
ссылка на сообщение  Отправлено: 16.06.13 19:15. Заголовок: Этот момент решается..


Этот момент решается достаточно просто: GetMarketInfo следует вызывать на каждом новом тике при работе советника/индикатора онлайн. В тестере ничего этого делать не нужно. Достаточно получить все необходимые значения в Init, т. к. по ходу тестирования они изменяться не могут.
Чтобы не писать два разных кода (для тестера и для онлайна) в функции start используется простая логическая развязка:

 цитата:

if (!IsTesting())
GetMarketInfo();


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

hoz пишет:

 цитата:
Дальше, попутно возникает момент. Нужно всё-таки, как-то обойтись без функции Init() на случай, если будет реконект с сервером. Посоветуйте, как по-вашему будет лучше решить этот момент?


Здесь не понял, какое отношение имеет вызов Init и реконнект? При потере связи и следующем ее восстановлении на одном и том же счете функция Init не вызывается. Происходит очередной вызов функции start, если пришел новый тик. Init будет вызываться только при смене счета.
События, вызывающие повторную инициализацию программ, приведены здесь.

Спасибо: 1 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  2 час. Хитов сегодня: 0
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет