Обсуждение статьи "Набор инструментов для ручной разметки графиков и торговли (Часть III). Оптимизация и новые инструменты"
При компиляции английской версии могут возникнуть некоторые проблемы. В файле "Utilites.mqh" переводчик меняет символ пробела на другой.
Поэтому, если при компиляции вы видите ошибку "Declaration without type", сделайте двойной щелчок на строке с этим сообщением - IDE откроет эту строку в редакторе. Затем нужно выделить ОДИН неправильный символ (как обычно, он будет находиться между основным кодом и комментариями) и нажать Ctrl+H или выбрать Search -> Replace в главном меню.
В верхней строке (Поиск) IDE вставит "неправильный" символ, а в нижней строке (Заменить) нужно будет вставить простой пробел. Затем нажмите кнопку "Заменить все"...
Ну и последней операцией будет Compile(Ctrl+F7).

И я постараюсь отправить правильный файл модератору как можно скорее.
Здравствуйте. Отличный инструмент Вы создали. Я тоже ручник и искал такой.
Но у меня обычно открыто несколько окон (таймфреймов) одного инструмента на нескольких мониторах.
А есть ли возможность у MQL сделать, чтобы на всех открытых окнах инструмента появлялись эти
нарисованные объекты? Например, как это сделано платформе Tigertrade и других.
Например, нарисовал на 5 м, и этот же уровень появляется в окне с 1м.
Удивительно, что нет таких инструментов в MQL
Спасибо Вам огромное
Здравствуйте. Отличный инструмент Вы создали. Я тоже ручник и искал такой.
Но у меня обычно открыто несколько окон (таймфреймов) одного инструмента на нескольких мониторах.
А есть ли возможность у MQL сделать, чтобы на всех открытых окнах инструмента появлялись эти
нарисованные объекты? Например, как это сделано платформе Tigertrade и других.
Например, нарисовал на 5 м, и этот же уровень появляется в окне с 1м.
Удивительно, что нет таких инструментов в MQL
Спасибо Вам огромное
Файл "Utilites.mqh" содержит 101 ошибку, из которых следующие:
'New_Bar_First_Start' - объявление без типа Utilites.mqh 80 5
'mode' - ожидается запятая Utilites.mqh 80 25
'New_Bar_First_Start' - объявление без типа Utilites.mqh 1491 26
'mode' - ожидается запятая Utilites.mqh 1491 46
'mode' - необъявленный идентификатор Utilites.mqh 1511 18
'Is_Select_On_Create' - незаявленный идентификатор Graphics.mqh 307 45
'Print_Warning_Messages' - незаявленный идентификатор Graphics.mqh 249 8
'Print_Warning_Messages' - незаявленный идентификатор Graphics.mqh 361 8
'CMouse' не является классом, структурой или объединением Graphics.mqh 940 26
'Bar' - необъявленный идентификатор Graphics.mqh 940 34
'Bar' - ожидается некоторый оператор Graphics.mqh 940 34
'(' - ожидается точка с запятой Graphics.mqh 940 37
')' - ожидается Graphics.mqh 940 38
'allPrefixes' - необъявленный идентификатор Graphics.mqh 944 37
'[' - требуется массив Graphics.mqh 944 48
'CMouse' не является классом, структурой или объединением Graphics.mqh 959 6
'Below' - необъявленный идентификатор Graphics.mqh 959 14
'Ниже' - ожидается некоторый оператор Graphics.mqh 959 14
'(' - несбалансированная левая скобка Graphics.mqh 959 5
')' - ожидается выражение Graphics.mqh 959 20
')' - неожиданная лексема Graphics.mqh 959 21
недопустимое 'else' без совпадающего 'if' Graphics.mqh 968 3
переменная 'tmp_price' не используется Graphics.mqh 950 3
переменная 'tmp_time' не используется Graphics.mqh 954 3
'Simple_Vertical_Style' - необъявленный идентификатор Graphics.mqh 420 26
'Simple_Vertical_Width' - необъявленный идентификатор Graphics.mqh 422 26
'Simple_Horizontal_Style' - незаявленный идентификатор Graphics.mqh 430 28
'Simple_Horizontal_Width' - необъявленный идентификатор Graphics.mqh 432 28
'CMouse' не является классом, структурой или объединением Graphics.mqh 434 14
'Window' - необъявленный идентификатор Graphics.mqh 434 22
'Window' - ожидается некоторый оператор Graphics.mqh 434 22
')' - неожиданная лексема Graphics.mqh 434 29
'Print_Warning_Messages' - необъявленный идентификатор Graphics.mqh 439 10
'DEBUG_MESSAGE_PREFIX' - необъявленный идентификатор Graphics.mqh 442 15
'allPrefixes' - необъявленный идентификатор Graphics.mqh 451 9
'[' - обязательный массив Graphics.mqh 451 20
'Print_Warning_Messages' - необъявленный идентификатор Graphics.mqh 462 10
'DEBUG_MESSAGE_PREFIX' - необъявленный идентификатор Graphics.mqh 464 15
'CMouse' не является классом, структурой или объединением Graphics.mqh 469 39
'Price' - необъявленный идентификатор Graphics.mqh 469 47
'Price' - ожидается некоторый оператор Graphics.mqh 469 47
'(' - ожидается знак двоеточия ':' Graphics.mqh 469 52
')' - ожидается выражение Graphics.mqh 469 53
':' - неожиданная лексема Graphics.mqh 469 55
'(' - ожидаемое выражение Graphics.mqh 469 52
'=' - ожидается операнд Graphics.mqh 469 24
выражение не имеет эффекта Graphics.mqh 469 57
'CMouse' не является классом, структурой или объединением Graphics.mqh 470 37
'Time' - необъявленный идентификатор Graphics.mqh 470 45
'Time' - ожидается какой-то оператор Graphics.mqh 470 45
'(' - ожидается знак двоеточия ':' Graphics.mqh 470 49
')' - ожидается выражение Graphics.mqh 470 50
':' - неожиданная лексема Graphics.mqh 470 52
'(' - ожидаемое выражение Graphics.mqh 470 49
'=' - ожидаемый операнд Graphics.mqh 470 23
выражение не имеет эффекта Graphics.mqh 470 54
возможно использование неинициализированной переменной 'Current_Object_Time' Graphics.mqh 478 5
возможно использование неинициализированной переменной 'Current_Object_Price' Graphics.mqh 479 5
'Print_Warning_Messages' - необъявленный идентификатор Graphics.mqh 516 8
'DEBUG_MESSAGE_PREFIX' - необъявленный идентификатор Graphics.mqh 518 13
'DEBUG_MESSAGE_PREFIX' - незаявленный идентификатор Graphics.mqh 573 11
'DEBUG_MESSAGE_PREFIX' - незаявленный идентификатор Graphics.mqh 610 11
'allPrefixes' - необъявленный идентификатор Graphics.mqh 672 37
'[' - обязательный массив Graphics.mqh 672 48
'allPrefixes' - необъявленный идентификатор Graphics.mqh 674 39
'[' - обязательный массив Graphics.mqh 674 50
неявное преобразование из 'unknown' в 'string' Graphics.mqh 674 39
'CMouse' не является классом, структурой или объединением Graphics.mqh 676 19
'Bar' - необъявленный идентификатор Graphics.mqh 676 27
'Bar' - ожидается некоторый оператор Graphics.mqh 676 27
'(' - ожидается точка с запятой Graphics.mqh 676 30
')' - ожидается выражение Graphics.mqh 676 31
'CMouse' не является классом, структурой или объединением Graphics.mqh 681 6
'Below' - необъявленный идентификатор Graphics.mqh 681 14
'Ниже' - ожидается некоторый оператор Graphics.mqh 681 14
'(' - несбалансированная левая скобка Graphics.mqh 681 5
')' - ожидается выражение Graphics.mqh 681 20
')' - неожиданная лексема Graphics.mqh 681 21
недопустимое 'else' без совпадающего 'if' Graphics.mqh 687 3
переменная 'levels_descriptions' не используется Graphics.mqh 666 10
переменная 'time1' не используется Graphics.mqh 675 12
переменная 'time2' не используется Graphics.mqh 675 19
'Pitchfork_Shiff_Colour' - необъявленный идентификатор Graphics.mqh 771 23
'Pitchfork_Shiff_Width' - незаявленный идентификатор Graphics.mqh 772 23
'Pitchfork_Shiff_Style' - незаявленный идентификатор Graphics.mqh 773 23
'Pitchfork_Reverce_Colour' - незаявленный идентификатор Graphics.mqh 779 25
'Pitchfork_Reverce_Width' - незаявленный идентификатор Graphics.mqh 780 25
'Pitchfork_Reverce_Style' - незаявленный идентификатор Graphics.mqh 781 25
'Pitchfork_Main_Colour' - незаявленный идентификатор Graphics.mqh 787 25
'Pitchfork_Main_Width' - незаявленный идентификатор Graphics.mqh 788 25
'Pitchfork_Main_Style' - незаявленный идентификатор Graphics.mqh 789 25
'CMouse' не является классом, структурой или объединением Graphics.mqh 824 26
'Price' - необъявленный идентификатор Graphics.mqh 824 34
'Price' - ожидается некоторый оператор Graphics.mqh 824 34
'(' - ожидается точка с запятой Graphics.mqh 824 39
')' - ожидается выражение Graphics.mqh 824 40
'CMouse' не является классом, структурой или объединением Graphics.mqh 825 21
'Bar' - необъявленный идентификатор Graphics.mqh 825 29
'Bar' - ожидается некоторый оператор Graphics.mqh 825 29
'(' - ожидается точка с запятой Graphics.mqh 825 32
')' - ожидается выражение Graphics.mqh 825 33
'CMouse' не является классом, структурой или объединением Graphics.mqh 829 6
'Below' - необъявленный идентификатор Graphics.mqh 829 14
'Ниже' - ожидается какой-то оператор Graphics.mqh 829 14
'(' - несбалансированная левая скобка Graphics.mqh 829 5
')' - ожидается выражение Graphics.mqh 829 20
')' - неожиданная лексема Graphics.mqh 829 21
недопустимое 'else' без совпадающего 'if' Graphics.mqh 833 3
переменная 'base' не используется Graphics.mqh 827 19
'Short_Level_Length_In_Pixels' - необъявленный идентификатор Graphics.mqh 1050 6
'Short_Level_Length_Pix' - незаявленный идентификатор Graphics.mqh 1053 20
101 ошибка, 11 предупреждений 101 12
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Набор инструментов для ручной разметки графиков и торговли (Часть III). Оптимизация и новые инструменты:
Развитие темы рисования графических объектов на графиках с помощью сочетаниях клавиш. В библиотеку добавлены новые инструменты, в частности, прямая, которая идёт по произвольным вершинам, и набор прямоугольников, позволяющих оценить как уровень, так и время разворота. Также показана возможность оптимизации кода для улучшения быстродействия. Пример реализации переписан в виде индикатора, что даёт возможность устанавливать Shortcuts рядом с другими программами для торговли. Уровень владения кодом — чуть выше начинающего.
Первая фишка связана с эффектом смещения линий на младших тамфреймах. Если рисовать линии обычным способом, то при переключении между "временными окнами" будет нарисовано что-то похожее на следующие картинки:
Видно, что левый край линии, точно совпадающий с экстремумом на периоде D1, на периоде 4 часа смещен влево и с экстремумом не совпадает. Это — вполне очевидный эффект, связанный с тем, что экстремум дня не обязан приходиться на его начало. И если хочется большей точности, то при рисовании вручную можно нарисовать линию приблизительно, затем "спуститься" на младшие таймы и подправить концы.
Вот только это хорошо для одного, ну, двух графиков... А если их 20? Или 100? Это раздражает...
И, поскольку автоматическая функция рисования уже есть, почему бы не поручить ей эту рутинную работу при создании каждого объекта?
Автор: Oleh Fedorov