[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 470
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А как оптимизируете параметры мультивалютника? В тестере MT4 ведь нет возможности сразу несколько инструментов тестировать... Я думаю над мультивалютником и пока пришёл к тому, что параметры оптимизируются на каждом инструменте по отдельности, а для торговли потом все эти параметры переносить в эксперт, который предназначен для мультивалютного режима.
Я в правильном направлении двигаюсь или всё проще на самом деле?)))
В mql5 это всё можно реализовать в одном эксперте сразу и для тестов и для торговли, но я пока решил mql4 изучить.
Просто размышляя на эту тему я подумал, если нельзя протестировать несколько инструментов сразу, зачем тогда в один эксперт всё городить, если можно на каждый график инструмента просто установить свою копию и будет тоже самое. Хотелось бы услышать мнения членов сообщества.)))
ответить
Извините, не понял ответ
Смотри поиском по запросу через гугл: "как правильно оптимизировать советника site:mql4.com", также - здесь.
Рекомендую грамотную книжку по этому же вопросу: Ральф Винс "Разработка, тестирование и оптимизация торговых систем для биржевого трейдера" - все подробно, по полочкам и понятно.
Задача: на рисунке показана некая кривая (например МА). Точки A,C,E - это локальные максимумы, а точки B,D - это локальные минимумы. Вопрос: как их вычислить, если расстояние между соседними максимумом и минимумом больше, чем N пунктов? Попыталась сделать, но как-то уж слишком громоздко все получается. Может есть готовый алгоритм решения подобной задачи? Подскажите, если кто сталкивался
Задача: на рисунке показана некая кривая (например МА). Точки A,C,E - это локальные максимумы, а точки B,D - это локальные минимумы. Вопрос: как их вычислить, если расстояние между соседними максимумом и минимумом больше, чем N пунктов? Попыталась сделать, но как-то уж слишком громоздко все получается. Может есть готовый алгоритм решения подобной задачи? Подскажите, если кто сталкивался
Определяем направление скользящей.
Если оно вверх и при этом переемнные В,C,D и E пустые, то вносим в переменную А текущее значение скользящей.
Если Переменная А не пустая и при этом скользящая направлена вниз, и при этом переменные С,D,E пустые, то в переменную В вносим текущее значение скользящей. Если переменная А и переменная B не пустые и при этом скользящая направлена вверх и при этом переменные D и Е - пустые, то в переменную С вносим текущее значение скользящей.
Ну и так далее заполняем значения переменных значениями.
Теперь если переменная А и С не пустые и при этом модуль разности между А и С более или равен заранее заданному количеству пунктов, то выполняется задуманное Вами действие.
Вобщем, код сделать вполне можно. Только нужно определить, в какой именно точке алгоритма мы будем обнулять переменные чтоб советник понял, что он пришёл в точку нового старта. Можно через цикл и массивы сделать и вполне возможно, что код окажется короче и проще, но для понимания лучше рассмотреть алегоритм именно через переменные - ну просто чтоб не путаться в индексах массивив и в номерах свеч в цикле.
Ребята, недавно, столкнулся с данным вопросом. Кто в теме - прокомментируйте. Сам - благо быстро нашел ошибку... При написании кода - все компилится без ошибок, при этом не работает трал... т.е. не идем дальше по циклу перебора ордеров... Участки кода - привожу... Ошибка была в следующем - во внешних переменных магик ордера был задан с большой буквы, а в условиях перебора ордеров в цикле - с маленькой, при этом поиск через CTRL+F - на запрос "Мagic" переходил и на "magic"...компилятор ошибки не выдавал, но в цикле до перехода на вид трала исполнение программы не доходило... цикл прерывался на "magic"... Вообще, так и должно быть??? Я всегда считал, что "magic" и "Magic" - это разные переменные... и, следовательно, компилятор должен был указать на эту ошибку, что переменная "magic" - не определена... В коде, в таком виде, как сейчас исполнение до выбора трала и Printa () уже не доходит - выход из цикла по этому условию - из-за magic - т.е. это условие - никогда выполнено не будет, из-за различных имен - "magic" и "Magic".
П.С. Кто не в курсе - знайте об этом, иначе возможно не понятно сколько провозекаться с кодом...
Ребята, недавно, столкнулся с данным вопросом. Кто в теме - прокомментируйте. Сам - благо быстро нашел ошибку... При написании кода - все компилится без ошибок, при этом не работает трал... т.е. не идем дальше по циклу перебора ордеров... Участки кода - привожу... Ошибка была в следующем - во внешних переменных магик ордера был задан с большой буквы, а в условиях перебора ордеров в цикле - с маленькой, при этом поиск через CTRL+F - на запрос "Мagic" переходил и на "magic"...компилятор ошибки не выдавал, но в цикле до перехода на вид трала исполнение программы не доходило... цикл прерывался на "magic"... Вообще, так и должно быть??? Я всегда считал, что "magic" и "Magic" - это разные переменные... и, следовательно, компилятор должен был указать на эту ошибку, что переменная "magic" - не определена... В коде, в таком виде, как сейчас исполнение до выбора трала и Printa () уже не доходит - выход из цикла по этому условию - из-за magic - т.е. это условие - никогда выполнено не будет, из-за различных имен - "magic" и "Magic".
П.С. Кто не в курсе - знайте об этом, иначе возможно не понятно сколько провозекаться с кодом...
У меня если объявлена Magic, а орбащение идет к magic, то компилятор пишет, что переменная magic не объявлена.
MetaEditor 4 401.
Ребята, недавно, столкнулся с данным вопросом. Кто в теме - прокомментируйте. Сам - благо быстро нашел ошибку... При написании кода - все компилится без ошибок, при этом не работает трал... т.е. не идем дальше по циклу перебора ордеров... Участки кода - привожу... Ошибка была в следующем - во внешних переменных магик ордера был задан с большой буквы, а в условиях перебора ордеров в цикле - с маленькой, при этом поиск через CTRL+F - на запрос "Мagic" переходил и на "magic"...компилятор ошибки не выдавал, но в цикле до перехода на вид трала исполнение программы не доходило... цикл прерывался на "magic"... Вообще, так и должно быть??? Я всегда считал, что "magic" и "Magic" - это разные переменные... и, следовательно, компилятор должен был указать на эту ошибку, что переменная "magic" - не определена... В коде, в таком виде, как сейчас исполнение до выбора трала и Printa () уже не доходит - выход из цикла по этому условию - из-за magic - т.е. это условие - никогда выполнено не будет, из-за различных имен - "magic" и "Magic".
П.С. Кто не в курсе - знайте об этом, иначе возможно не понятно сколько провозекаться с кодом...
Сравните с моим простейшим тралом. В частности цикл перебора ордеров:
Думаю принцип ясен будет.
А переменные magic и Magic - действительно разные. Во время поиска их по Ctrl+F поставьте галочку "Учитывать регистр"
Где-то в коде вы всё-таки объявили их обе
А переменные magic и Magic - действительно разные. Во время поиска их по Ctrl+F поставьте галочку "Учитывать регистр"
Где-то в коде вы всё-таки объявили их обе
:-)))
Получалось, в ф-ии открытия ордеров я учитывал - Magic, а в цикле - magic, поэтому цикл перебора ордеров для их трала и не работал...:-)))
От души благодарю Вас - разобрался с вопросом. Галочку "Учитывать регистр" - поставил - все работает исправно.
П.С. От как бывает-то!!!... (Когда пруха по коду идет - готов и не только по нескольку маджиков объявлять...:-))))
Сравните с моим простейшим тралом. В частности цикл перебора ордеров:
Думаю принцип ясен будет.