dimka8: хочется увидеть goto,можно значительно упростить код не говоря о читабельности . ведь по сути цикл с условием тоже преждевременный выход из цикла .
dimka8: хочется увидеть goto,можно значительно упростить код не говоря о читабельности . ведь по сути цикл с условием тоже преждевременный выход из цикла .
Было бы здорово ввести понятие - проект. С освоением ООП все проги стали состоять из нескольких файлов. Неудобно постоянно перед компилированием переходить во вкладку с главным файлом, если правишь подключаемый. Ну или костыль: ввести программируемую кнопочку Компилировать, к которой можно привязывать заглавный файл проекта, с которым работаешь.
EMPTY_VALUE распространить на все типы, которые позволяют это (int, double, string и тд). Мелочь - но ей много где можно пользоваться, и не выдумывать свое.
В тестере сделать инструмент перекрестие, как в МТ.
Наверняка можно придумать вариант с наложением нескольких индикаторов в одном индикаторном окне под графиком цен.
Комфорт строится из мелочей. Разрабы не очень хотят принимать эту мысль, и постоянно чего-то глобалят. Может стоит иногда останавливаться, и уделять время мелким доработкам - комфорту пользователя?))))))
Примеры: Что бы три раза что нибудь померить на графике, нужно три раза ткнуть в кнопочку перекрестие (или нажать комбинацию клавиш). Индикаторные окна в ME под графиком нельзая поменять местами: все индикаторы удалять, потом выставить в нужном порядке. Опять же, что бы выставить несколько индикаторов, нужно несколько раз лезть в меню-подменю-выбрать индикатор. При том, что есть зачем-то инструмент Список индикаторов, который в этом деле ничего не упрощает и нового ничего не дает.... Думаю, каждый не думая выдаст таких примеров в MQL, в ME, в МТ, в тестере.... Ад! Куча мелкой суеты! При всей понятности и просторе пакета, он очень некомфортный, недоработанный.
Мне думается, что если действительно хочется чего-то улучшать, то стоит налаживать контакт с регулярными группами пользователей, которые активно используют пакет в различных направлениях (программинг, ручная торговля, тестинг и т.д.) и собирать с них обоснованные предложения по улучшению того, что есть, а не вопрошать в толпу, где все будут хотеть всего. Иначе все так и останется в буквах.
и добавить переменную CandleNumber в список наблюдения через Shift+F9
Если я захочу получить результат от вычисления части выражения, к примеру MathFloor(i/ticks_in_candle), то добавляя в наблюдение это выражение
получаю Expression could not be evaluated.
Возможно, я делаю что-то не так, поделитесь опытом, но суть сводится к тому, что нет возможности смотреть в отладке не только значения объявленных переменных, но и результаты вычисления произвольных выражений (естественно, речь идет о тех выражениях, где все переменные на текущий момент наблюдения уже инициализированы).
Далее хотелось бы видеть в отладке информацию по массивам, к примеру имеется массив UpTick[] и в данный момент доступно наблюдение только за одним элементом массива.
Почему бы не реализовать возможность добавить массив в наблюдение с открытием отдельного, как вариант, модального окна, где доступны все элементы с их индексами:
индекс тип значение
0 int 1
1 int 2 и т.д.
Если массив большой и требуется много памяти - ограничивать выборку.
И вообще как итог - реализовать более широкий функционал отладчика в плане возможностей наблюдения за произвольными выражениями, переменными, массивами.
EMPTY_VALUE распространить на все типы, которые позволяют это (int, double, string и тд). Мелочь - но ей много где можно пользоваться, и не выдумывать свое.
Дак все уже придумали. Используйте константу NULL.
В тестере сделать инструмент перекрестие, как в МТ.
Примеры: Что бы три раза что нибудь померить на графике, нужно три раза ткнуть в кнопочку перекрестие (или нажать комбинацию клавиш).
Открою Вам секрет, это уже реализовано. Нужно нажать на колесико мыши и будет перекрестие.
Наверняка можно придумать вариант с наложением нескольких индикаторов в одном индикаторном окне под графиком цен.
И это давно уже можно делать. Из навигатора перетаскиваете индикатор в окно с уже прикрепленным индикатором.
Индикаторные окна в ME под графиком нельзая поменять местами: все индикаторы удалять, потом выставить в нужном порядке.
ИМХО, не самая нужная вещь.
Опять же, что бы выставить несколько индикаторов, нужно несколько раз лезть в меню-подменю-выбрать индикатор. При том, что есть зачем-то инструмент Список индикаторов, который в этом деле ничего не упрощает и нового ничего не дает....
Есть навигатор, есть избранное, есть шаблоны, есть профили. Все можно настроить. Читайте справку по терминалу, откроете для себя много нового!
https://www.mql5.com/ru/docs/basis/types/integer/enumeration - статья в справке о перечислениях. Понятно, что они есть и как выглядят... А как пользоваться и в чем преимущество? Дайте простенький пример, если писать лень словами.
Перечисления используются для того, чтобы сделать код более читаемым, чтобы убрать из него константы, а вместо них поставить знакомые человеку сущности.
Например, значения перечисления ENUM_DAY_OF_WEEK можно использовать для сравнения со значением day_of_week структуры MqlDateTime. Т.е. можно написать так:
MqlDateTime dt;
TimeCurrent( dt );
if( dt.day_of_week == 0 )
{
// Что-то делаем в воскресенье
}
А можно написать иначе:
MqlDateTime dt;
TimeCurrent( dt );
if( dt.day_of_week == SUNDAY )
{
// Что-то делаем в воскресенье
}
SUNDAY - это именованная константа типа int со значением 0.
Как Вы думаете, как будет понятнее человеку, читающему код?
Перечисления используются для того, чтобы сделать код более читаемым
Есть ещё одно бескрайне полезное применение. Напр:
enum ENUM_OPEN_DIRECTION {
OPEN_BUY, // только Buy
OPEN_SELL, // только Sell
OPEN_BOTH, // Buy + Sell
OPEN_NONE // не торговать
};
input ENUM_OPEN_DIRECTION Trade_Direction = OPEN_BOTH; // Направление торговли:
И пользователь получает выпадающий список с выбором из 4х пунктов того, что вы там прописали в комментах - "только Buy", "только Sell" итд. Оч удобно для перечисления набора индикаторов, таймфреймов, набора условий и др. в окне пользовательских настроек
хочется увидеть goto,можно значительно упростить код не говоря о читабельности . ведь по сути цикл с условием тоже преждевременный выход из цикла .
хочется увидеть goto,можно значительно упростить код не говоря о читабельности . ведь по сути цикл с условием тоже преждевременный выход из цикла .
Откуда вы такие беретесь...
Пара слов:
Обязательная кросплатфоменность ....
Откуда вы такие беретесь...
из бейсика
еще проще Hiasm.
как тогда на счет классики
Было бы здорово ввести понятие - проект. С освоением ООП все проги стали состоять из нескольких файлов. Неудобно постоянно перед компилированием переходить во вкладку с главным файлом, если правишь подключаемый. Ну или костыль: ввести программируемую кнопочку Компилировать, к которой можно привязывать заглавный файл проекта, с которым работаешь.
EMPTY_VALUE распространить на все типы, которые позволяют это (int, double, string и тд). Мелочь - но ей много где можно пользоваться, и не выдумывать свое.
В тестере сделать инструмент перекрестие, как в МТ.
Наверняка можно придумать вариант с наложением нескольких индикаторов в одном индикаторном окне под графиком цен.
Комфорт строится из мелочей. Разрабы не очень хотят принимать эту мысль, и постоянно чего-то глобалят. Может стоит иногда останавливаться, и уделять время мелким доработкам - комфорту пользователя?))))))
Примеры: Что бы три раза что нибудь померить на графике, нужно три раза ткнуть в кнопочку перекрестие (или нажать комбинацию клавиш). Индикаторные окна в ME под графиком нельзая поменять местами: все индикаторы удалять, потом выставить в нужном порядке. Опять же, что бы выставить несколько индикаторов, нужно несколько раз лезть в меню-подменю-выбрать индикатор. При том, что есть зачем-то инструмент Список индикаторов, который в этом деле ничего не упрощает и нового ничего не дает.... Думаю, каждый не думая выдаст таких примеров в MQL, в ME, в МТ, в тестере.... Ад! Куча мелкой суеты! При всей понятности и просторе пакета, он очень некомфортный, недоработанный.
https://www.mql5.com/ru/docs/basis/types/integer/enumeration - статья в справке о перечислениях. Понятно, что они есть и как выглядят... А как пользоваться и в чем переимущество? Дайте простенький пример, если писать лень словами.
Мне думается, что если действительно хочется чего-то улучшать, то стоит налаживать контакт с регулярными группами пользователей, которые активно используют пакет в различных направлениях (программинг, ручная торговля, тестинг и т.д.) и собирать с них обоснованные предложения по улучшению того, что есть, а не вопрошать в толпу, где все будут хотеть всего. Иначе все так и останется в буквах.
По отладчику:
к примеру есть выражение вида
(int)(MathFloor((ticks_stored-1)/ticks_in_candle)-MathFloor(i/ticks_in_candle));
в текущей реализации отладки результат от вычисления выражения в отладчике будет доступен, если сделать так:
CandleNumber=(int)(MathFloor((ticks_stored-1)/ticks_in_candle)-MathFloor(i/ticks_in_candle));
и добавить переменную CandleNumber в список наблюдения через Shift+F9
Если я захочу получить результат от вычисления части выражения, к примеру MathFloor(i/ticks_in_candle), то добавляя в наблюдение это выражение
получаю Expression could not be evaluated.
Возможно, я делаю что-то не так, поделитесь опытом, но суть сводится к тому, что нет возможности смотреть в отладке не только значения объявленных переменных, но и результаты вычисления произвольных выражений (естественно, речь идет о тех выражениях, где все переменные на текущий момент наблюдения уже инициализированы).
Далее хотелось бы видеть в отладке информацию по массивам, к примеру имеется массив UpTick[] и в данный момент доступно наблюдение только за одним элементом массива.
Почему бы не реализовать возможность добавить массив в наблюдение с открытием отдельного, как вариант, модального окна, где доступны все элементы с их индексами:
индекс тип значение
0 int 1
1 int 2 и т.д.
Если массив большой и требуется много памяти - ограничивать выборку.
И вообще как итог - реализовать более широкий функционал отладчика в плане возможностей наблюдения за произвольными выражениями, переменными, массивами.
Дак все уже придумали. Используйте константу NULL.
В тестере сделать инструмент перекрестие, как в МТ.
Примеры: Что бы три раза что нибудь померить на графике, нужно три раза ткнуть в кнопочку перекрестие (или нажать комбинацию клавиш).
Открою Вам секрет, это уже реализовано. Нужно нажать на колесико мыши и будет перекрестие.
Наверняка можно придумать вариант с наложением нескольких индикаторов в одном индикаторном окне под графиком цен.
И это давно уже можно делать. Из навигатора перетаскиваете индикатор в окно с уже прикрепленным индикатором.
Индикаторные окна в ME под графиком нельзая поменять местами: все индикаторы удалять, потом выставить в нужном порядке.
ИМХО, не самая нужная вещь.
Опять же, что бы выставить несколько индикаторов, нужно несколько раз лезть в меню-подменю-выбрать индикатор. При том, что есть зачем-то инструмент Список индикаторов, который в этом деле ничего не упрощает и нового ничего не дает....
Есть навигатор, есть избранное, есть шаблоны, есть профили. Все можно настроить. Читайте справку по терминалу, откроете для себя много нового!
https://www.mql5.com/ru/docs/basis/types/integer/enumeration - статья в справке о перечислениях. Понятно, что они есть и как выглядят... А как пользоваться и в чем преимущество? Дайте простенький пример, если писать лень словами.
Перечисления используются для того, чтобы сделать код более читаемым, чтобы убрать из него константы, а вместо них поставить знакомые человеку сущности.
Например, значения перечисления ENUM_DAY_OF_WEEK можно использовать для сравнения со значением day_of_week структуры MqlDateTime. Т.е. можно написать так:
А можно написать иначе:
SUNDAY - это именованная константа типа int со значением 0.
Перечисления используются для того, чтобы сделать код более читаемым
Есть ещё одно бескрайне полезное применение. Напр:
И пользователь получает выпадающий список с выбором из 4х пунктов того, что вы там прописали в комментах - "только Buy", "только Sell" итд. Оч удобно для перечисления набора индикаторов, таймфреймов, набора условий и др. в окне пользовательских настроек