Эксперт и обобщенный класс на основе стандартных торговых классов

MQL5 Experts Bibliotecas

Trabalho concluído

Tempo de execução 25 dias

Termos de Referência

Основная задача создать обобщенный класс для торговых операций и вычислений - на базе стандартных классов.
Главное в работе - это качество кода этого класса в классическом стиле Объектно-ориентированного программирования (ООП). Архитектура обобщенного класса должна быть максимально структурирована для дальнейшего масштабирования и развития. Нужно чтобы были максимально соблюдены все проверки при выполнении торговых операций и обработаны ошибки при отказе от сервера или ошибки во входных переменных функций (методов).

Просьба исполнителей которые не имели реального опыта использования нижеуказанных классов и твердых навыков в ООП не предлагать свои услуги, т.к. нужен разработчик с реальным торговым опытом использования данного подхода при открытии торговых операций.

Требуется:

1.   Разработать общий класс для открытия, ведения и закрытия торговых позиций и ордеров на базе стандартных классов:

Торговые классы:

- CAccountInfo

- CSymbolInfo

- COrderInfo

- CHistoryOrderInfo

- CPositionInfo

- CDealInfo

- CTrade

- CTerminalInfo

 

Классы управления капиталом и рисками:

CMoneyFixedLot

CMoneyFixedMargin

CMoneyFixedRisk

CMoneyNone

CMoneySizeOptimized

плюс возможно другие на усмотрение исполнителя.

Для демонстрации работоспособности этого класса нужно написать эксперта на базе простого трендового индикатора. Сам код индикатора приложен.

В классе должны быть реализованы функции (методы):

- Открытие рыночного ордера

- Открытие лимитного ордера

- Закрытие позиции

- Снятие ордера

- Частичное закрытие позиции (три закрытия). Каждое частичное закрытие должно рассчитывать лот закрытия/процент закрытия от текущего лота позиции

- Расчет размера лота по риску (от стопа). Лот должен рассчитываться от депо/эквити/маржи

- Количество открытых позиций (по типам)

- Количество установленных ордеров (по типам)

- Нормализация лота

- Проверка правильности расчета позиции/ордера перед их открытием. Т.е. проверка лота/стопа/тейка с учетом маржи/плеча. А также учет предельного риска на депо.


Описанные выше функции должны учитывать тип рынка и счета (внебиржевого неттинг/хеджинг и биржевой).

Возможность подсчета по текущему меджику и по счету в целом:

- прибыль/убыток в валюте счета

- прибыль/убыток в процентах

- маржу

- комиссию

- своп

- цену безубытка по открытым нескольким позициям


P.S. дополнительный функционал предложенный исполнителем - приветствуется. 

 

Ведение позиций и ордеров должно сохранятся в базе данных (БД) sqllite где должна храниться информация по

- типу позиции (ордере)

- размер первоначального лота

- текущее состояние (выставлен ордер/открыта позиция/частичное закрытие 1(2,3)/закрыта позиция)

- результат открытия/установки позиции/ордера

- цена

- цена частичного закрытия (три закрытия)

- размер лота частичного закрытия (в лотах и процентах для каждого из трех)

- меджик

- тип сигнала  (текстовое поле)

- цена сигнала

- цена стоп сигнала

- цена тейка сигнала

- прибыль/убыток по позиции

- комиссия

- своп

 

2.   На базе разработанного класса создать советник по индикатору (индикатор готов)

Индикатор представляет собой трендовый индикатор со значениями состояния тренда (восходящий/нисходящий) уровнями стопа и уровнями лимитного открытия.

 

Входные параметры советника:

- Меджик <int>

- Вход лимиткой от лимитного уровня <true/false>

- Вход по рынку при смене тренда <true/false>

- Закрывать позицию при смене тренда <true/false>

- Снимать лимитку при смене тренда <true/false> (лимитка передвигается по уровню индикатора)

 

- Тип расчета лота (лот/риск(%)) <enum>

- Метод расчета лота по риску (депо/эквити/маржа) <enum>

- Размер лота <double>

- Риск на сделку (%) <double>

- Тип тека (пункты/коэф. от стопа RR(%)) <enum>

- Коэф.(RR) для тейка <double>

- Тейк пипсы (0 – не выставлять) <int>

- Стоп отступ от уровня стопа пипсы (0 – не выставлять) <int>

- Ограничение убытков в день по счету, % (0 - не использовать) <double>

