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

仕事が完了した

実行時間25 日

指定

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

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

Требуется:

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>


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

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


ファイル:

応答済み

1
開発者 1
評価
(263)
プロジェクト
592
35%
仲裁
64
20% / 58%
期限切れ
147
25%
パブリッシュした人: 1 article, 22 codes
2
開発者 2
評価
(2)
プロジェクト
2
0%
仲裁
1
0% / 0%
期限切れ
0
3
開発者 3
評価
(574)
プロジェクト
945
47%
仲裁
309
58% / 27%
期限切れ
125
13%
4
開発者 4
評価
プロジェクト
0
0%
仲裁
1
0% / 0%
期限切れ
0
仕事中
5
開発者 5
評価
(294)
プロジェクト
469
39%
仲裁
100
41% / 23%
期限切れ
77
16%
取り込み中
パブリッシュした人: 2 codes
6
開発者 6
評価
(5)
プロジェクト
7
0%
仲裁
8
13% / 75%
期限切れ
3
43%
7
開発者 7
評価
(4)
プロジェクト
4
0%
仲裁
4
25% / 75%
期限切れ
1
25%
8
開発者 8
評価
(27)
プロジェクト
37
24%
仲裁
14
0% / 93%
期限切れ
4
11%
9
開発者 9
評価
(64)
プロジェクト
144
46%
仲裁
19
42% / 16%
期限切れ
32
22%
10
開発者 10
評価
(27)
プロジェクト
48
38%
仲裁
6
17% / 50%
期限切れ
30
63%
パブリッシュした人: 11 articles, 1 code
11
開発者 11
評価
プロジェクト
1
0%
仲裁
0
期限切れ
0

プロジェクト情報

予算
250 - 320 USD
締め切り
最低 7 最高 14 日