Опубликована статья Разработка торговой системы по индикатору фракталов Fractals:
Автор: Mohamed Abdelmaaboud
Пожалуйста, ответьте на вопросы.
1. Почему вы используете значение фрактала на 2-м закрытом баре? Он еще не сформирован. Я думаю, вам следует использовать значение 3-го закрытого бара:
CopyBuffer(fracDef,UPPER_LINE,3,1,fracUpArray); CopyBuffer(fracDef,LOWER_LINE,3,1,fracDownArray);
2. Почему вы называете их торговыми системами? Они не совершают сделок. Только комментарии к графику.
2. Почему вы называете их торговыми системами? Они не совершают сделок. Только комментарии к графику.
Текущая свеча - 0, предыдущая - 1, а третья - 2, а не 3.
Торговые системы, как они запрограммированы, основаны на систематических и логических шагах, чтобы помочь вам торговать, даже если это комментарии, Вы можете добавить отправку ордеров, если вы тестировали их и нашли их полезными для вас.
Здравствуйте, я взял на себя смелость реализовать ваш пример "Fractals_with_Alligator" в предусмотренных для этого функциях (декларация/определение). Пожалуйста, поправьте меня, если яошибаюсь😊.
//создание массивов double fracUpArray[]; double fracDownArray[]; MqlRates priceArray[]; double jawsArray[]; double teethArray[]; double lipsArray[]; // init int fracDef; int Data; int alligatorDef; //получить значения double fracUpValue; double fracDownValue; double closingPrice; double jawsValue; double teethValue; double lipsValue; //создание переменных bool для одновременного получения сигналов на покупку и продажу bool isBuy; bool isSell; int OnInit() { //создание переменных bool для одновременного получения сигналов на покупку и продажу isBuy = false; isSell = false; ArraySetAsSeries(fracUpArray, true); ArraySetAsSeries(fracDownArray, true); ArraySetAsSeries(jawsArray, true); ArraySetAsSeries(teethArray, true); ArraySetAsSeries(lipsArray, true); fracDef = iFractals(_Symbol, _Period); Data = CopyRates(_Symbol, _Period, 0, 3, priceArray); alligatorDef = iAlligator(_Symbol, _Period, 13, 8, 8, 5, 5, 3, MODE_SMMA,PRICE_MEDIAN); return(INIT_SUCCEEDED); } void OnTick() { CopyBuffer(fracDef, UPPER_LINE, 2, 1, fracUpArray); CopyBuffer(fracDef, LOWER_LINE, 2, 1, fracDownArray); CopyBuffer(alligatorDef, 0, 0, 3, jawsArray); CopyBuffer(alligatorDef, 1, 0, 3, teethArray); CopyBuffer(alligatorDef, 2, 0, 3, lipsArray); //получить значения fracUpValue = NormalizeDouble(fracUpArray[0], 5); fracDownValue = NormalizeDouble(fracDownArray[0], 5); closingPrice = priceArray[0].close; jawsValue = NormalizeDouble(jawsArray[0], 5); teethValue = NormalizeDouble(teethArray[0], 5); lipsValue = NormalizeDouble(lipsArray[0], 5); //условия стратегии и комментарий к графику //в случае покупки if(lipsValue>teethValue && lipsValue > jawsValue && teethValue > jawsValue && closingPrice > teethValue && fracDownValue != EMPTY_VALUE) { Comment("Buy", "\n", "jawsValue = ", jawsValue, "\n", "teethValue = ", teethValue, "\n", "lipsValue = ", lipsValue, "\n", "Fractals Low around: ", fracDownValue); isBuy = true; } // end if //в случае продажи if(lipsValue < teethValue && lipsValue < jawsValue && teethValue < jawsValue && closingPrice < teethValue && fracUpValue != EMPTY_VALUE) { Comment("Sell", "\n", "jawsValue = ", jawsValue, "\n", "teethValue = ", teethValue, "\n", "lipsValue = ", lipsValue, "\n", "Fractals High around: ", fracUpValue); isSell = true; } // end if } void OnDeinit(const int reason) { EventKillTimer(); ObjectsDeleteAll(0,0,-1); IndicatorRelease(fracDef); IndicatorRelease(Data); IndicatorRelease(alligatorDef); ArrayFree(fracUpArray); ArrayFree(fracDownArray); ArrayFree(jawsArray); ArrayFree(teethArray); ArrayFree(lipsArray); Comment(""); }
Здравствуйте, спасибо за такую понятную статью... у меня в коде фрактала возникает ошибка (2024.11.10 17:42:12.121 _24 Dev 3 EA Strat1 (EURUSD,H1) _24 Dev 3 EA Strat1.mq5:void OnDeinit(const int):OnDeinit:48 Код ошибки:INDICATOR_DATA_NOT_FOUND ) .
При выполнении вашего кода я получаю ту же ошибку.
Не могли бы вы помочь. Я перепробовал множество различных комбинаций.
Спасибо за поддержку.
Джей
Я хотел бы узнать, действительно ли выгодно применять эту вашу систему?
Я реализовал фракталы/аллигаторы (используя ваши коды), и мой опыт показывает, что есть много ложных сигналов. Общая проблема с фракталами заключается в том, что мы опережаем сигнал фрактала на 2 свечи. Я комбинирую его с RSI (70/30) и другими индикаторами, чтобы посмотреть, смогу ли я найти качественные входы.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Разработка торговой системы по индикатору фракталов Fractals:
Перед вами новая статья из серии, в которой мы учимся создавать торговые системы на основе популярных технических индикаторов. Мы изучим еще один технический инструмент — индикатор Fractals, а также разработаем на его основе торговые системы для работы в терминале MetaTrader 5.
Фрактальные максимумы и минимумы
Для этой стратегии создадим торговую систему, которая будет возвращать максимумы и минимумы индикатора Fractals в виде комментария на графике. Для этого она будет отслеживать значения fracUp и fracDown. Если значение fracUp выше нуля или если его значение непустое, а fracDown — пустое, торговая система должна вернуть сигнал в виде комментария на графике со следующими значениями:
В другом случае, если значение fracDown выше нуля или если его значение непустое, а fracUp — пустое, торговая система должна вернуть сигнал минимума в виде комментария на графике со следующими значениями:
Схема такой стратегии показана на рисунке ниже:
Автор: Mohamed Abdelmaaboud