Нужен советник, работающий в связке с внешним индикатором

MQL4 指标 专家 外汇

工作已完成

执行时间12 天
客户反馈
Отличный исполнитель. Он быстро понял именно то, что мне нужно было. Был всегда на связи. В итоге я получил работу, в которую не нужно было вносить правок. Я доволен, при необходимости обращусь еще.
员工反馈
Приятно работать с технически грамотным и понимающим заказчиком. Исключительно понятное ТЗ и сопутствующие коды предоставлены. Надеюсь поработать ещё, спасибо за заказ.

指定

Пожалуйста, прочитайте внимательно.


Введение

Для сеточной стратегии на разворот от уровней нужен советник, который будет:
- выставлять Sell-Limit выше текущей цены, Buy-limit ниже текущей цены,
- а также помогать трейдеру сопровождать позиции.

Уровни, на которых выставлять limit ордера, определяет индикатор FXSSI Stop Loss Clusters (SLC), работающий на данных из сторонних источников. 

Уровни SLC в среднем обновляются раз в 20 минут. Индикатор показывает уровень - советник ставит на него ордер, уровень пропадает - ордер отменяется. 

Фиксированные тейк-профиты и стоп-лоссы не нужны. 

Для выхода из позиций в советнике должно быть предусмотрено 2 взаимоисключающих режима:
- Manual (по умолчанию). Трейдер вручную выставляет тейк-профиты и стоп-лоссы.
- Automatic. Советник тралит тейк-профиты и стоп-лоссы по скользящей средней. Этот готовый компонент прилагается в файле cm_tral_MA.mq4. 

По выходу вроде понятно, дальше - про входы.

Есть 2 сценария - когда позиций нет, и когда есть хотя бы один ордер сработал.


Сценарий 1. Если нет открытых позиций:


Для постановки Sell-Limit нужно выполнение всех 3 условий:
- Если выше есть уровень SLC (может быть или один, или ни одного);
- Если этот уровень SLC выше, чем верхняя граница индикатора Envelopes 1.
- Allow_Sell = true

Аналогично для buy-limit - нужно выполнение всех условий:
- Если ниже есть уровень SLC;
- Если этот уровень SLC ниже, чем нижняя граница индикатора Envelopes 2.
- Allow_Buy = true
Обратите внимание, это два разных Envelopes.

Итак, если нет открытых позиций, то результат работы индикатора может дать 3 варианта:
- выставлено по одному ордеру - выше и ниже;
- выставлен один ордер, если выполняются описанные условия;
- не выставлено ордеров вообще. Или уровней SLC нет, или они внутри границ Envelopes.


Сценарий 2. Если есть открытые позиции.


Допустим, сработал sell-limit, открылась позиция шорт. 

В таком случае советник “смотрит выше”, чтобы выставить еще один sell-limit. То есть, реализуется динамическая сетка “на разворот”.

Для нового sell-limit нужно выполнение всех 4 условий:
- Allow_Sell = true;
- выше появился еще один SLC уровень;
- этот новый уровень находится выше, чем ранее открытая позиция на значение, заданное в переменной Step. Это нужно, чтобы сетка не была слишком “сжатой”.
- не было достигнуто максимальное количество ордеров в одну сторону. Его задает параметр Maxorders (по умолчанию = 5). 

Аналогично; если есть позиция лонг, то советник выставляет ниже дополнительный ордер buy-limit по тем же 4 условиям, но наоборот, в “зеркальном отражении”.

Таким образом, если есть открытая позиция, то советник усредняет ее дополнительными ордерами с учетом Allow, SLC, Step, Maxorders.

Для понимания - примеры нестрогой торговли на вложенных картинках.


Переменные.

Помимо настроек из cm_tral_MA.mq4, используются следующие переменные:

параметры индикатора Envelopes 1 (верхняя граница);
параметры индикатора Envelopes 2 (нижняя граница);
Step;
Maxorders;

Tune_buy, Tune_sell - эта переменная нужна, чтобы чуть сдвинуть ордер относительно SLC. Например, выше текущей цены появляется SLC на круглом уровне 1.18500. Трейдер хочет, чтобы sell-limit был выставлен ниже на 30 пипсов. Он открывает настройки, указывает Tune_sell = -30, нажимет ОК. Советник опускает sell-limit на 1,18470 на случай “недолета”.

vol1, vol2, vol3, vol4, vol5 - объемы выставляемых ордеров.

Allow_Buy = true/false, Allow_Sell = true/false - позволяет разрешить/запретить одно из направлений.


Итого.

Я постарался написать суть подробно. Если что непонятно - готов дополнительно обсудить.

Хотелось бы получить работающий советник с открытым оформленным кодом. Чтобы рационально использовал ресурсы компьютера.

Насчет индикатора FXSSI Stop Loss Clusters. Он платный. Если понадобится доступ к индикатору - предоставлю, обсудим в личке. Если захотите себе такой, могу помочь. 





附加的文件:

反馈

1
开发者 1
等级
(224)
项目
284
20%
仲裁
5
0% / 100%
逾期
4
1%
空闲
2
开发者 2
等级
(618)
项目
1429
59%
仲裁
31
81% / 0%
逾期
10
1%
空闲
3
开发者 3
等级
(89)
项目
254
78%
仲裁
9
22% / 56%
逾期
36
14%
工作中
发布者: 3 文章, 26 代码
4
开发者 4
等级
(174)
项目
188
32%
仲裁
5
60% / 20%
逾期
3
2%
空闲
发布者: 3 代码
5
开发者 5
等级
(361)
项目
644
26%
仲裁
92
72% / 14%
逾期
12
2%
工作中
发布者: 1 代码
6
开发者 6
等级
(30)
项目
32
22%
仲裁
2
0% / 0%
逾期
1
3%
空闲
7
开发者 7
等级
(298)
项目
478
40%
仲裁
105
40% / 24%
逾期
82
17%
已载入
发布者: 2 代码
相似订单
I already have a large working MQL5 Expert Advisor. I am NOT looking for a new EA from scratch. I need an experienced MQL5 developer to audit, debug and improve the existing source code based on real MT5 demo logs. The EA trades XAUUSD on M1 and includes smart entry logic, FastFlow/tick-flow analysis, DMI/ADX, Connors RSI, ROC, EMA, market structure and multi-leg execution. The main task is to identify why many

项目信息

预算
50+ USD