
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В общем импортировал я это ядро в ядро kernell32.dll в советник
оО.... матрёшка?
А может права для юзера на запись в папку логов запретить?
Я не пробовал с МТ5...
А может права для юзера на запись в папку логов запретить?
Я не пробовал с МТ5...
Вот так сделал:
1. Делаем пустой файл readonly.log
2. Ставим ему атрибут - Только чтение.
3. Терминал запускаем батником
Работает.
Терминал пытается писать лог в файл, но не может т.к. файл с этим логом уже есть и его изменение запрещено.
У меня слишком большой и частый поток записи на диск - обмен данными между индюками и советником с постоянной реинициализацией окна с индикаторами (перебор символов и таймфремов).
Видимо из-за этого и зависания (в меседже для windows указано ядро kernell32.dll)
А не лучше ли алгоритм работы индикаторов вынести в отдельный класс, и использовать его прямо в советнике ?
У меня, скажем, советник работает по свечным моделям - разновидностей получается более 50, причем, некоторые модели являются частями друг друга - если бы я информацию по моделям брал с внешних индикаторов - это бы сильно замедлило работу... А так - происходит обращение к массиву индикаторов - во-первых, нет тяжелого обмена данных, а во-вторых, классы, реализующие логику паттернов - не загружают всю историю (как это бы делал индикатор), а берут только несколько последних баров, которые необходимы для работы.
Что там за такие ужасные индикаторы, что их невозможно написать в виде класса ?
А не лучше ли алгоритм работы индикаторов вынести в отдельный класс, и использовать его прямо в советнике ?
У меня, скажем, советник работает по свечным моделям - разновидностей получается более 50, причем, некоторые модели являются частями друг друга - если бы я информацию по моделям брал с внешних индикаторов - это бы сильно замедлило работу... А так - происходит обращение к массиву индикаторов - во-первых, нет тяжелого обмена данных, а во-вторых, классы, реализующие логику паттернов - не загружают всю историю (как это бы делал индикатор), а берут только несколько последних баров, которые необходимы для работы.
Что там за такие ужасные индикаторы, что их невозможно написать в виде класса ?
Индикаторы на МТ4, не паттерные, а буфферные 9 штук))) и в каждом от 3 до 7 буфферов. + 2 внешних типа iCustom
Неужели их можно всех в один класс?
Индикаторы на МТ4, не паттерные, а буфферные 9 штук))) и в каждом от 3 до 7 буфферов. + 2 внешних типа iCustom
Неужели их можно всех в один класс?
Да какая разница, паттерновые они или нет ? Суть в том, что у любого индикатора есть алгоритм его формирования, а для советника - важно значение индикатора лишь на последних нескольких баров.
Соответственно, алгоритм формирования - оборачивается в класс. (Сколько нужно индикаторов - столько и классов), а в советнике создаются объекты этих классов, и на каждом тике - все они опрашиваются. При этом - каждому объекту индикатора - не требуется загружать всю историю котировок, достаточно загрузить лишь несколько последних баров, на их основе расчитать значение индикатора, и вернуть в советника. (Я - вобще написал класс-контейнер таймсерий, и на каждом тике лишь один раз загружаю несколько десятков последних баров, после чего указатель на контейнер передается всем классам-детекторам, и все классы запрашивают только то, что им нужно, не подгружая дополнительную историю)
В результате - во-первых, весь обмен данных происходит внутри советника, а во-вторых - объем обрабатываемых данных очень невелик, и гораздо меньше, чем если бы потребовалось с индикаторами.
Да какая разница, паттерновые они или нет ? Суть в том, что у любого индикатора есть алгоритм его формирования, а для советника - важно значение индикатора лишь на последних нескольких баров.
Соответственно, алгоритм формирования - оборачивается в класс. (Сколько нужно индикаторов - столько и классов), а в советнике создаются объекты этих классов, и на каждом тике - все они опрашиваются. При этом - каждому объекту индикатора - не требуется загружать всю историю котировок, достаточно загрузить лишь несколько последних баров, на их основе расчитать значение индикатора, и вернуть в советника. (Я - вобще написал класс-контейнер таймсерий, и на каждом тике лишь один раз загружаю несколько десятков последних баров, после чего указатель на контейнер передается всем классам-детекторам, и все классы запрашивают только то, что им нужно, не подгружая дополнительную историю)
В результате - во-первых, весь обмен данных происходит внутри советника, а во-вторых - объем обрабатываемых данных очень невелик, и гораздо меньше, чем если бы потребовалось с индикаторами.
awkozlov:
2. Ставим ему атрибут - Только чтение.
А про права доступа в NTFS не слыхали?
Вот так сделал:
1. Делаем пустой файл readonly.log
2. Ставим ему атрибут - Только чтение.
3. Терминал запускаем батником
Работает.
Терминал пытается писать лог в файл, но не может т.к. файл с этим логом уже есть и его изменение запрещено.
А про права доступа в NTFS не слыхали?
Тоже работает. И так даже надежней.
Q: Как настроить отображение вкладки Безопасность в свойствах файла/папки
1. Нажмите кнопку Пуск и выберите пункт Мой компьютер.2. В меню Сервис выберите команду Свойства папки и перейдите на вкладку Вид.
3. В списке Дополнительные параметры снимите флажок Использовать простой общий доступ к файлам (рекомендуется).