Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всем доброго дня и хорошего настроения!
Продолжаю изучение языка программирования MQL5. В код Василия Соколова внёс небольшое изменение для того, чтобы открывалась только одна позиция в день, как изначально и было задумано в алгоритме работы советника. Изменение выделено желтым цветом.
С уважением, Владимир.
OnInit блок тоже перемудрен и все равно написан не совсем корректно. Во-первых нужно стремится писать идентификаторы, а не числа. Возвращаеть не -1, а INIT_FAILED не 0, а INIT_SUCCEEDED. Во-вторых switch здесь излишен. Нужно писать либо if либо switch. Писать сначала одно, потому другое - масло масленное.
В третьих нужно контролировать все варианты типа счета. Есть демо, есть реал. А еще есть Contest. Но даже если бы третьего счета не было, должна стоять заглушка которая бы отлавливала все прочие варианты:
Наверное разумнее объяснить работу с исключениями, иначе не будет понимания, зачем вообще контролировать то, о чем не знаешь.
В самом утрированном понимании должно быть так:
1. старт программы на выполнение
2. отработка алгоритма и выход из него по двум направлениям:
а) Истина - алгоритм отработал верно
б) Ложь - алгоритм не отработал
При этом отработка по а) говорит о том, что тут отрабатываются все варианты, которые программист хочет реализовать, а по б) все остальное и не важно, нужно оно или нет. Т.е. программист реализовывает тольтко тот функционал, который он закладывает, а все остальное должно выкидываться исключением.
Наверное разумнее объяснить работу с исключениями, иначе не будет понимания, зачем вообще контролировать то, о чем не знаешь.
В самом утрированном понимании должно быть так:
1. старт программы на выполнение
2. отработка алгоритма и выход из него по двум направлениям:
а) Истина - алгоритм отработал верно
б) Ложь - алгоритм не отработал
При этом отработка по а) говорит о том, что тут отрабатываются все варианты, которые программист хочет реализовать, а по б) все остальное и не важно, нужно оно или нет. Т.е. программист реализовывает тольтко тот функционал, который он закладывает, а все остальное должно выкидываться исключением.
Здравствуйте, Константин! Спасибо Вам за разъяснение.
Уважаемые участники данной темы! Хочу ещё раз всех Вас поблагодарить за конструктивные подсказки и советы, которые помогли мне в изучении языка программирования MQL5.
Сейчас наступила пауза, т.к. дела на основной работе не дают уделять много времени и внимания самообучению, но на настоящий момент главный результат мною достигнут - азы программирования понимаю, чужие коды читаю, собственные функции пишу.
Версию советника Trailing_Stop (v.1).mq5 с подробными комментариями каждой строчки кода, в изложении доступном для ученика 1-го класса школы программирования, как и обещал ранее, опубликую, но немного позже.
С уважением, Владимир.
Всем доброго дня и хорошего настроения!
Продолжаю изучение языка программирования MQL5. Наконец-то появилось немного времени, чтобы написать версию советника с подробными комментариями каждой строчки кода, в изложении доступном для ученика 1-го класса школы программирования. В связи с тем, что код советника получился достаточно громоздким, публикую его в виде файла c названием Trailing_Stop_gv.22.mq5.
Перед публикацией кода была произведена проверка работы советника в тестере стратегий. Проблемы не выявлены. В советнике применена неттинговая система учёта позиций. Эта система учета подразумевает, что в один момент времени на счете может быть только одна открытая позиция по одному и тому же символу (финансовому инструменту).
На настоящий момент в советнике реализована возможность:
В данном варианте советника реализовано большинство подсказок, ранее предложенных Василием Соколовым.
ПРЕДУПРЕЖДЕНИЕ!!!
Советник разрабатывался согласно плана самообучения для демо-счёта и исключительно в учебных целях! Не предназначен для торговли на реальном счёте и извлечения прибыли!
С уважением, Владимир.
Всем доброго дня и хорошего настроения!
Продолжаю изучение языка программирования MQL5. Наконец-то появилось немного времени, чтобы написать версию советника с подробными комментариями каждой строчки кода, в изложении доступном для ученика 1-го класса школы программирования. В связи с тем, что код советника получился достаточно громоздким, публикую его в виде файла c названием Trailing_Stop (v.2).mq5.
Перед публикацией кода была произведена проверка работы советника в тестере стратегий. Проблемы не выявлены. В советнике применена неттинговая система учёта позиций. Эта система учета подразумевает, что в один момент времени на счете может быть только одна открытая позиция по одному и тому же символу (финансовому инструменту).
На настоящий момент в советнике реализована возможность:
В данном варианте советника реализовано большинство подсказок, ранее предложенных Василием Соколовым.
ПРЕДУПРЕЖДЕНИЕ!!!
Советник разрабатывался согласно плана самообучения для демо-счёта и исключительно в учебных целях! Не предназначен для торговли на реальном счёте и извлечения прибыли!
С уважением, Владимир.
Здравствуйте! - не компилируется.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
разобрался - имя нужно без скобок создавать эксперта Trailing_Stop (v.2)
Здравствуйте! - не компилируется.
Здравствуйте! Только что скачал файл с сайта и проверил в своем MetaEditor, все нормально компилируется.
С уважением, Владимир.
Здравствуйте! Только что скачал файл с сайта и проверил в своем MetaEditor, все нормально компилируется.
С уважением, Владимир.
Спасибо! за работу. я имя, не правильно вписал при создании эксперта. всё работает.
Спасибо! за работу. я имя, не правильно вписал при создании эксперта. всё работает.
Пожалуйста!
С уважением, Владимир.
Уважаемые участники данной темы!
Хочу ещё раз всех Вас поблагодарить за конструктивные предложения, подсказки и советы, которые помогли мне в изучении основ языка программирования MQL5. Особую благодарность выражаю Василию Соколову! Дай бог Вам всем здоровья и благополучия!
С большим уважением ко всем, Владимир.
Всем доброго дня и хорошего настроения!
Продолжаю изучать язык программирования MQL5. В настоящий момент пишу программный код нового советника. Столкнулся с одним моментом, который не до конца понимаю, как его решить. Задача вроде бы простая - нужно чтобы советник работал на графике только той валютной пары, которая задана во входных параметрах настройки советника. Если будет попытка (например, по ошибке) установить его на график другой валютной пары, то советник должен сделать предупреждение о невозможности продолжить работу.
Вот наброски программного кода:
Компилятор ошибок не выдает. Желтым цветом выделил тот код, который не работает. Наверное из-за того, что не совсем правильно понимаю смысл идентификатора SYMBOL_DESCRIPTION - строковое описание символа. Пробовал применять другие идентификаторы, но результат тот же. А может функция SymbolInfoString() здесь вообще не нужна? Название валютной пары написал GBPUSDrfd только потому, что советник планирую использовать на Альфа-Форексе, а у этого форекс-дилера абсолютно все символы имеют окончание rfd.
Уважаемые специалисты, подскажите, пожалуйста, в каком направлении нужно думать!
С уважением, Владимир.