Разработать индикатор, который будет агрегировать данные из нескольких других индикаторов (двух или трех экземпляров) (Ozymandias_Extended_HTF и HeikenAshi)

Auftrag beendet

Ausführungszeit 16 Tage

Spezifikation


У меня есть простая стратегия, я хочу получать алерты о смене цвета индикаторов, и нужен простой торговый робот. У меня есть два доработанных индикатора Ozymandias и HeikenAshi.  https://www.mql5.com/ru/code/12604  вышлю доработанную версию.   https://www.mql5.com/ru/code/481

Общее описание
Разработать индикатор, который будет агрегировать данные из нескольких других индикаторов (двух или трех экземпляров) (Ozymandias_Extended_HTF и HeikenAshi) и реализовывать простейший торговый алгоритм на основе данных из этих массивов.
Индикатор должен предоставлять возможность настройки параметров для каждого подключаемого индикатора, а также гибкие правила для открытия позиций.
В массивах должны быть только "текущие данные", история баров не нужна. Поэтому можно использовать и структуру, что лично мне более понятно, но можно и классы. 
Цвета индикаторов: синий = лонг, желтый = шорт.

Пример: такое мне привычнее и понятнее, но если будут классы, то наверное это лучше.
struct OziData {
    double upperBoundary;
    double lowerBoundary;
    double median;
    bool isBlue; // Цвет индикатора (синий или нет)
};

struct HeikenAshiData {
    double hiPrev;
    double lowPrev;
    bool isBlue; // Цвет свечи (синий или нет)
};

// Пример использования
ozi_m5.upperBoundary = CalculateUpperBoundary(M5);
ozi_m5.lowerBoundary = CalculateLowerBoundary(M5);
ozi_m5.isBlue = IsColorBlue(M5);

heiken_ashi_m1.hiPrev = GetHiPrev(M1);
heiken_ashi_m1.lowPrev = GetLowPrev(M1);
heiken_ashi_m1.isBlue = IsCandleBlue(M1);



Параметры агрегируемых индикаторов (новых параметров нет, только те, которые присутствуют в самих индикаторах), т.е. нужно получить хэндл и записать данные в массив\структуру. Если таймфрейм задан как 5 минут, то получать данные раз в 5 минут, если 1 час, то раз в час, чтобы не нагружать.
Настройки Ozymandias_Extended_HTF:
TimeFrame: Таймфрейм, на котором работает индикатор.
Length: Период для расчета основной линии индикатора.
MAType: Метод скользящей средней (например, SMMA).
ChannelKoef: Коэффициент для расчета "двойных" границ канала.
Настройки HeikenAshi:
Timeframe: Таймфрейм для анализа свечей Heiken Ashi.

Пример
ozymandias_htf_extended1
    TimeFrame: M30
    Length: 2
    MAType: SMMA
    ChannelKoef: 1.5

ozymandias_htf_extended2
    TimeFrame: H1
    Length: 2
    MAType: SMMA
    ChannelKoef: 1.5

ozymandias_htf_extended3
    TimeFrame: H4
    Length: 2
    MAType: SMMA
    ChannelKoef: 2.0
HeikenAshi_1
    Timeframe: M15
HeikenAshi_2
    Timeframe: M30


Структура данных и массивы
Массивы для хранения данных. Какие данные я хочу видеть в массиве.
Для Ozymandias_Extended_HTF:
ЗначениеВерхнейГраницы: Текущее значение верхней границы канала.
ЗначениеНижнейГраницы: Текущее значение нижней границы канала.
ТекущийЦвет: Цвет индикатора (синий или желтый). Можно через булево реализовывать.

ЗначениеМедианы: Значение центральной линии индикатора.

Некоторые еще производные значения.

