TZ_V_for_BU_History

MQL4 지표 라이브러리

작업 종료됨

실행 시간 9 일

명시

Работа для Vitaly Maslennikov 

Необходимо внести изменение и дополнить новыми функциями класс PozaCalc.mqh:
1. Учитывать при расчете V_for_BU_Point ордера без тейк профита.
2. Добавить функцию V_for_BU_History
3. Добавить в индикатор PozaCalc2 новые показатели:
- V_for_BU_History
- V_for_BU_All=V_for_BU_History+V_for_BU_Point
4. Добавить в индикатор сопутствующие настройки - способ поиска ордеров и глубина истории в днях. 

Алгоритм работы класса 
Life - способ поиска ордеров в глубине истории:
1. До первого закрытия в плюс (отсутствия убытка)
2. До первого закрытия по тейк профиту
3. До первого закрытия по стоп лоссу
4. До заданного периода в днях

Формируем таблицу из ордеров открытых за прошедшие N_Life_Buy (N_Life_Sell) - берем информацию из истории сделок
CloseOrder_[n]_Magic // магическое число ордера с Magic 
CloseOrder_[n]_Sim   // символ (валютная пара) на котором открыт ордер
CloseOrder_[n]_Type // тип ордера - Buy/Sell
CloseOrder_[n]_PriceOpen    // цена открытия ордера
CloseOrder_[n]_PriceClose    // цена закрытия ордера
CloseOrder_[n]_Lot   // объем лота

Для каждого ордера вычисляем, сколько пунктов он потерял 
Если CloseOrder_[n]_Type=Buy, то CloseOrder_[n]_Lost_Buy=(CloseOrder_[n]_PriceClose-CloseOrder_[n]_PriceOpen)*CloseOrder_[n]_Lot
Если CloseOrder_[n]_Type=Sell, то CloseOrder_[n]_Lost_Sell=(CloseOrder_[n]_PriceOpen-CloseOrder_[n]_PriceClose)*CloseOrder_[n]_Lot

Суммируем полученный результат
ALL_Lost=CloseOrder_[n++]_Lost_Buy+CloseOrder_[n++]_Lost_Sell
Вычисляем, какого объема должен быть лот для покрытия убытков, при открытии ордера на покупку Lot_Size+ALL_Lost/(Target_Sell/Point) 
Вычисляем, какого объема должен быть лот для покрытия убытков, при открытии ордера на продажу Lot_Size+ALL_Lost/(Target_Buy/Point) 

Target_Sell и Target_Buy - это будет фактически "midtp".

응답함

1
개발자 1
등급
(617)
프로젝트
1427
59%
중재
31
81% / 0%
기한 초과
10
1%
무료
2
개발자 2
등급
(37)
프로젝트
84
31%
중재
16
6% / 56%
기한 초과
54
64%
무료

프로젝트 정보

예산
15 USD
기한
14 일