Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 576

 
Возник вопрос по TimeLocal(), эта функция возвращает локальное время компьютера, на котором запущен клиентский терминал. В то же самое время TimeToStr преобразует значение, содержащее время в секундах, прошедшее с 01.01.1970.
Например:

void init() {
   Print("Time_Start = " + TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS) );
}

получаем:
2014.04.11 15:05:50.031 2001.01.03 07:25 : Time_Start = 2001.01.03 07:25:00
Как преобразовать формат времени получаемый из
TimeLocal() в "2014.04.11 15:05:50"?

 
Скажите пожалуйста,может быть вопрос покажется не уместным здесь,но вам не встречался советник торгующий по свечным моделям?
 
Profitov:
Скажите пожалуйста,может быть вопрос покажется не уместным здесь,но вам не встречался советник торгующий по свечным моделям?

  Встречались.. свои :) Я только в этом направлении, в основном, и капаю. А вообще, Вы не туда обратились. Если хотите научится, то спрашивайте...
 

 У меня вопрос следующего вида. Он, как я понимаю, касается, компановки код перед компилированием. Суть следующая:

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

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

 
hoz:

У меня вопрос ...

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

Механизм динамической загрузки библиотечных функций - DLL, не подразумевает динамической выгрузки оных.

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

Если загрузка функции подразумевает загрузку некоторого окружения(глобальных переменных), то я не вижу иного простого решения, нежели загрузить всю библиотеку.

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

А теперь - самое интересное.

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

Моя рекомендация: никогда не используйте глобальные переменные в библиотечных функциях и не читайте советских газет за завтраком.

 
tara:

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

Механизм динамической загрузки библиотечных функций - DLL, не подразумевает динамической выгрузки оных.

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

Если загрузка функции подразумевает загрузку некоторого окружения(глобальных переменных), то я не вижу иного простого решения, нежели загрузить всю библиотеку.

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

А теперь - самое интересное.

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

Моя рекомендация: никогда не используйте глобальные переменные в библиотечных функциях и не читайте советских газет за завтраком.

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

Глобальные переменные - зло :-) Лучше никогда их не использовать.

 

Добрый день,

испытываю роботов на тестере, и получаю в результате произвольное закрытие позиций с последующим их открытием что означают эти записи о свопах в результатах теста? У меня из-за этого весь мартингейл к чёрту летит :)

107 2014.04.01 17:19 sell 54 1.23 1.38105 1.38204 1.37891 0.00 9664.86

108 2014.04.02 00:00 swap close 54 1.23 1.37934 1.38204 1.37891 210.33 9875.19

109 2014.04.02 00:00 swap open 55 1.23 1.37934 1.38204 1.37891 0.00 9875.19

110 2014.04.02 08:31 s/l 55 1.23 1.38204 1.38204 1.37891 -332.10 9543.09


 
Zhunko:

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

Глобальные переменные - зло :-) Лучше никогда их не использовать.


  А как тогда решаются подобные вопросы? Скажем так, имеется перечень переменных, которые используются в разных библиотеках. Возьмём, например, переменную bi_Err, которая содержит в себе последнюю ошибку. Получается, без глобальной переменной мне в каждой библиотеке нужно объявлять ту же переменную и работать с аналогом переменной bi_Err. И таких переменных хватает. Так вопрос задан потому, что выходит, что без использования глобальных переменных в таких случаях придётся в каждой библиотеке, где подобные переменные используются объявлять эти переменные (которые у меня щяс глобальные), а значения оных передавать через параметры функций, в которых этих переменные используются.

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

 
hoz:

Встречались.. свои :) Я только в этом направлении, в основном, и капаю. А вообще, Вы не туда обратились. Если хотите научится, то спрашивайте...

Спасибо,вот я и хочу спросить с чего начать копать в этом направлении так как вы уже работаете в этом же направлении.
 
Profitov:

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

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