Для HeikenAshi:
ЦенаHi_Prev: Максимальная цена предыдущего бара.
ЦенаLow_Prev: Минимальная цена предыдущего бара.
ЦенаHi_Prev_Prev: Максимальная цена предпредыдущего бара.
ЦенаLow_Prev_Prev: Минимальная цена предпредыдущего бара.
color_Prev: Цвет текущей свечи.
color_Prev_Prev: Цвет предыдущей свечи.
color_Prev_Prev_Prev: Цвет предпредыдущей свечи.
СменаЦвета: Булево значение, указывающее, была ли смена цвета между предыдущими свечами. Если color_Prev не равен color_Prev_Prev, то результат является истинным. Проверка выполняется в соответствии с выбранным таймфреймом индикатора, например, если таймфрейм составляет 5 минут, то сравнение происходит раз в 5 минут на новом баре, а не на каждом тике внутри этого периода.
ThreeCandleColorChange: Булево значение, указывающее, является ли текущая комбинация свечей "третий бар от текущего отличается по цвету от двух других". Истина, если выполняется одно из следующих условий:
color_Prev_Prev_Prev синий, а оба color_Prev_Prev и color_Prev красные и ЦенаHi_Prev > ЦенаHi_Prev_Prev;
color_Prev_Prev_Prev красный, а оба color_Prev_Prev и color_Prev синие и ЦенаLow_Prev < ЦенаLow_Prev_Prev

Настройки основного торгового индикатора, который использует данные массивов:
input bool TradeOnColorMatchChannele = true; Открывать позиции в лонг, если цена находится между нижней границей канала и медианой, а цвет индикатора Ozymandias синий. Соответственно, открывать позиции в шорт, если цена расположена между верхней границей канала и медианой, а цвет индикатора Ozymandias желтый.
input double OrderPriceShift = 5; // Размер в пунктах, для расчета цены устанавливаемой заявки. Вычитается из цены Low_Prev если цвет синий, или прибавляется к Hi_Prev если цвет красный. По умолчанию 100.
Stoploss: // Размер в пунктах, для расчета цены Stoploss устанавливаемой заявки. Вычитается из цены Hi_Prev если цвет синий, или прибавляется к Low_Prev если цвет красный. По умолчанию 100. Аналогично OrderPriceShift, только наоборот.
ContractCount: Количество контрактов для входа.
AlertTelegram: Булево значение, указывающее, отправлять ли уведомления в Telegram.
TakeProfit: Перечисление, определяющее способ расчета Take Profit.
enum TakeProfitMethod
{
    RATIO_1_TO_1 = 1,   // Соотношение 1:1 (тейк-профит равен стоп-лоссу)
    RATIO_1_TO_2 = 2,   // Соотношение 1:2 (прибыль в два раза больше риска)
    RATIO_1_TO_3 = 3,   // Соотношение 1:3 (прибыль в три раза больше риска)
    RATIO_1_TO_4 = 4,   // Соотношение 1:4 (прибыль в четыре раза больше риска)
    RATIO_1_TO_5 = 5,   // Соотношение 1:5 (прибыль в пять раз больше риска)
    RATIO_1_TO_6 = 6,   // Соотношение 1:6 (прибыль в шесть раз больше риска)
    RATIO_1_TO_7 = 7,   // Соотношение 1:7 (прибыль в семь раз больше риска)
    RATIO_1_TO_10 = 10, // Соотношение 1:10 (прибыль в десять раз больше риска)
    REVERS_SIGNAL,      // Обратный сигнал (тейк-профит ждет когда появится обратный сигнал. Если была лонговая позиция открыта, то ожидает шортовый сигнал)
    NONE                // Тейк-профит не используется
};

Торговая стратегия:
Если произошла смена цвета индикатора ozymandias_htf_extended1 и цвет ozymandias_htf_extended1 синий, и цвет ozymandias_htf_extended2 синий, и цвет ozymandias_htf_extended3 синий, и HeikenAshi_1 синий, и HeikenAshi_2 синий тогда установить заявку на покупку, рассчитать цену её установки, и размер стоп лосса. И установить её. Выдать алерт в телеграмм.
Если цвет ozymandias_htf_extended1 стал синий,то отправить алерт в телеграм.

