HOME

 

Исследуем MFE

 

В 7 номере журнала «Современный трейдинг» за 2001 год опубликована статья Тома Хартла (Tom Hartle) «Нацеленный трейдинг». В этой статье описана элегантная методика улучшения результатов торговой системы с помощью техники MFE (Maximum Favorable Excursion). Не буду вдаваться в подробности этой техники и полученных результатов, т.к. с ними можно познакомиться на страницах журнала.

Однако меня заинтересовала возможность частичной автоматизации процесса расчета MFE в торговых системах Омеги и вывод желаемых данных в том виде, как описано в статье. С этой целью я закодировал функцию Easy Language, которая производит расчет MFE и прибыли в процентах по каждой сделке торговой системы и выводит результаты в файл CSV, который затем можно удобно анализировать в Экселе.

 

$MFE_Report (функция)

 

{***************************************

 Written by:  Konstantin Kopyrkin (aka konkop) 29.08.2001

 Description: This function calculate and output strategy

 percentage Profits and MFE trade by trade.

 Copyright(c) konkop, 2001

****************************************}

Vars: Trades(0), Pprofit(0), HHigh(H),LLow(L), MFE(0);

 

Trades = TotalTrades;

 

If Trades<>Trades[1] Then begin

         If MarketPosition(1) = 1 Then begin

                   Pprofit = (ExitPrice(1) - EntryPrice(1))/EntryPrice(1)*100;

                   HHigh = Highest(High,BarssinceEntry(1));

                   If HHigh >= EntryPrice(1) Then MFE = (HHigh-EntryPrice(1))/EntryPrice(1)*100 else MFE = 0;

         End;

         If MarketPosition(1) = -1 Then Begin

                   Pprofit = (EntryPrice(1) - ExitPrice(1))/EntryPrice(1)*100;

                   LLow = Lowest(Low,BarssinceEntry(1));

                   If LLow <= EntryPrice(1) Then MFE = (EntryPrice(1)-LLow)/EntryPrice(1)*100 else MFE = 0;

         End;

End;

$MFE_report = 1;

 

If BarNumber=1 Then Print(File("C:\MFE_report.csv"),"Symbol",",","Strategy",",","Date",",","Time",",",

         "Trades",",","MP",",","Profit(%)",",","MFE(%)");

If Trades<>Trades[1] then

         Print(File("C:\MFE_report.csv"),GetSymbolName+","+GetStrategyName+","+ELDateToString(Date)+","+

NumToStr(ExitTime(1),0)+","+NumToStr(Trades,0)+","+NumToStr(MarketPosition(1),0)+","+NumToStr(Pprofit,2)+","+NumToStr(MFE,2));

{***************************************}

 

Функция считает прибыль и MFE как по длинным, так и по коротким сделкам. MFE для длинных позиций – разница в процентах между ценой входа и максимальным High, достигнутым в процессе сделки. MFE для коротких позиций – разница в процентах между ценой входа и наименьшим Low, возникшим на протяжении сделки. Если система имеет только длинные или только короткие сделки, соответственно MFE будет посчитан только по ним.

 

Теперь, если в конце кода стратегии поместить строчку:

Value10 = $MFE_report;

То после нанесения стратегии на график, необходимая информация будет выведена в файл C:\MFE_report.csv, который в экселе будет выглядеть следующим образом:

 

 

Следующие действия: Выделяем столбец «Н», затем меню «Данные» à «Сортировка». Необходимо указать сортировку всех данных в порядке увеличения MFE. Теперь достаточно выделить столбцы «G» и «Н» и построить по ним диаграмму значений.

 

 

В результате, наглядно видно, какая величина MFE (красные столбцы) соответствовала каждой прибыльной или убыточной сделке (синие столбцы) в порядке возрастания MFE. Дальнейшая методика работы с полученными данными подробно описана в статье Тома Хартла.

Я проверял технику частичной фиксации прибыли в нескольких системах с одним и с двумя уровнями MFE выбранными по описанной схеме. Результаты весьма положительные. Во-первых, достигается заметное «сглаживание» кривой эквити по сравнению с базовой системой. Во-вторых, что особенно приятно, значительно повышается процент прибыльных сделок.

 

(с) konkop, 2001.

 

HOME

 

 

Hosted by uCoz