- Ограничение загрузки депо по открытым позициям(ордерам) по счету, % (0 - не использовать) <double>

- Максимальное кол. позиций(ордеров) на продажу <int>

- Максимальное кол. позиций(ордеров) на покупку <int>

 

- Использовать частичное закрытие <true/false>

- - процент закрытия от текущего лота 1 <double>

- - кол. пройденных пипсов для закрытия 1 <int>

- - процент закрытия от текущего лота 2 <double>

- - кол. пройденных пипсов для закрытия 2 <int>

- - процент закрытия от текущего лота 3 <double>

- - кол. пройденных пипсов для закрытия 3 <int>

 

- Использовать трейллинг <true/false>

- Отступ для трейллинга от уровня стопа (пипсы) <int>


Пояснение к советнику

картинка поясняющая принцип работы эксперта


Arquivos anexados:

Respondido

1
Desenvolvedor 1
Classificação
(265)
Projetos
596
35%
Arbitragem
64
20% / 58%
Expirado
147
25%
Trabalhando
Publicou: 1 artigo, 22 códigos
2
Desenvolvedor 2
Classificação
(2)
Projetos
2
0%
Arbitragem
1
0% / 0%
Expirado
0
Livre
3
Desenvolvedor 3
Classificação
(574)
Projetos
945
47%
Arbitragem
309
58% / 27%
Expirado
125
13%
Livre
4
Desenvolvedor 4
Classificação
Projetos
0
0%
Arbitragem
1
0% / 0%
Expirado
0
Trabalhando
5
Desenvolvedor 5
Classificação
(295)
Projetos
471
39%
Arbitragem
102
40% / 24%
Expirado
78
17%
Ocupado
Publicou: 2 códigos
6
Desenvolvedor 6
Classificação
(5)
Projetos
7
0%
Arbitragem
8
13% / 75%
Expirado
3
43%
Livre
7
Desenvolvedor 7
Classificação
(4)
Projetos
4
0%
Arbitragem
4
25% / 75%
Expirado
1
25%
Livre
8
Desenvolvedor 8
Classificação
(28)
Projetos
39
23%
Arbitragem
15
0% / 87%
Expirado
4
10%
Trabalhando
9
Desenvolvedor 9
Classificação
(64)
Projetos
144
46%
Arbitragem
19
42% / 16%
Expirado
32
22%
Trabalhando
10
Desenvolvedor 10
Classificação
(27)
Projetos
48
38%
Arbitragem
6
17% / 50%
Expirado
30
63%
Livre
Publicou: 11 artigos, 1 código
11
Desenvolvedor 11
Classificação
Projetos
1
0%
Arbitragem
0
Expirado
0
Livre
Pedidos semelhantes
Кто может добавить alert при пробитии последнего фрактала. из 3 баров. Flexible Fractal c notification с ценой и валютной парой / и чтоб звучало 1 раз. // Как и в стандартном индикаторе текущий бар сравнивается с барами стоящими справа на графике строго - текущий бар должен быть выше (для верхнего фрактала) или ниже (для нижнего фрактала), если же он равен - тогда фрактал не рисуется. А вот сравнение текущего бара с
Принцип торговли. Торговля происходит от уровней в автоматическом режиме, без участия человека при открытии и закрытии сделок. Первую сделку он открывает при получении сигнала с применением VSA анализа. Сигнал по объемам поступает с биржи СМЕ. Если первая торговая позиция закрывается в плюс, то робот открывает новую сделку. Если котировки пошли в обратную от открытой позиции сторону, то робот включает свой алгоритм
1. Загальна логіка Треба створити ЕА для MetaTrader 5 на основі індикатора Zig Zag (параметри індикатора стандартні: Depth, Deviation, Backstep) та рівнів Фібоначчі. Детально логіка входу описана в додатку до ТЗ. 2. Відкриття сету ордерів ЕА відкриває сет відкладених ордерів (кількість ордерів від 1 до 5) Для кожного ордеру задається - рівень входу (значення рівня Фібоначчі) - рівень SL
Советник 200+ USD
Советник по мартингейлу на хеджевых счетах на МТ5 Торгуем рыночными ордерами. Торговая панель средней сложности. Более конкретное ТЗ вышлю всем заинтересовавшимся. Оплата и сроки обсуждаемы. Нужен советник по индикатору Во вложении ТЗ. все значения переменные

Informações sobre o projeto

Orçamento
250 - 320 USD
Prazo
de 7 para 14 dias