Forex Форум MT5 | Форум трейдеров рынка Форекс

КАК БЫ УПРАВЛЕНИЕ КАПИТАЛОМ...

В этом месяце я уже писал о попытке добавить  в советник функцию управления капиталом  "новые функции..." Но мне показалось, что я не  совсем корректно пытаюсь определять  состояние флета.













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

extern int flet_lev = 7;             // Минимальное колличество ордеров для определения флета
extern int flet_delta = 2;         // Приращение ордеров до максимума флета
//+------------------------------------------------------------------+
//|     ========================================================     |
//|     ========== ФУНКЦИЯ УПРАВЛЕНИЯ КАПИТАЛОМ ============     |
//|     ========================================================     |
//+------------------------------------------------------------------+                
void mm_lots() {
ml = 0;
for (z=0; z<=OrdersTotal(); z++) {
                if (OrderSelect(z, SELECT_BY_POS, MODE_TRADES)) {
//              if (OrderSymbol()==Symbol() && (OrderType()==OP_SELL || OrderType()==OP_BUY)) ml = ml+1;
                if (OrderSymbol()==Symbol()) ml = ml+1;
                }              }             
if (ml <= flet_lev) lots = lot;   

if (ml > flet_lev && ml < (flet_lev+flet_delta)) lots = lot*2;

if (ml >= (flet_lev+flet_delta)) lots = lot*3;
return(lots);
}
Для кого MQL не родной язык, переведу выше написанное.
В процессе работы советника, пока общее колличество ордеров меньше flet_lev открываются позиции с начально заданным объёмом. Но когда колличество открытых ордеров становится больше значения flet_lev – тогда объём вновь открываемых ордеров увеличивается в двое. Если флет продолжается и колличество открытых ордеров превысит значение flet_lev+ flet_delta тогда новые ордера будут открываться с утроенным объемом.
Когда начнётся движение и начнут срабатывать «стопы» и «тейки» (второе предпочтительнее...) соответственно колличество открытых ордеров уменьшится и новые позиции советник будет открывать с начально заданным объёмом.

            Но это всё теория, а хочется посмотреть как будет вести себя советник в деле, но пока только в тестере стратегий терминала.
            Для сравнения, сделал прогон советника за период  03.01.2011 года по 10.06.2011 года без управления капиталом...

  
Баров в истории
6484
Смоделировано тиков
8114756
Качество моделирования
90.00%
Ошибки рассогласования графиков
0





Начальный депозит
10000.00




Чистая прибыль
3427.64
Общая прибыль
23053.47
Общий убыток
-19625.83
Прибыльность
1.17
Матожидание выигрыша
3.12


Абсолютная просадка
2902.31
Максимальная просадка
5180.52 (42.19%)
Относительная просадка
42.19% (5180.52)

Потом не меняя настроек, только включил функцию управления капиталом, значения для неё взял на основе логических рассуждений и наблюдений... 
extern int flet_lev = 7;            // Минимальное колличество ордеров для определения флета
extern int flet_delta = 3;         // Приращение ордеров до максимума флета

получил следующий результат...
   
Баров в истории
6484
Смоделировано тиков
8114756
Качество моделирования
90.00%
Ошибки рассогласования графиков
0





Начальный депозит
10000.00




Чистая прибыль
13783.92
Общая прибыль
44922.06
Общий убыток
-31138.14
Прибыльность
1.44
Матожидание выигрыша
12.53


Абсолютная просадка
1678.46
Максимальная просадка
7404.88 (28.54%)
Относительная просадка
33.93% (4274.12)

Довольно существенно увеличилась прибыль и что ещё порадовало – уменьшение просадки....

Экспериментируя дальше, решил провести оптимизацию. Для оптимизации выбрал только параметры управления капиталом и запустил в тестере на всём отрезке с 03.01.2011 года по 10.06.2011 года. И вот результаты.


И весьма забавный график результатов.


Естественно попробывал работу советника с оптимальными настройками. 
extern int flet_lev = 5;            // Минимальное колличество ордеров для определения флета
extern int flet_delta = 4;         // Приращение ордеров до максимума флета


Баров в истории
6484
Смоделировано тиков
8114756
Качество моделирования
90.00%
Ошибки рассогласования графиков
0





Начальный депозит
10000.00




Чистая прибыль
17111.93
Общая прибыль
52934.35
Общий убыток
-35822.43
Прибыльность
1.48
Матожидание выигрыша
15.56


Абсолютная просадка
2569.68
Максимальная просадка
8877.86 (29.35%)
Относительная просадка
43.31% (5676.33)

НОВЫЙ ВЗГЛЯД НА СТАРЫЕ ВЕЩИ


Сразу хочу определиться, я НЕ фанат «гридеров» и «мартинов». Но справедливости ради должен признаться, что когдато был грешок, писал и юзал такие советники. Однако эта заметка не для покаяния, а для размышлений.

            Пытаясь как-то реагировать на замечания читателей о том, что советник Agent_SB_008 (и последующие версии) допускает в своей работе довольно таки ощутимую просадку по эквити, я пробывал различные варианты с фильтрами и управлением капиталом, но ....

            Но случайно, копаясь в архивах своего компа, наткнулся на своё старое «баловство», советник под названием Agent_pips systems  работает это «чудо» с использованием индикатора i_Trend , открывает сетку ордеров с увеличивающимся объёмом (удваивается) и ещё куча различных настоек.

TakeProfit = 20.0;      
Lots = 0.01;    
StopLoss = 250.0;      
TrailingStop = false;               
MaxTrades = 5;                       колличество выставляемых ордеров
Pips = 15;                                расстояние между ордерами
SecureProfit = 10;                   профит при достижении которого закрываются ордера
AccountProtection = true;     
AllSymbolsProtect = 0;           контролировать профит 1-все инструменты, 0-текущий символ
OrderstoProtect = false;         
mm = false;                             применять управление капиталом
risk = 2;          

Естественно вся эта система, с такими настройками, могла давать как ошеломительные прибыли так и полные сливы.


Но не в этом суть, просто захотелось поэксперементировать с функцией SecureProfit. Однако с дефолтными настройками, изменяя SecureProfit, добиться сколь-нибудь приемлимых результатов не удалось.

И вот тут начинается самое интересное – я попытался изменить основные настройки, но изменять их основываясь на том статистическом опыте который накопился в процессе работы Agent_SB_008. То есть, зная вероятностные значения уровней отката и максимальные уровни стоплоссов для определенных валют, я попытался вписать в эти уровни значения MaxTrades и Pips – жизнь начала налаживаться...
Хочу ещё раз отметить, что никакой оптимизации я не проводил, значения изменял исключительно основываясь на статистический опыт экспериментов с советником Agent_SB_008.



В следующем тесте просто увеличил значение SecureProfit




Все тесты проводил на отрезке времени с 03.01.2011 года до 04.06.2011 года, стартовый депозит 10000, плечё 1:200

рекомендовать блог друзьям и знакомым