Курсы валют
<a href="https://www.instaforex.com/ru/" target="blank">ИнстаФорекс портал"</a>
Новости от FOREXPF.RU
<a href="https://www.instaforex.com/ru/">Форекс портал</a>
Май 2016
Пн Вт Ср Чт Пт Сб Вс
« Фев   Июн »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  
При поддержке: деньги и фен шуй.

Архивы за день 29.05.2016

Торговый дневник 29.05.2016 (воскресенье) Реализовал в FST 1.26 частичное закрытие лока. Сделал диаграмму БалансПоДням за год в Abb Statements 1.42

07:46 С утра помылся и решил поработать. Нужно реализовать в советнике частичное закрытие лока.
14:50 Анализирую торговлю по архивным счетам с помощью новой диаграммы, которая многое показывает, и параллельно перечитываю дневники за тот период (за июнь 2015 г. в данный момент), чтобы избежать повторения ошибок в дальнейшей торговле.

08:36 В запрос для диаграммы QueryDiagram2_BalanceByDay в поле Deposit добавлены выводы средств: : +fnCalcWithdrawal([Id_Account];0;[YearCloseTime];[MonthCloseTime];[DayCloseTime]) И убрано условие  AND ((St.CloseTime) Is Not Null)
Сделан отчет Diagram_BalanceByDay_ByYear
Нужно переделать функцию  fnActive_AccountName(Optional strType As String = «Name», Optional iYear As Integer = 0) As String чтобы выводилась суммарная инфа
по всем счетам, или сделать новую функцию
11:19 Сделан запрос qry_Accounts_ByYear_Itog. В функцию fnActive_AccountName добавлена обработка параметра iYear As Integer = 0
11:59 В отчете Diagram_BalanceByDay_ByYear сделан вывод суммарной инфы по счетам за год Теперь осталось только сделать создание запросов в зависимости от расчетного года (можно брать из журнала Accounts – активный расчетный год), а так же добавить обработку расчетного месяца, чтобы можно было строить диаграмму за месяц.

2016-05-30_09-00-14

16:38 Перечитал все дневники за 2015-2016 годы. В связи с анализом торговли в этот период возникла мысль, как можно улучшить торговлю: К-т по локирующим сделкам должен быть >1 (например 1.1), чтобы в сторону сильного тренда был перегруз позиций, в случае продолжения движения. В то же время, при откате цены в обратную сторону от цены открытия лока на значение > МТП + 1-2п., советник должен закрыть часть лока, которая больше 1 (0.1 при к-те 1.1) в минус (как вчера и написал). В этом случае сохранится баланс позиций, а советник сможет открывать очередной лок в случае необходимости. И не будет больших лосей, т.к. локи не будут закрываться по стопам полностью. При резком развороте тренда советник начнет работать уже более крупными локами в обратную сторону по такому же алгоритму, стараясь держать больше позиций в сторону нового тренда. А т.к. перегруз будет сохраняться в ту сторону, куда движется цена, то эквити должно не просаживаться а расти. На флэте можно закрыть лишние позиции руками или встречными позами, если позиций окажется слишком много.
16:59 И еще одна мысль вдогонку: По превышению убытка в сделке должна закрываться в минус не вся позиция, а только часть (0.1 например – из настроек). В этом случае крупный лок будет закрываться по частям в минус по превышению, а не сразу весь, как происходит сейчас (если цена уходит сильно в обратную сторону от лока, сначала закроется 10% от первоначальной позиции, затем еще 10% и т.д.).
Причем этот алгоритм будет работать по любым сделкам, а не только локовым (в т.ч. крупным ручным сделкам), т.к. он не зависит от комментов к сделкам, а только от размера убытка по позиции.
17:30 И последняя мысль, как это сделать проще всего:
Добавляется 1 параметр:  К-т закрытия лока dKoeffLockPositionClose = 0.1, и в функцию закрытия лосей по превышению убытка в сделке добавляется этот к-т в размер лота закрываемой сделки и все должно работать. В этом случае первый алгоритм не нужен, т.к. локи и так не могут закрыться < МТП, даже если % превышения больше указанного в настройках.
20:54 Посидел и попил пиво в машине, заодно обдумывая последние мысли о доработке советника В итоге сделал:
Изменения версии 1.26 2016 05 29 (воскресенье)
20:52  Параметр по умолчанию изменен   extern double  dKoeffLockPosition = 1.1;          // Коэффициент повышения локирующей  позиции
20:54 Добавлен параметр    extern double  dKoeffLockPositionClose = 0.1;     // 2015 05 29 Коэффициент закрытия размера позиции при превышении убытка в сделке
21:11 В функцию CloseOpenOrdersByMaxLosses() добавлено частичное  закрытие локирующей позиции:
   dOrderLotsClose = NormalizeDouble( OrderLots() * dKoeffLockPositionClose, 2);
if ( !OrderClose(iTicketSelectLock,dOrderLotsClose,OrderClosePrice(),5,iColorLock) )
21:17 В функцию CloseOpenOrdersByMaxLosses() добавлено частичное закрытие других позиций кроме локирующих:
   dOrderLotsClose = NormalizeDouble( OrderLots() * dKoeffLockPositionClose, 2);
if ( !OrderClose(iTicketSelect,dOrderLotsClose,OrderClosePrice(),5,iColor) )
21:23 Добавлена индикация txtCloseByMaxLoss  = txtCloseByMaxLoss + «   K-t Close  » + DoubleToStr(dKoeffLockPositionClose,1);
21:45 Погонял в тестере новую версию… вроде бы не совсем правильно работает … Не всегда закрываются убытки по превышению. Но вроде бы частичное закрытие работает…
22:20 Добавил проверку на минимальный лот, теперь не выдает ошибок при тестировании:
dblMinLot     = MarketInfo(Symbol(), MODE_MINLOT);
dOrderLotsClose = NormalizeDouble( OrderLots() * dKoeffLockPositionClose, 2);

if ( dOrderLotsClose < dblMinLot ) dOrderLotsClose = dblMinLot;

 2016-05-30_08-37-43