Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Некоторые вещи, которые можно добавить в качестве опций советника:
- вычисление уникального магического числа, возможно, чтобы оно давало одинаковый результат при изменении брокером названия символа (например, с "EURUSD" на "EURUSD.m")
- опции управления ордерами (трейлинг-стоп, безубыточность (в пунктах или других величинах, таких как psar, x bars high/low, ma и т.д.), закрытие ордера)
- обширная обработка информации об ордере по тикету ордера (для чего текстовый (или csv) файл кажется наиболее простым подходящим способом). GV ограничен, OrderComment() может быть изменен брокером.
Я немного опасаюсь делиться своими пользовательскими индикаторами и советниками, потому что если я это сделаю, и все начнут их использовать, они перестанут работать... Кто-нибудь еще согласен?
Я знаю, что это звучит немного эгоистично... но когда я доберусь до 5 миллионов, я поделюсь ;-)
Здравствуйте ребята, достаточно ли примера из учебника MQL4, если нам нужно простое и общее решение?
Мой советник торгует и делает расчеты на бар, а не на тик.
int Fun_Error(int Error) // Функция обработки ошибок
{
switch(Error)
{// Не критичные ошибки
case 4: Alert("Торговый сервер занят, попробуем еще раз...");
Sleep(3000);// Простое решение
return(1);// Выход из функции
case 135:Alert("Цена изменилась. Повторная попытка...");
RefreshRates();// Обновить ставки
return(1);// Выход из функции
case 136:Alert("Цены нет. Ждем нового тика...");
while(RefreshRates()==false) // Дождаться нового тика
Sleep(1);// Пауза в цикле
return(1);// Выход из функции
case 137:Alert("Брокер занят, попробуем еще раз...");
Sleep(3000);// Простое решение
return(1);// Выход из функции
case 146:Alert("Торговая подсистема занята. Повторная попытка...");
Sleep(500);// Простое решение
return(1);// Выход из функции
// Критические ошибки
case 2: Alert("Обычная ошибка.");
return(0);// Выход из функции
case 5: Alert("Старая версия терминала.");
Work=false;// Завершение работы
return(0);// Выход из функции
case 64: Alert("Счет заблокирован.");
Work=false;// Завершаем операцию
return(0);// Выход из функции
case 133:Alert("Торговля запрещена.");
return(0);// Выход из функции
case 134:Alert("Недостаточно средств для выполнения операции.");
return(0);// Выход из функции
default: Alert("Произошла ошибка: ",Error); // Другие варианты
return(0);// Выход из функции
}
}
Это может стать основой для действительно хорошей оболочки /шаблона советника: WHR - опытный кодер MT.
Изначально он был задуман как источник полезного кода советника, это не "plug and play" Shell.
Я обновил этот советник несколькими способами:
1. Я изменил синтаксис, имена переменных, чтобы он компилировался в текущих версиях MQL4.
Также добавил очень незначительные изменения, чтобы он компилировался, прокомментировал их "Big Be".
2. Включил все дополнительные секции кода, которые WHR поместил в тему.
Я оставил их на месте, но закомментировал те секции, которые были заменены.
Ошибки при добавлении этих секций возможны, хотя я был максимально внимателен.
Отсутствие полной интеграции с остальной частью советника также возможно.
3. Также я прогнал его через программу, которая очищает текстовый формат для удобочитаемости.
Советник начнет работать в тестере стратегий.
Он не будет заключать сделки, так как настройка правил входа остается на ваше усмотрение.
Я не занимался этим дальше, так как у меня есть другие требования к моему времени.
ТРЕБУЕТСЯ РАБОТА:
Несмотря на наличие комментариев, многие из них нуждаются в уточнении. Или написать, если их нет. Что делает каждый раздел или функция?
Пример: CallAgain() говорит "Пропустить бесполезные тики". Каков метод или логика? Вероятно, он берет только те тики, которые находятся достаточно далеко и/или в направлении торговли, если речь идет о трейлинг-стопе, но это нужно изучить, чтобы проверить.
Это позволит ему лучше выполнять свою роль источника идей, а также обеспечит работоспособность в качестве оболочки/шаблона советника.
ДАЛЬНЕЙШЕЕ ТЕСТИРОВАНИЕ:
Добавьте несколько правил входа и проверьте, что каждая секция делает то, что должна. Это потребует большого количества исследований в Тестере стратегий. И, возможно, немного кодирования здесь и там, чтобы заставить его делать то, что он должен. Когда все заработает, тогда придется много тестировать на демо-счете.
ПРЕДУПРЕЖДЕНИЯ:
По крайней мере одна функция неполная, и в этом коде могут быть ошибки или изменения в Metatrader с момента написания советника, которые недопустимы.
Кодировать/использовать советника, не понимая его, все равно что пытаться управлять самолетом, не понимая всех органов управления и как их использовать.
Но делайте, что хотите: это ваши деньги.
ЗАПРОС
Пожалуйста, помогите, если у вас есть необходимые знания и немного времени.
Big Be (BigBe)
Не могли бы вы объяснить, что такое pips2dbl?
Чтобы перевести PIP в тик.
Что такое TICK? -Форум по программированию на MQL4
Использование пунктов означает разрыв кода на четырехзначных брокерах, экзотике (например, USDZAR, где спред превышает 500 пунктов) и металлах. Вычислите, что такое PIP, и используйте его, а не пункты.
Как управлять парами JPY с параметрами? -Форум по программированию на MQL4
Проскальзывание, определенное в индексных пунктах - Валютные пары - Эксперты и автоматическая торговля - Форум по программированию MQL5