Блок-схема алгоритма
Инициализация:
Получить рассчитать параметры индикаторов.
Создать, заполнить массивы данными индикаторов
Расчет данных:
Для каждого Ozymandias_Extended_HTF:
Рассчитать границы, медиану, цвет, первое касание ценой, и другие данные
Для каждого HeikenAshi:
Рассчитать цены и цвета свечей.
Проверить смену цвета и условие "звезды".
По данным массивов  принять решение об открытии сделки:
Проверить условия для открытия позиций.
Рассчитать цену входа, Take Profit и Stop Loss.
Установить заявку на открытие позиции со своим ID
Управление позициями:
Установить заявку тейкпрофита для заданного ID.
Удалить заявку тейкпрофита если позиция исчезал по стоплосс.
Перевести стоп-лосс в безубыток.
Закрыть позиции при смене цвета.
Оповещения:
Отправить уведомления в Telegram.

Индикатор будет усложняться и дописываться в дальнейшем, поэтому развивать его с вами дальше, начинаем с простого функционала. 

Могу записать видео, где подробно расскажу.

Bewerbungen

1
Entwickler 1
Bewertung
(175)
Projekte
225
20%
Schlichtung
19
42% / 16%
Frist nicht eingehalten
0
Beschäftigt
2
Entwickler 2
Bewertung
(5)
Projekte
7
0%
Schlichtung
8
13% / 75%
Frist nicht eingehalten
3
43%
Frei
Ähnliche Aufträge
Торговый робот для Форекс сцепка трейдинг вью и мт4. Алгоритм работы робота на основе отскока ценовых уровней коррекции Фибоначчи и временных периодов Фибоначчи а так же на основе коррекции Фибоначчи выставление тейк профита и стоп лоса Исполнитель должен быть с города Ижевск
Нужен Expert Advisor, который позволяет входить в рынок и закрывать позицию по нажатию определённых клавиш, с автоматической установкой SL/TP и отображением уровней на графике. Также EA должен позволять вручную двигать SL и TP по определённым клавишам. В техническом задании отображена клавиатура как основной источник ввода команд, но на данный будет использоваться Haute42 R16, который эмулирует нажатие кнопок
Нужно прописать проскальзывание, отладить трейлинг стоп, так же проработать пинг через дата-центр на определённом сете, советник торгует, но на разных счетах по разному, есть логи и история счёта, проверял на 8 счетах в течении месяц, буду благодарен если поможете
Добрый день! Требуется индикатор по паттернам волн Эллиотта "треугольник" и "диагональ". На первый взгляд, может показаться запутанно, но я могу в течении короткого созвона показать логику работы индикатора на графике. Волны строятся по локальным минимумам и максимумам цены на графике в соответствии с условиями волнового анализа. Сигнал о появлении паттерна выводится на экран на этапе формирования волны D (в
Здравствуйте! Мне необходимо написать торгового советника (Expert Advisor) для MetaTrader 5, который будет работать по сигналам из TradingView через Webhook. Ключевая особенность: Робот должен иметь систему подтверждения сигнала перед входом и систему экстренного закрытия при исчезновении сигнала. Технические требования: 1. Связь: Прием сигналов в формате JSON через Webhook. 2. Риск-менеджмент: * Лот: Автоматический
Ищу опытного разработчика для работы с торговыми роботами в MetaTrader 5 и сопутствующими инструментами на Python. Основные задачи: Реализация/модификация советника MT5 на MQL5 по стратегиям (с сеткой, динамическим лотом, TP/SL, частичной фиксацией прибыли); Внедрение или адаптация готового MQL5-модуля в существующий советник без нарушения логики; Написание вспомогательных скриптов на Python для: • сбора и анализа
Доброго дня. Нужен советник на основе индикатора, либо скрипт Trading View. Лучше это оформит в качестве программы на Python. Но если код легче будет через PineScript, то можно и скриптом. Главное чтобы последовательность соблюдалась с первого по четвертый пункты из ТЗ (во вложении). Индикатор есть, предоставлю, хотелось бы понять примерную стоимость, создания советника. Спасибо. В индикаторе много параметров, но
Нужен специалист с большим практическим опытом в работе с WFA оптимизацией советников. Вы должны понимать все базовые ошибки которые можно допустить и их не допустить. Важна поочередность действий, выделение "плато", валидация и так далее. Задача: WFA оптимизация советника на двух брокерах , третий брокер будет этапом двойной валидации. При правильном подходе мы должны получить устойчивые +- одинаковые результаты на

Projektdetails

Budget
50 - 150 USD