![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Принты к последнему коду на предыдущей странице.
2 теста (не визуал)
00:46:32 Test_Error: loaded successfully
00:46:40 Test_Error started for testing
00:46:40 2007.08.03 00:00 Test_Error EURUSD,M15: Alert: start() ==========================
00:46:40 2007.08.03 00:00 Test_Error EURUSD,M15: Alert: ======Obj_Tot = 0
00:46:40 2007.08.03 00:00 Test_Error EURUSD,M15: Alert: ======Канала нет. Создаём канал, обращаясь к импортированной функции
00:46:40 2007.08.03 00:00 Import_Fun EURUSD,M15: loaded successfully
00:46:40 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: Import_Fun() --------------
00:46:40 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: ------Obj_Tot вход= 0
00:46:40 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: ------Создаём канал TIME1=1186094700 Time2=1186099200
00:46:40 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: ------Obj_Tot >>>>>>> 1
00:46:40 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: ------Cмотрим что получилось в ИМПОРТНОЙ функции:
00:46:40 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: _T1=1186094700 _T2=1186099200 _P1=0 _P2=0
00:46:40 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: start() ==========================
00:46:40 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======Obj_Tot = 1
00:46:40 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======His_Name (0)= My_Channel
00:46:40 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======ObjectType = 6
00:46:40 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======Канал есть.
00:46:40 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======Cмотрим что получилось в ЭКСПЕРТЕ:
00:46:40 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: _T1=1186094700 _T2=1186099200 _P1=0 _P2=0
00:46:40 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: start() ==========================
00:46:40 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======Obj_Tot = 1
00:46:40 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======His_Name (0)= My_Channel
00:46:40 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======ObjectType = 6
00:46:40 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======Канал есть.
00:46:40 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======Cмотрим что получилось в ЭКСПЕРТЕ:
00:46:40 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: _T1=1186094700 _T2=1186099200 _P1=0 _P2=0
00:47:00 Test_Error started for testing
00:47:00 2007.08.03 00:00 Test_Error EURUSD,M15: Alert: start() ==========================
00:47:00 2007.08.03 00:00 Test_Error EURUSD,M15: Alert: ======Obj_Tot = 0
00:47:00 2007.08.03 00:00 Test_Error EURUSD,M15: Alert: ======Канала нет. Создаём канал, обращаясь к импортированной функции
00:47:00 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: Import_Fun() --------------
00:47:00 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: ------Obj_Tot вход= 0
00:47:00 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: ------Создаём канал TIME1=1186094700 Time2=1186099200
00:47:00 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: ------Obj_Tot >>>>>>> 1
00:47:00 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: ------Cмотрим что получилось в ИМПОРТНОЙ функции:
00:47:00 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: _T1=1186094700 _T2=1186099200 _P1=0 _P2=0
00:47:00 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: start() ==========================
00:47:00 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======Obj_Tot = 1
00:47:00 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======His_Name (0)= My_Channel
00:47:00 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======ObjectType = 6
00:47:00 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======Канал есть.
00:47:00 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======Cмотрим что получилось в ЭКСПЕРТЕ:
00:47:00 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: _T1=1186094700 _T2=1186099200 _P1=0 _P2=0
00:47:00 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: start() ==========================
00:47:00 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======Obj_Tot = 1
00:47:00 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======His_Name (0)= My_Channel
00:47:00 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======ObjectType = 6
00:47:00 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======Канал есть.
00:47:00 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======Cмотрим что получилось в ЭКСПЕРТЕ:
00:47:00 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: _T1=1186094700 _T2=1186099200 _P1=0 _P2=0
00:47:00 Import_Fun EURUSD,M15: removed
00:47:00 Test_Error EURUSD,M15: removed
2 теста визуал:
00:47:45 Test_Error: loaded successfully
00:47:45 Test_Error started for testing
00:47:45 2007.08.03 00:00 Test_Error EURUSD,M15: Alert: start() ==========================
00:47:45 2007.08.03 00:00 Test_Error EURUSD,M15: Alert: ======Obj_Tot = 0
00:47:45 2007.08.03 00:00 Test_Error EURUSD,M15: Alert: ======Канала нет. Создаём канал, обращаясь к импортированной функции
00:47:45 2007.08.03 00:00 Import_Fun EURUSD,M15: loaded successfully
00:47:45 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: Import_Fun() --------------
00:47:45 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: ------Obj_Tot вход= 0
00:47:45 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: ------Создаём канал TIME1=1186094700 Time2=1186099200
00:47:45 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: ------Obj_Tot >>>>>>> 1
00:47:45 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: ------Cмотрим что получилось в ИМПОРТНОЙ функции:
00:47:45 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: _T1=1186094700 _T2=1186099200 _P1=0 _P2=0
00:47:45 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: start() ==========================
00:47:45 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======Obj_Tot = 1
00:47:45 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======His_Name (0)= My_Channel
00:47:45 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======ObjectType = 6
00:47:45 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======Канал есть.
00:47:45 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======Cмотрим что получилось в ЭКСПЕРТЕ:
00:47:45 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: _T1=1186094700 _T2=1186099200 _P1=1.3699 _P2=1.3701
00:47:54 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: start() ==========================
00:47:54 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======Obj_Tot = 1
00:47:54 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======His_Name (0)= My_Channel
00:47:54 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======ObjectType = 6
00:47:54 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======Канал есть.
00:47:54 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======Cмотрим что получилось в ЭКСПЕРТЕ:
00:47:54 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: _T1=1186094700 _T2=1186099200 _P1=1.37 _P2=1.37
00:48:19 Test_Error started for testing
00:48:19 2007.08.03 00:00 Test_Error EURUSD,M15: Alert: start() ==========================
00:48:19 2007.08.03 00:00 Test_Error EURUSD,M15: Alert: ======Obj_Tot = 0
00:48:19 2007.08.03 00:00 Test_Error EURUSD,M15: Alert: ======Канала нет. Создаём канал, обращаясь к импортированной функции
00:48:19 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: Import_Fun() --------------
00:48:19 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: ------Obj_Tot вход= 1
00:48:19 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: ------Найден (где?) объект с именем:
00:48:19 2007.08.03 00:00 Import_Fun EURUSD,M15: Alert: ------His_Name = My_Channel
00:48:19 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: start() ==========================
00:48:19 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======Obj_Tot = 0
00:48:19 2007.08.03 00:15 Test_Error EURUSD,M15: Alert: ======Канала нет. Создаём канал, обращаясь к импортированной функции
00:48:19 2007.08.03 00:15 Import_Fun EURUSD,M15: Alert: Import_Fun() --------------
00:48:19 2007.08.03 00:15 Import_Fun EURUSD,M15: Alert: ------Obj_Tot вход= 1
00:48:19 2007.08.03 00:15 Import_Fun EURUSD,M15: Alert: ------Найден (где?) объект с именем:
00:48:19 2007.08.03 00:15 Import_Fun EURUSD,M15: Alert: ------His_Name = My_Channel
00:48:19 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: start() ==========================
00:48:19 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======Obj_Tot = 0
00:48:19 2007.08.03 00:30 Test_Error EURUSD,M15: Alert: ======Канала нет. Создаём канал, обращаясь к импортированной функции
00:48:19 2007.08.03 00:30 Import_Fun EURUSD,M15: Alert: Import_Fun() --------------
00:48:19 2007.08.03 00:30 Import_Fun EURUSD,M15: Alert: ------Obj_Tot вход= 1
00:48:19 2007.08.03 00:30 Import_Fun EURUSD,M15: Alert: ------Найден (где?) объект с именем:
00:48:19 2007.08.03 00:30 Import_Fun EURUSD,M15: Alert: ------His_Name = My_Channel
00:48:19 Import_Fun EURUSD,M15: removed
00:48:19 Test_Error EURUSD,M15: removed
Дополнения:
Ошибки в Тестере Стратегий, окружение: объекты.
Далее по файлам SK2 = советник. SKF2 - библиотека. (логи прикреплены)
Общий вид: от второго старта после компиляции/загрузки и далее в тестере не отображаются объекты создаваемые импортируемой функций.
+ Случайно, непонятно как, иногда возникает плавающая критическая ошибка влекущая выгрузку МТ-4.
Условия возникновения: второй старт в тестере.
Описание 1, если в deinit() не было ObjectDelet:
На втором старте советник стартует в окружении 2 объектов.
Эти 2 объекта уже не видны, Однако они принимают ОbjectSet().
Описание 2. Если deinit() было выполнено ObjectDelet()
То на втором старте число объектов =0,
Объекты создаются, меняется число объектов с 0 на 2, объекты принимают параметры,
но никак не отображаются.
SK2
SKF2
Да. Мы нашли проблему. Спасибо. После проверок будет доступен обновлённый 215 билд.
Кстати, SK, по поводу ценовых координат канала стандартных отклонений. Здесь проблема следующего рода: канал строится по временным координатам, от времени T1 до времени T2. Ценовые координаты высчитываются в процессе отрисовки канала. То есть, в визуальном режиме тестирования ценовые координаты P1 и P2 будут доступны после первой же отрисовки графика, и они будут отличаться от 0. При простом тестировании график не отрисовывается, и ценовые координаты так и остаются нулевыми. Будем думать, что с этим делать. Пока решения нет.
Да. Мы нашли проблему. Спасибо. После проверок будет доступен обновлённый 215 билд.
Кстати, SK, по поводу ценовых координат канала стандартных отклонений. Здесь проблема следующего рода: канал строится по временным координатам, от времени T1 до времени T2. Ценовые координаты высчитываются в процессе отрисовки канала. То есть, в визуальном режиме тестирования ценовые координаты P1 и P2 будут доступны после первой же отрисовки графика, и они будут отличаться от 0. При простом тестировании график не отрисовывается, и ценовые координаты так и остаются нулевыми. Будем думать, что с этим делать. Пока решения нет.
С каналами есть ещё такая проблема: они не отдают координаты, пока их не редронёшь. Насколько я понимаю, это побочный эффект общей проблемы, о кот. говорите Вы. По-моему, на объектах других типов это не наблюдается.
Необходимость исполнять WindowRedraw() на каждой итерации закленного эксперта приводит к замедлению скорости исполнения, ощутимо сказывается при тесировании. Если есть возможность, то думаю, что это нужно учесть при поиске общего решения.
Выложен обновлённый билд 215, датированный 14 апреля. Попробуйте его.
Выложен обновлённый билд 215, датированный 14 апреля. Попробуйте его.
ОК. Пробую.
Попробовал. Отношения с импорной функцией вроде бы в норме. Возможно, Вам будут интересны пара наблюдений.
1. Если в импортной функции не создаётся канал, то в режиме визуализации появление новых баров происходит равномерно. Если же канал создаётся, то в момент обращения к имп. функции график на некоторое время замирает (прибл. 1.5 сек), а потом бары появляются равномерно. Это было и раньше, возможно это вообще номально.
2. В момент обращения к имп. функции несколько раз конвульсивно моргала надпись в поле тестера Символ. В обновлённом билде явление не наблюдается.
Вопрос координат цены канала, насколько я понимаю, пока не решён.
to stringo to Rosh
Плавающие сбои и не работоспособность Gterminal в ТЕСТЕРЕ на некоторых компах МТ-4 215,
были локализируются следующим исполнением:
Создается новая линия TrendLine с координатами старой, существавшей по крайне мере несколько баров.
После чего старая удаляется.
Новая линия изредка может оказаться произвольной, т.е. стать например VerticalLine и обрести произвольные координаты.
Т.е. вроде бы завязывается на вертикальные линии.
Если вертикальныe линии совместно с трендовыми не употреблять, то и ошибок нет.
Сами вертикальные линии в тестере какие то непонятные. Ими трудно управлять, с первого раза не перемещаются.
Теперь пытаюсь эту ошибку поймать опосредовано.