Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Значения переменных советника теряются при закрытии MT4
Привет всем,
Я искал и пробовал несколько решений моего вопроса, но не могу найти ни одного работающего.
Я программирую советника, и сделки обрабатываются по номерам тикетов. Номера билетов хранятся в переменной int. Это прекрасно работает в тестере стратегий или на непрерывном MT4, но если вы закрываете MT4, конечно, тикеты теряются, и когда MT4 перезагружается, номера тикетов теряются, следовательно, советник не знает, какие сделки в настоящее время открыты, и начинает открывать новые. Даже если отложенные или открытые ордера уже торгуются.
Надеюсь, это имеет смысл.
Я пробовал статические переменные и знаю о глобальных переменных, но я бы предпочел не использовать их, так как каждый номер тикета и переменная должны быть индивидуальны для TF графика и символа, на котором работает советник.
Есть ли у кого-нибудь простое решение. Я знаю, что, вероятно, можно экспортировать номера билетов в файл, который советник может открыть и прочитать, но это кажется долгим путем. Не очень аккуратный способ, который я сейчас тестирую, заключается в том, чтобы при запуске программы использовать функцию SELECT_BY_POS, ища каждую сделку с одинаковым магическим номером, но это не позволяет использовать всю функциональность советника, так как я иногда запускаю 2 покупки одновременно, и определить, какая из них какая, сложно.
Спасибо за любые ответы.
Всем привет,
Я искал и пробовал несколько решений моего вопроса, но не могу найти ни одного работающего.
Я программирую советника, и сделки обрабатываются по номерам билетов. Номера билетов хранятся в переменной int. Это прекрасно работает в тестере стратегий или на непрерывном MT4, но если вы закрываете MT4, конечно, тикеты теряются, и когда MT4 перезагружается, номера тикетов теряются, следовательно, советник не знает, какие сделки в настоящее время открыты, и начинает открывать новые. Даже если отложенные или открытые ордера уже торгуются.
Надеюсь, это имеет смысл.
Я пробовал статические переменные и знаю о глобальных переменных, но я бы предпочел не использовать их, так как каждый номер тикета и переменная должны быть индивидуальны для TF графика и символа, на котором работает советник.
Есть ли у кого-нибудь простое решение. Я знаю, что, вероятно, можно экспортировать номера билетов в файл, который советник может открыть и прочитать, но это кажется долгим путем. Не очень аккуратный способ, который я сейчас тестирую, заключается в том, чтобы при запуске программы использовать функцию SELECT_BY_POS, ища каждую сделку с одинаковым Magic-номером, но это не позволяет использовать всю функциональность советника, поскольку я иногда запускаю 2 покупки одновременно, и определить, какая из них какая, очень сложно.
Спасибо за любые ответы.Вместо номеров билетов попробуйте отслеживать свои ордера с помощью магических номеров. Это лучший способ, который я нашел.
Измените вот так:
if(Show_Settings) subPrintDetails(); else Comment("");
FerruFxСпасибо большое!!! Я протестирую это в воскресенье вечером. Я очень ценю вашу помощь! Хороших выходных!
Дэйв
Модификация советника
Здравствуйте
Буду очень признателен, если кто-нибудь сможет мне помочь. Есть советник, который я взял с другого форума FX. Он выглядит отлично, но я был бы признателен, если бы кто-нибудь помог сделать некоторые изменения в нем.
Я попробовал то немногое, что я думаю, я знаю, но он продолжает давать мне ошибки несбалансированных скобок e.t.c.
Советник открывает 5 лотов и фиксирует прибыль по 1 лоту при заданном значении прироста (скажем, 50 пунктов/пипсов). Таким образом, он закрывает 1 лот каждый раз, когда прибыль увеличивается на указанное число и, наконец, позволяет пятому/последнему лоту работать до тех пор, пока не появится противоположный сигнал.
Модификации:
Я хочу, чтобы он открывал только 3 лота,
закрывать по 1 лоту при увеличении прибыли на заданное количество пунктов.
После достижения первых двух точек Take profit, для третьей следует использовать трейлинг-стоп.
Иллюстрация:
3 лота
Инкрементная точка TP = 40 пунктов
TP 1-го лота = 40, стоплосс перемещен на BE
2-й лот TP = 80
3-й лот = активирован трейлинг-стоп
Все остальное уже есть в советнике, но мне просто нужно изменить размер лота и добавить трейлинг-стоп.
Спасибо
Спасибо большое!!! Я протестирую его в воскресенье вечером. Я очень ценю вашу помощь! Хороших выходных! Дэйв
Не за что, Дэйв. Наслаждайтесь воскресеньем!
FerruFx
рисование линии и стрелки вверх/вниз на свече
Я пытаюсь запрограммировать очень простой индикатор для рисования линии и стрелки вверх/вниз на свече.
Я не могу понять, как использовать эти style, index, draw и т.д.
У меня есть очень простой оператор if внутри Start(), так что еще мне нужно добавить перед Start() и внутри if Start(), чтобы нарисовать линию, стрелку вверх и стрелку вниз?
Спасибо.
Я пытаюсь запрограммировать очень простой индикатор для рисования линии и стрелки вверх/вниз на свече.
Я не могу понять, как использовать эти style, index, draw и т.д.
У меня есть очень простой оператор if внутри Start(), так что еще нужно добавить перед Start() и внутри if Start(), чтобы нарисовать линию, стрелку вверх и стрелку вниз?
Спасибо.Прежде чем пытаться рисовать с некоторыми условиями в функции Start(), необходимо установить/инициализировать буферы[].
Кодирование индикатора - это не простая работа. Возможно, вам придется изучить некоторые основы кодирования mql.
Желаю вам всего наилучшего в процессе обучения.
FerruFx
помогите
Здравствуйте товарищи программисты,
У меня есть советник, который торгует на EURUSD, когда я прикрепляю его к графику EURUSD. Вопрос в том, как я могу торговать несколькими парами без необходимости прикреплять советника к нескольким графикам?
Что-то вроде этого?
string pairs = "GBPUSD;EURUSD;USDCHF;USDJPY;USDCAD;GBPJPY;EURJPY;GBPCHF;EURAUD;EURCHF;EURGBP;AUDUSD;CHFJPY";
Заранее спасибо,
LF
Поручите вашему коду торговать конкретной парой, когда вы отправляете свой ордер, это очень просто, прямо в документации.
Используйте массив вместо строки, затем пройдитесь циклом по массиву, устанавливая порядок для каждой пары на каждой итерации. Если вы не использовали массивы раньше, просто посмотрите на них в файле справки. Они довольно просты.
Удачи
Lux