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

İş tamamlandı

Tamamlanma süresi: 25 gün

İş Gereklilikleri

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

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

Требуется:

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>


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

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


Dosyalar:

Yanıtlandı

1
Geliştirici 1
Derecelendirme
(263)
Projeler
592
35%
Arabuluculuk
64
20% / 58%
Süresi dolmuş
147
25%
Serbest
Yayınlandı: 1 makale, 22 kod
2
Geliştirici 2
Derecelendirme
(2)
Projeler
2
0%
Arabuluculuk
1
0% / 0%
Süresi dolmuş
0
Serbest
3
Geliştirici 3
Derecelendirme
(574)
Projeler
945
47%
Arabuluculuk
309
58% / 27%
Süresi dolmuş
125
13%
Serbest
4
Geliştirici 4
Derecelendirme
Projeler
0
0%
Arabuluculuk
1
0% / 0%
Süresi dolmuş
0
Çalışıyor
5
Geliştirici 5
Derecelendirme
(294)
Projeler
469
39%
Arabuluculuk
100
41% / 23%
Süresi dolmuş
77
16%
Yüklendi
Yayınlandı: 2 kod
6
Geliştirici 6
Derecelendirme
(5)
Projeler
7
0%
Arabuluculuk
8
13% / 75%
Süresi dolmuş
3
43%
Serbest
7
Geliştirici 7
Derecelendirme
(4)
Projeler
4
0%
Arabuluculuk
4
25% / 75%
Süresi dolmuş
1
25%
Serbest
8
Geliştirici 8
Derecelendirme
(27)
Projeler
37
24%
Arabuluculuk
14
0% / 93%
Süresi dolmuş
4
11%
Serbest
9
Geliştirici 9
Derecelendirme
(64)
Projeler
144
46%
Arabuluculuk
19
42% / 16%
Süresi dolmuş
32
22%
Serbest
10
Geliştirici 10
Derecelendirme
(27)
Projeler
48
38%
Arabuluculuk
6
17% / 50%
Süresi dolmuş
30
63%
Serbest
Yayınlandı: 11 makale, 1 kod
11
Geliştirici 11
Derecelendirme
Projeler
1
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest

Proje bilgisi

Bütçe
250 - 320 USD
Son teslim tarihi
from 7 to 14 gün