Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
FMOneEA - эксперт для MetaTrader 4
- Просмотров:
- 11009
- Рейтинг:
- Опубликован:
- 2016.01.04 10:59
- Обновлен:
- 2016.11.22 07:33
- Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
FMOneEA — скальпирующий советник для MetaTrader 4. Он работает только на часовом таймфрейме(PERIOD_H1).
Вычисления в FMOneEA основаны на индикаторах ZigZag и MACD на таймфрейме H1. Внимание: убедитесь, что индикатор ZigZag находится в <terminal_data_folder>\MQL4\Indicators\. Надеюсь, советник будет вам полезен.
Свойства по умолчанию для FMOneEA описаны ниже, результаты Тестера стратегий получены при этих настройках.
Последняя версия (обновление): 17/07/2015.
Обновления(21/04/2015):
- Усовершенствована формула сигнала, чтобы сделать ее более точной.
- Добавлена функция Redemption в Redemption Loss Order.
Обновление (29/04/2015):
- Исправлен код для Redemption и опция для умножения Lost Redemption.
- Исправлены коды для замедленного движения.
- Упрощена формула сигнала.
Обновление (26/05/2015):
- Исправлен код для Lots Redemption.
- Увеличена скорость работы советника.
- Улучшен код для Trailing Stop и Trailing Profit.
Если настройки: UseTrailingStop = True, AutoTrailingStop = True, а AutomaticTakeProfit = True, тогда при сдвигании стоп-лосса тейк-профит сдвигается тоже. Таким образом, тейк-профит становится динамичным.
Обновление (2/06/2015):
- Исправление ошибки в функции FM1Redemption().
- Добавлены скрипты для передвижения стоп-лосса к точке безубыточности (BEP), если ордер прибыльный, перед тем, как сработает трейлинг-стоп.
- Добавлена опция Maximum Lot Redemption (для увеличения Lots Redemption).
- Исправлена формула расчета сигнала в функции FMOneCalculation().
Обновление (16/07/2015):
- Исправлена ошибка для переменных массивов таймфреймов, поскольку массив mat [4] находился вне диапазона (в обновлении_5).
Обновление_07 (17/07/2015):
- Упрощена формула сигнала, без индикатора ZigZag.
Обновление_08 (17/08/2015):
- Улучшение структуры программы.
- Исправлены ошибки в открытии ордеров.
//--- Входные параметры (обновление_07 17/08/2015) input string FMOneEA = "Copyright © 2014 3RJ ~ Roy Philips-Jacobs"; input string FMOneEATF = "FMOneEA working on all Timeframes (M1 to MN1)"; input int FMOneEAPeriod = PERIOD_H4; // Рекомендуется использовать на таймфрейме H4 (PERIOD_H4) extern bool FridayTrade = True; // Если True, то эксперт торгует и в пятницу extern bool Redemption = True; // Разрешить Redemption Loss Order input string OptimizationLots = "Set LotsOptimization=True"; extern bool LotsOptimization = True; // Если True, переменная Lots будет рассчитываться советником, объем лота по умолчанию до оптимизации =0.01. extern double Lots = 0.01; // Если LotsOptimization=False, объем лота задается пользователем. extern double LotsRedempt = 2.0; // Значение умножения лотов, по умолчанию 2.0. extern double MaxLotsRedempt = 4.0; // Максимальное значение умножения лотов, по умолчанию - вчетверо от начального объема лота. extern int MaxOpenOrder = 12; // Максимально возможное количество открытых ордеров (максимальное количество пар = 12). // Валютные пары: EURAUD,AUDUSD,EURUSD,NZDUSD,GBPUSD,GBPAUD,XAUUSD,GBPJPY,EURJPY,USDJPY,USDCHF,USDCAD // input string AutomaticSystemTP = "Set AutomaticTakeProfit=True or False"; extern bool AutomaticTakeProfit = True; // Автоматический расчет TP советником; extern bool NoMinimumTakeProfit = True; // True or False -> If Set True, Советник устанавливает TP, не используя переменную MimnimumTakeProfit. input string MinimumSystemTP = "If Set NoMinimumTakeProfit=False"; // Советник устанавливает TP, не используя переменную MimnimumTakeProfit. extern double MinimumTP = 10; // Минимальный TP, используемый советником; если параметр AutomaticTakeProfit=True function, значение по умолчанию 10 input string ManualSystemTP = "If Set AutomaticTakeProfit=False"; // TP устанавливается вручную в терминале MT4; extern double TakeProfit = 20; // TP устанавливается торговой системой, значения могут устанавливаться пользователем, значение по умолчанию =20. input string AutomaticSystemSL = "Set AutomaticStopLoss=True"; extern bool AutomaticStopLoss = True; // SL вычисляется советником; input string ManualSystemSL = "If Set AutomaticStopLoss=False"; // Уровни SL задаются пользователем вручную в терминале; extern double StopLoss = 157; // значение SL, заданное пользователем. Значение по умолчанию 157. extern bool UseTrailingStop = True; // Использование Trailing Stop, True (да) or False (нет) extern bool AutoTrailingStop = True; // При настройке True советник сам считает трейлинг-стоп и игнорирует настройки пользователя. extern double TrailingStop = 14.0; // Значение для трейлинг-стопа, по умолчанию 14. extern double TrailingStopStep = 1.0; // Введите шаг трейлинг-стопа (по умолчанию 1.0) input string UsingSecureBEP = "Set UseSecureBEP == True or False"; //При True, советник использует точку безубыточности (BEP) для защиты ордера. extern bool UseSecureBEP = False; // При True, советник использует точку безубыточности (BEP) для защиты ордера
Результаты тестирования:
Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/12208
Индикатор BB_OsMA — OsMA в форме сфероидов с отклонением в виде восходящих или нисходящих полос.
RealValueExtendedРасширенная версия моего индикатора RealValue с новым параметром.
Пример создания информационных панелей.
F_RSIИндикатор RSI с динамическими уровнями.