Плагин риск менеджер для MT5

MQL5 指标 专家 C++ C#

工作已完成

执行时间166 天

指定

Плагин риск менеджер для MT5

 

Термины:

Capital, $ – размер первоначального капитала торгового счета в долларах. Является переменной для плагина, устанавливается для группы счетов или конкретных МТ5 счетов.

Equity, $ – плавающая прибыль/убыток. Значение получать от сервера по конкретному счету.

Max daily loss, % - ежедневный лимит потерь. Является переменной для плагина, устанавливается для группы счетов или конкретных МТ5 счетов.

Max week loss, % - недельный лимит потерь. Является переменной для плагина, устанавливается для группы счетов или конкретных МТ5 счетов.

Max loss, % - максимальный лимит потерь за весь период. Является переменной для плагина, устанавливается для группы счетов или конкретных МТ5 счетов.

Max Exposure, LOT - максимальный одномоментный совокупный размер позиций. Является переменной для плагина, устанавливается для группы счетов или конкретных МТ5 счетов.

Time Liquidation of positions, sec – время в секундах до наступления Закрытия рынков, в которое в конце торговой недели должны быть принудительно закрыты открытые позиции. Является переменной для плагина, устанавливается для группы счетов или конкретных МТ5 счетов.

 

Описание:

Реализовать плагин, который блокирует для торговли МТ5 счета и закрывает открытые позиции по заданным в параметрах плагина критериям.

Критерии:

- превышен Ежедневный лимит потерь (Max daily loss, %);

- превышен Недельный лимит потерь (Max week loss, %);

- превышен Максимальный лимит потерь за весь период (Max loss, %);

 

Если счету меньше 30 дней

 

Ежедневный лимит потерь (Max daily loss, %):

Лимит потерь рассчитывается исходя из размера первоначального капитала (Capital), поэтому:

-если Equity на конец предыдущего торгового дня МЕНЬШЕ Capital, то сравнивать текущий Equity с Equity на конец предыдущего торгового дня;

-если Equity на конец предыдущего торгового дня БОЛЬШЕ ИЛИ РАВНО Capital, то сравнивать текущий Equity с Capital;

-в первый день сравнивать текущий Equity с Capital;

 

Недельный лимит потерь (Max week loss, %)

-если Equity на начало текущей торговой недели МЕНЬШЕ Capital, то сравнивать текущий Equity с Equity на начало текущей торговой недели;

-если Equity на начало текущей торговой недели БОЛЬШЕ ИЛИ РАВНО Capital, то сравнивать текущий Equity с Capital;

-в первую неделю сравнивать с Capital.

 

Максимальный лимит потерь за весь период (Maxx loss, %) – сравнивает текущий Equity c Capital установленного по счету или группе счетов.

 

Если счету больше 30 дней

Сравнивать не с Capital, а с Equity на конец 30-го календарного дня

 

Если счету больше 60 дней

Сравнивать не с Capital, а с Equity на конец 60-го календарного дня и т.д. с интервалом в 30 дней.

 

Плагин должен запрещать открывать позицию сверх установленного по каждой группе счетов или конкретного МТ5 счета - Максимального одномоментного совокупного размера позиции (Max Exposure, LOT);

Плагин должен в конце торговой недели Закрыть открытые позиции согласно времени закрытия рынков, за X секунд (переменная Time Liquidation of positions, sec) до закрытия.

Отчет времени вести исходя из даты регистрации счета в МТ5, параметр Зарегистрирован.

Настройки в виде переменных Max daily loss/Max week loss/Maxx loss, Max Exposure, Time Liquidation of positions должны задаваться для группы счетов или конкретного МТ5 счета.

Значение Equity в конце каждого дня для каждого счета необходимо записывать и хранить в отдельной базе MySQL. Параметр конец дня должен запрашиваться из МТ5 сервера.

При наступлении события «Блокировка счета», отправить запрос на отправку письма Клиенту. Адрес и порт почтового сервера должны быть вынесены в переменные (Mail server). Для вызова процедуры используется gRPC. Заказчик передает протофайл по запросу Исполнителя.

Переменные для плагина должны задаваться через Добавление\Изменение Параметров в Настройках платформы MetaTrader 5 Administrator.

По завершению работ необходимо передать исходный код Заказчику.

 

Пример настроек плагина

Параметр

Значение

BD

Address, user, password, database name

Mail server

Ip_adress:port

Groups 1

null

Logins 1

5000302

Max daily loss 1, %

4

Max week loss 1, %

7

Max loss 1, %

12

Max Exposure 1, LOT

6

Time Liquidation of positions 1, sec

300

Capital 1, USD

10000

Groups 2

ArumTrade\real\riskmanager\group1

Logins 2

null

Max daily loss 2, %

5

Max week loss 2, %

9

Max loss 2, %

13

Max Exposure 2, LOT

6

Time Liquidation of positions 2, sec

350

Capital 2, USD

15000

Groups 3

Logins 3

….

 

Groups X

ArumTrade\real\riskmanager\gr\*

Logins X

null

Max daily loss X, %

5

Max week loss X, %

9

Max loss X, %

12

Max Exposure X, LOT

6

Time Liquidation of positions X, sec

300

Capital X, USD

15000

 

 

Пример структуры таблицы базы MySQL

Логин МТ5

Дата + время

Значение equity

 

 

 

 


反馈

1
开发者 1
等级
(17)
项目
21
14%
仲裁
1
0% / 100%
逾期
0
空闲
2
开发者 2
等级
(21)
项目
29
34%
仲裁
1
100% / 0%
逾期
1
3%
空闲
3
开发者 3
等级
(261)
项目
428
38%
仲裁
87
44% / 18%
逾期
71
17%
繁忙
4
开发者 4
等级
(336)
项目
622
38%
仲裁
39
23% / 64%
逾期
93
15%
空闲
5
开发者 5
等级
(30)
项目
45
16%
仲裁
2
0% / 100%
逾期
4
9%
空闲
6
开发者 6
等级
(58)
项目
76
33%
仲裁
9
78% / 11%
逾期
7
9%
空闲
7
开发者 7
等级
(15)
项目
20
15%
仲裁
3
0% / 67%
逾期
2
10%
空闲
8
开发者 8
等级
(1)
项目
1
0%
仲裁
0
逾期
0
空闲
相似订单
Задание будет считаться выполненным когда результаты в тестере МТ и С-трейдер будут совпадать. Прошу откликаться только людей знакомых с подобными задачами. Бюджет указан. Исполнители только из РФ и РБ. Текущий робот разбит на файлы (код), вышлю в личные сообщения
Код советника разбит на отдельные страницы (файлы). Нужен исполнитель с опытом подобных действий и понимания особенностей c-trader, знанием его языка. Работа будет считаться выполненной если в тестере стратегий результаты из мт5 и с-трейдер совпадут Бюджет указан Прошу откликаться только исполнителям из РФ

项目信息

预算
1500 - 2700 USD
开发人员
1350 - 2430 USD
截止日期
 30 天