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

Архивы за месяц Ноябрь 2015

Торговый дневник 30.11.2015 (понедельник) Отладил работу трех журналов в Abb Statements 1.24

Show »

07:57 Приехал на работу на служебном. Сегодня ночью выпал хороший снежок, 5-10 см, и относительно тепло – классная зимняя погода. Комп оказался выключенным, скорее всего на выходных вырубали свет. Загружался 1 м. 40 с. после ввода пароля, а до полной загрузки прошло аж 3 м.10 с…

08:00 Буду делать 1.24 версию AbbStatements.

08:05 Нужно сделать, чтобы спред в справочнике менялся в зависимости от брокера и периода – пока не горящий вопрос… Функция будет работать медленнее, чем расчет в запросе…

08:10 Нашел в таблице рибейтов одну запись № 42101 с текстом Корректировка и суммой -32.5399 от 25.02.2014 21:20:09 … интересно почему… Скорее всего из-за отмененных тикетов, которые на закачались в базу, как раз за 25.02.2014… Так что скорее всего правильно… Но на вывод денег эта сумма не должна пойти…

dbo_RebatesFxCash

Id_RebatesFxCash

Id_Account

Ticket

AccountNumber

RebateTime

ClientName

ClientNumder

SumRebate

Status

Balance

Note

42101

 

 

0

25.02.2014 21:20:09

Корректировка

 

-32.5399

Выполнено

8.6995

корректировка

08:48 Читаю форум  FxCash про F4u:Про МТП: http://cashforum.ru/showthread.php?t=187

09:40 Проверяю стейт по Инсте. Рибейты начисляются так: http://cashforum.ru/showthread.php?t=2

Добавил в справочник тип счета Real InstaForex, Т.к. у них лоты в 10 раз занижены против стандартных. Сдвиг времени -8 часов от ВВО (вычислил по архиву дневников за февраль 2015 г.) Нужно сделать расчет рибейтов по InstaForex

10:31 Расчет рибейтов сделан так:

IIf(nz(TCR.TypeCalcRebate,0)=0,0,
IIf(nz(TCR.TypeCalcRebate,0)=1,Round(I.Rebate_InstaForex*St.Lots*Abs(Type.TypeCalcPL),4),
IIf(Abs(nz([PipsPL],0))>=I.MTP,Round(I.Spread*I.Percent_RebateF4u*St.Lots/BST.KoefLots*Abs(Type.TypeCalcPL),4)))) AS RebateCalc_

11:14 Полный запрос для журнала Statements выглядит так:

Show »

SELECT
St.Id_Statement, Acc.Id_Account, Acc.FlagActive, Acc.AccountNumber,
Acc.AccountName, Acc.AccountCurrency, Acc.AccountLeverage, Acc.DateBegin,
Acc.DateBegin+nz(BS.LocalHour,0)/24 AS DateBegin_, Acc.DateEnd,
Acc.DateEnd+nz(BS.LocalHour,0)/24 AS DateEnd_, Acc.DaysCalendar,
Acc.DaysTrading, Acc.Deposits, Acc.DepositsCount, Acc.Credits,
Acc.CreditsCount, Acc.Bonuses, Acc.BonusesCount, Acc.Withdrawals,
Acc.WithdrawalsCount, Acc.RebatesCalc, Acc.Rebates, Acc.Balance, Acc.Equity,
Acc.BalanceMin, Acc.BalanceMax, Acc.TotalNetProfit, Acc.CreditsIn,
Acc.CreditsInCount, Acc.CreditsOut, Acc.CreditsOutCount, Acc.CreditsCancelled,
Acc.CreditsCancelledCount, Acc.CreditsStopOut, Acc.CreditsStopOutCount,
Acc.DateBeginTrading, Acc.DateEndTrading,
Acc.DateBeginTrading+nz(BS.LocalHour,0)/24 AS DateBeginTrading_,
Acc.DateEndTrading+nz(BS.LocalHour,0)/24 AS DateEndTrading_, Acc.IR,
Acc.IRCount, Acc.BalanceReset, Acc.BalanceResetCount, Acc.ReSpread,
Acc.ReSpreadCount, Acc.WithdrawalsCommission, Acc.WithdrawalsCommissionCount,
Acc.ReturnComissionWM, Acc.ReturnComissionWMCount, Acc.TotalTrades,
Acc.ProfitTrades, Acc.LossTrades, Acc.NullTrades, Acc.CancelledTrades,
Acc.OpenTrades, Acc.WorkingOrders, Acc.Id_Tables_Statements, TS.SysName,
TS.SysDatabase, TS.Id_Broker, TS.Id_BrokerServer, B.BrokerName, B.URL,
BS.Id_BrokerServerType, BS.BrokerServerName, BS.StatementName, BS.LocalHour, BST.BrokerServerType,
BST.BrokerServerTypeName, BST.KoefLots, Type.TypeCalcPL, I.Digits, I.MTP,
I.Spread, I.Percent_RebateF4U, I.Rebate_InstaForex, St.Ticket, St.OpenTime,
St.OpenTime+nz(BS.LocalHour,0)/24 AS OpenTime_, St.Type, St.Lots,
Round([Lots]/BST.KoefLots,3) AS Lots_, St.Item, St.PriceOpen, St.StopLoss,
St.TakeProfit, St.CloseTime, St.CloseTime+nz(BS.LocalHour,0)/24 AS CloseTime_,
Weekday(St.CloseTime,2) AS WeekdayCloseTime,
Weekday(St.CloseTime+nz(BS.LocalHour,0)/24,2) AS WeekdayCloseTime_, St.PriceClose,
St.Commission, [Commission]/BST.BrokerServerType AS Commission_, St.Taxes,
[Taxes]/BST.BrokerServerType AS Taxes_, St.Swap, [Swap]/BST.BrokerServerType AS
Swap_, St.Profit, [Profit]/BST.BrokerServerType AS Profit_, St.Note, St.Fillup,
St.OperatorFillup, St.FillupInsert, St.OperatorFillupInsert, St.BalanceCurrent,
St.EquityCurrent,
Round((St.PriceClose-St.PriceOpen)*I.Digits*Type.TypeCalcPL,2) AS PipsPL,
IIf(nz(St.EquityCurrent,0)=0,0,(nz(St.Profit,0)+nz(St.Commission,0)+nz(St.Taxes,0)+nz(St.Swap,0))/nz(St.EquityCurrent,Acc.Equity)*Abs(Type.TypeCalcPL)/BST.BrokerServerType)
AS ProfitPercentEquity,
IIf(nz(St.BalanceCurrent,0)=0,0,(nz(St.Profit,0)+nz(St.Commission,0)+nz(St.Taxes,0)+nz(St.Swap,0))/nz(St.BalanceCurrent,Acc.Balance)*Abs(Type.TypeCalcPL)/BST.BrokerServerType)
AS ProfitPercentBalance,
IIf(nz([BalanceCurrent],0)=0,0,[EquityCurrent]/[BalanceCurrent]) AS DrawDown,
nz(St.Profit,0)+nz(St.Commission,0)+nz(St.Taxes,0)+nz(St.Swap,0) AS
ResultOfTrade, (nz(St.Profit,0)+nz(St.Commission,0)+nz(St.Taxes,0)+nz(St.Swap,0))/BST.BrokerServerType
AS ResultOfTrade_, IIf(nz([CloseTime],0)=0,0,[CloseTime]-[OpenTime]) AS
TimeOfTrade, IIf([TimeOfTrade]>=1,Int([TimeOfTrade]) & ‘d ‘,») &
Right(‘0’ & CStr(Hour([TimeOfTrade])),2) & ‘:’ & Right(‘0’ &
CStr(Minute([TimeOfTrade])),2) & ‘:’ & Right(‘0’ &
CStr(Second([TimeOfTrade])),2) AS TimeOfTrade_,
IIf(nz(TCR.TypeCalcRebate,0)=0,0,IIf(Abs(nz([PipsPL],0))>=I.MTP,Round(I.Spread*I.Percent_RebateF4u*St.Lots*Abs(Type.TypeCalcPL)*IIf(IsNull(St.CloseTime),0,1),4)))
AS RebateCalc, IIf(nz(TCR.TypeCalcRebate,0)=0,0,IIf(nz(TCR.TypeCalcRebate,0)=1,Round(I.Rebate_InstaForex*St.Lots/BST.KoefLots*Abs(Type.TypeCalcPL),4),IIf(Abs(nz([PipsPL],0))>=I.MTP,Round(I.Spread*I.Percent_RebateF4u*St.Lots/BST.KoefLots*Abs(Type.TypeCalcPL),4))))
AS RebateCalc_, St.RebateReal,
IIf([RebateCalc_]=0,0,[RebateReal]/[RebateCalc_]) AS PercentRebateReal,
St.ProfitFactor, St.ExpectedPayoff, St.ConsecutiveProfit,
IIf([ConsecutiveProfit]>0,[ConsecutiveProfit],[ConsecutiveLoss]) AS
ConsecutiveProfit_, St.ConsecutiveLoss, St.ConsecutiveProfitCount,
IIf([ConsecutiveProfitCount]>0,[ConsecutiveProfitCount],[ConsecutiveLossCount])
AS ConsecutiveProfitCount_, St.ConsecutiveLossCount, St.ConsecutiveProfitPips,
Round(IIf([ConsecutiveProfitPips]>0,[ConsecutiveProfitPips],[ConsecutiveLossPips]),1)
AS ConsecutiveProfitPips_, St.ConsecutiveLossPips,
[DateEndTrading]-[DateBeginTrading] AS PeriodTrading,
IIf([PeriodTrading]>=1,Int([PeriodTrading]) & ‘d ‘,») & Right(‘0’
& CStr(Hour([PeriodTrading])),2) & ‘:’ & Right(‘0’ & CStr(Minute([PeriodTrading])),2)
AS PeriodTrading_, TCR.FlagUseMTP, B.Id_TypeCalcRebate

FROM (dbo_BrokerServerTypes AS BST RIGHT
JOIN (((dbo_BrokerServers AS BS RIGHT JOIN (dbo_Brokers AS B RIGHT JOIN
dbo_Tables_Statements AS TS ON B.Id_Broker = TS.Id_Broker) ON BS.Id_BrokerServer
= TS.Id_BrokerServer) LEFT JOIN dbo_TypeCalcRebates AS TCR ON
B.Id_TypeCalcRebate = TCR.Id_TypeCalcRebate) INNER JOIN dbo_Accounts AS Acc ON
TS.Id_Tables_Statements = Acc.Id_Tables_Statements) ON BST.Id_BrokerServerType
= BS.Id_BrokerServerType) INNER JOIN ((dbo_Statements AS St LEFT JOIN
dbo_TypeOperations AS Type ON St.Type = Type.Type) LEFT JOIN dbo_Items AS I ON
St.Item = I.Item) ON Acc.Id_Account = St.Id_Account;

11:16 Всего по счету 8235614 по расчету получилось рибейтов 700.507$ а реально выведено 674.32$ — т.е. не все сделки Инсты попали в возврат рибейтов… какие из них не попали сейчас вряд ли выяснишь…
11:52 Полный запрос для журнала Rebates:

Show »

SELECT Acc.FlagActive,
FxCash.Id_RebatesFxCash, Acc.Id_Account, FxCash.Ticket, FxCash.AccountNumber,
FxCash.RebateTime, FxCash.RebateTime+7/24 AS RebateTime_,
Weekday(FxCash.RebateTime,2) AS WeekdayRebateTime,
Weekday(FxCash.RebateTime+7/24,2) AS WeekdayRebateTime_, FxCash.ClientName,
FxCash.ClientNumder, FxCash.SumRebate, FxCash.Status, FxCash.Balance,
FxCash.Note, FxCash.Fillup, FxCash.OperatorFillup, FxCash.FillupInsert,
FxCash.OperatorFillupInsert, TS.Id_Broker, TS.Id_BrokerServer, B.BrokerName,
BS.BrokerServerName, BST.BrokerServerTypeName, St.Type, St.Lots,
Round([Lots]/BST.KoefLots,3) AS Lots_, St.Item, St.CloseTime,
St.CloseTime+nz(BS.LocalHour,0)/24 AS CloseTime_, St.PriceOpen, St.PriceClose,
St.Profit, St.RebateReal, nz(St.Profit,0)+nz(St.Commission,0)+nz(St.Taxes,0)+nz(St.Swap,0)
AS ResultOfTrade,
(nz(St.Profit,0)+nz(St.Commission,0)+nz(St.Taxes,0)+nz(St.Swap,0))/BST.BrokerServerType
AS ResultOfTrade_, IIf(nz([CloseTime],0)=0,0,[RebateTime]-[CloseTime]) AS
TimeOfOutRebate, Round((St.PriceClose-St.PriceOpen)*I.Digits*Type.TypeCalcPL,2)
AS PipsPL, IIf([TimeOfOutRebate]>=1,Int([TimeOfOutRebate]) & ‘d ‘,»)
& Right(‘0’ & CStr(Hour([TimeOfOutRebate])),2) & ‘:’ &
Right(‘0’ & CStr(Minute([TimeOfOutRebate])),2) & ‘:’ & Right(‘0’ &
CStr(Second([TimeOfOutRebate])),2) AS TimeOfOutRebate_,
IIf(nz([TCR].[TypeCalcRebate],0)=0,0,IIf(nz([TCR].[TypeCalcRebate],0)=1,Round([I].[Rebate_InstaForex]*[St].[Lots]*Abs([Type].[TypeCalcPL]),4),IIf(Abs(nz([PipsPL],0))>=[I].[MTP],Round([I].[Spread]*[I].[Percent_RebateF4u]*[St].[Lots]/[BST].[KoefLots]*Abs([Type].[TypeCalcPL]),4))))
AS RebateCalc_, IIf([RebateCalc_]=0,0,[RebateReal]/[RebateCalc_]) AS
PercentRebateReal, I.MTP, I.Spread, IIf(St.Lots=0 Or
I.Percent_RebateF4u=0,0,[SumRebate]/I.Percent_RebateF4u/St.Lots*BST.KoefLots)
AS SpreadReal, BST.BrokerServerType, BST.BrokerServerTypeName,
BS.BrokerServerName, B.BrokerName, TCR.TypeCalcRebate, TCR.FlagUseMTP

FROM (dbo_BrokerServerTypes AS BST RIGHT
JOIN (((((dbo_Brokers AS B RIGHT JOIN ((dbo_RebatesFxCash AS FxCash LEFT JOIN
dbo_Accounts AS Acc ON FxCash.Id_Account = Acc.Id_Account) LEFT JOIN
dbo_Tables_Statements AS TS ON Acc.Id_Tables_Statements =
TS.Id_Tables_Statements) ON B.Id_Broker = TS.Id_Broker) LEFT JOIN
dbo_BrokerServers AS BS ON TS.Id_BrokerServer = BS.Id_BrokerServer) LEFT JOIN dbo_Statements
AS St ON (FxCash.Id_Account = St.Id_Account) AND (FxCash.Ticket = St.Ticket))
LEFT JOIN dbo_Items AS I ON St.Item = I.Item) LEFT JOIN dbo_TypeOperations AS
Type ON St.Type = Type.Type) ON BST.Id_BrokerServerType =
BS.Id_BrokerServerType) LEFT JOIN dbo_TypeCalcRebates AS TCR ON
B.Id_TypeCalcRebate = TCR.Id_TypeCalcRebate;

12:36 Нужно восстановить более-менее правильное эквити по некоторым счетам в 2012 году, когда торговал одновременно на двух счетах…
12:46 Пока занялся приведением журнала Accounts под стандартные функции фильтров и сортировки…
Полный запрос для журнала Accounts:

Show »

SELECT Acc.Id_Account, Acc.FlagActive,
Acc.AccountNumber, Acc.AccountName, Acc.AccountCurrency, Acc.AccountLeverage,
Acc.DateBegin, Acc.DateBegin+nz(BS.LocalHour,0)/24 AS DateBegin_, Acc.DateEnd,
Acc.DateEnd+nz(BS.LocalHour,0)/24 AS DateEnd_, Acc.DaysCalendar,
Acc.DaysTrading, Acc.Deposits, Acc.DepositsCount, Acc.Credits,
Acc.CreditsCount, Acc.Bonuses, Acc.BonusesCount, Acc.Withdrawals, Acc.WithdrawalsCount,
Acc.RebatesCalc, Acc.Rebates, Acc.Balance, Acc.Equity, Acc.BalanceMin,
Acc.BalanceMax, Acc.TotalNetProfit, Acc.CreditsIn, Acc.CreditsInCount,
Acc.CreditsOut, Acc.CreditsOutCount, Acc.CreditsCancelled,
Acc.CreditsCancelledCount, Acc.CreditsStopOut, Acc.CreditsStopOutCount,
Acc.DateBeginTrading, Acc.DateEndTrading,
Acc.DateBeginTrading+nz(BS.LocalHour,0)/24 AS DateBeginTrading_,
Acc.DateEndTrading+nz(BS.LocalHour,0)/24 AS DateEndTrading_, Acc.IR,
Acc.IRCount, Acc.BalanceReset, Acc.BalanceResetCount, Acc.ReSpread,
Acc.ReSpreadCount, Acc.WithdrawalsCommission, Acc.WithdrawalsCommissionCount,
Acc.ReturnComissionWM, Acc.ReturnComissionWMCount, Acc.TotalTrades,
Acc.ProfitTrades, Acc.LossTrades, Acc.NullTrades, Acc.CancelledTrades,
Acc.OpenTrades, Acc.WorkingOrders, Acc.Id_Tables_Statements, Acc.Fillup,
Acc.OperatorFillup, Acc.FillupInsert, Acc.OperatorFillupInsert, B.BrokerName,
BS.BrokerServerName, BST.BrokerServerType, BST.BrokerServerTypeName,
TS.SysName, TS.SysDatabase, BS.Id_BrokerServerType, TS.Id_Broker,
TS.Id_BrokerServer, [Rebates]/[Deposits] AS RebatesPercent,
[DateEndTrading]-[DateBeginTrading] AS PeriodTrading,
IIf([PeriodTrading]>=1,Int([PeriodTrading]) & ‘d ‘,») & Right(‘0’
& CStr(Hour([PeriodTrading])),2) & ‘:’ & Right(‘0’ &
CStr(Minute([PeriodTrading])),2) AS PeriodTrading_

FROM dbo_BrokerServerTypes AS BST RIGHT
JOIN (((dbo_Accounts AS Acc LEFT JOIN dbo_Tables_Statements AS TS ON
Acc.Id_Tables_Statements = TS.Id_Tables_Statements) LEFT JOIN dbo_Brokers AS B
ON TS.Id_Broker = B.Id_Broker) LEFT JOIN dbo_BrokerServers AS BS ON
TS.Id_BrokerServer = BS.Id_BrokerServer) ON BST.Id_BrokerServerType =
BS.Id_BrokerServerType;

13:56 Немного позанимался программой для Аэро-Груза… Продолжаю работать над журналом Accounts

Сделал настройку фильтров для журнала Accounts– 8 шт всего (хватит думаю).

16:55 Повесил на событие Deactivate сохранение настроек
журналов
pubSaveAllFilters(iSysJournal).

В журнале Accounts при изменении флажка FlagActive_AfterUpdate — не срабатывает фильтр, а делается просто Me.Refresh.

Потестил журналы, вроде работают правильно и быстро, если включен активный счет

2015-11-30 23-36-15 Скриншот экрана

16:32 Добавил по счету 3042705 операцию под номером 99999999 BalanceReset на сумму 1726.59, т.к. висел отрицательный остаток.
16:38 Добавил по счету 2866333 операцию под номером 99999999 BalanceReset на сумму 4734.84, т.к. висел отрицательный остаток.
16:40 Добавил по счету 2861174 операцию под номером 99999999 BalanceReset на сумму 4401.51, т.к. висел отрицательный остаток.
Остаются висеть мелкие остатки по некоторым счетам..
16:56 Повесил на событие Deactivate сохранение настроек журналов Call pubSaveAllFilters(iSysJournal)
Стали нормально работать фильтры!
17:41 Решил открыть терминал F4u и проверить остатки по счетам.
На счете 2763146 висел другой остаток BalanceReset 7956.79 – исправил в стейте – остаток сошелся в 0!
На счете 2915091 висит остаток по балансу 413 центов … непонятно откуда…
18:10 Исправил остаток по счету 2678437 на 0
18:12 Исправил остаток по счету 2710376 на 0 (был 0,0674)
18:15 Из новых счетов остаются остатки по счетам:
38039 FreshForex = 0.04 – скорее всего реальный
8235614 InstaForex = 0.09 – так же реальный
2915091 = 4.13 – непонятно … — Добавил операцию под номером 99999999 BalanceReset на сумму -413.00.
3136492= 1.7069 – последний рабочий счет.
18:18 По старым счетам выверять не буду – пусть висят…
18:44 Домой еду … на семерке скорее всего …

19:47 Дома. Тестирую программу. При первом открытии журнала Account почему-то не появляются надписи на кнопках фильтров. Воткнул вызов InitVariables в событие Load формы – стали работать. Но вызов InitVariables выполняется 2 раза – в событиях Load и Activate. Нужно сделать, чтобы не было передергивания RecordSource 2 раза.

22:30 Сделал процедуру ChangeRecordSource() в журналах, которая вызывается в событии Load журналов, в Activate делается только Me.Requery
В журнале Statements при Deactivate перед сохранением фильтров включается Me.swFlagActive = True, чтобы был активным фильтр по активному счету, а журнале Accountsнаоборот Me.swFlagActive = false
22:36 В основном отладил работу журналов. Сделал обновление итогов в стейтах.
В ChangeRecordSource добавил Me.Journal_Statements_ItogsByItems.Form.RecordSource = strQueryItog
Теперь нужно двигаться дальше: завтра буду делать журнал итогов.

Торговый дневник 29.11.2015 (воскресенье) Мысли по поводу дальнейшей работы над Abb Statements

Show »

15:24 Сегодня занимался ремонтом шкафа-купе – съездили по магазинам, купил бруски и вместе с Женей наладили шкаф. Более менее нормально стоит, даже лучше чем перед ремонтом.

Можно немного потестировать программу…

18:34 Потестил немного… вроде работает более-менее нормально. Только журнал рибейтов долго грузится за  весь период. Сегодня программу не буду дорабатывать. Небольшой тайм-аут. А завтра на работе займусь.

Нужно переделать журнал Accounts под универсальные функции сортировки, и наверное добавить настраиваемые фильтры, но не много – 10-15 шт. хватит. Фильтры по периодам не нужны. В общем работы немного с этим.

А дальше нужно делать журнал итогов по дням с раскладкой итогов по периодам неделя/ месяц/ квартал/ полгода/ год. Попробую сделать на основе запросов по исходной таблице стейтов, чтобы не пересчитывать промежуточные итоги каждый раз при изменении данных. Если будет работать по скорости нормально – так и оставлю. Если скорость работы будет неудовлетворительная, тогда сделаю таблицу, в которую будут заноситься итоги и автоматически пересчитываться при добавлении новых сделок из HTMLстейтов. И еще: итоги должны формироваться и по местному времени, и по времени торговых серверов (для контроля по стейтам Excel). Скорее всего даты и время будут заноситься из исходных стейтов, а в местное время пересчитываться при необходимости (как вчера было сделано в версии 1.23).

20:46 Просматриваю почту, события грядущей недели от: http://www.fxnewskiller.com/mail/poslednii-non-farm-ili-dekabrskie-ozhidaniya

И тут же возникла мысль, чтобы в свою БД заливать новости с результатами, и возможно отслеживать программно новости. (Откуда пока непонятно, но это детали… Принципиально это возможно…) Т.е. сделать программу типа как у fxnewskiller: отслеживать новости в реальном времени и, если новости вышли лучше/хуже прогнозов – тут же давать сигнал на открытие позиций в нужную сторону … Если получится это сделать, то будет очень даже неплохо. Торговля выйдет на качественно новый уровень.

В любом случае в программе должен быть журнал с результатами новостей и движения валют на этих новостях. Для начала данные, которые есть, можно залить из Excel, а дальше работать в реальном времени.

Show »

21:11 Звонил какой-то аналитик 7499-753-34-90, долго общались,  в итоге отшил его … Доставал, чтобы включил скайп, чтобы показать свою аналитику и пообщаться с трейдерами … На вопрос, почему не может скинуть инфу на emailили в аську какие-то отмазки лажевые …
21:20 Повторный звонок был с этого-же номера – тут же отключился как только ответил … 

Торговый дневник 28.11.2015 (суббота) Сделал перевод в локальное время полей с датой (Abb Statements 1.23)

Show »

Сегодня хорошо выспался, Ольга уехала на работу. Воды второй день нет – что за глюк …

10:44 Немного поработаю с утра над версией 1.22 (пока не меняю номер версии, т.к. изменения небольшие были).
Решил разобраться с запросами закачки данных из исходных стейтов, чтобы попадали двойные тикеты…
1. В запрос qry_Statement_to_import_OnlyTickets  добавил поле Id_Account: fnActive_Account()
2. Сделал запрос qry_Statements_Active_Account
3. Исправил запрос qry_Statement_to_import_OnlyTickets_NewTickets на основе qry_Statements_Active_Account
11:00 Пробую закачать стейт по счету 2705507 – было 1557 записей – ничего не закачалось …А в стейте 1571 тикет …11:05 Исправил создание запросов в функции fnCreate_qry_Statement_to_import()
Еще раз проверяю закачку по счету 2699933 …1685 записей было… стало 1727 – сначит закачались все…
11:09 На счете 2705507 стало 1592  записи 1571 трейд – значит правильно работает закачка!
Теперь нужно все счета прошерстить по новой…
11:10 И еще ошибка – при активации журнала рибейтов сбрасывается активный счет и фильтр – нужно исправить…Повесил все функции инициализации фильтров на событие Activate формы – стало работать
11:12 Счет 2710376 было 1779 – стало 1784 записи
11:17 Счет 2678437 было 1529 — стало 1532 записи
11:20 Счет 2659455 было 3007 — стало 3021  записей
11:24 Счет 38039 было 551 – не изменилось
11:25 Счет 2652800 было 2748 — стало 2751  записей
11:26 Счет 2657889 было 658  — стало 659 записей
11:27 Счет 2652798 было 750  — стало 754 записей
11:28 Счет 2666795 было 1685  – не изменилось
11:29 Счет 2670148 было 2348  – не изменилось
11:30 Счет 2674546 было 300  – не изменилось
11:30 Счет 2677040 было 416  – не изменилось
11:31 Счет 2678437 было 1532  – не изменилось
11:32 Счет 2682987 было 2632  — стало 2633  записей
11:33 Счет 2699933 было 1727  — закачивал ранее
11:33 Счет 2705507 было 1592  — закачивал ранее
11:35 Счет 2710376 было 1784  – не изменилось
11:36 Счет 2716647 было 2956  – не изменилось
11:36 Счет 2729806 было 298  — стало 299  записей
11:38 Счет 2730829 было 697  – не изменилось
Кстати и цифры по итоговому балансу и эквити исправились в журнале Accounts
11:41 Сейчас проверю по старым стейтам
11:42 Счет 74205 было 11805  — стало 11823  записей !! – так же не все были закачаны…
11:45 Счет 26047 было 5464  — стало 5470  записей
11:46 Счет 225918 было 832  – не изменилось
11:47 Счет 59370 было 11421  — стало 11422  записей
11:48 Счет 15223 было 4691  — стало 4701  записей
11:50 Счет 376662 было 197  – не изменилось (Маркетива – тикеты от 1, реальные буквенно-цифровые были …)
11:51 Счет 17066 было 116 – не изменилось NWBroker
11:52 Счет 63274 было 1290  – не изменилось LiteForex
11:53 Счет 53366 было 1660  – не изменилось FXDD
11:54 Счет 10496 было 323 – не изменилось FxInvest
11:55 Счет 71298 было 285 – не изменилось FxProfit
11:56 Счет 15066 было 878 – не изменилось Alpari – первый счет 2005 года
11:57 Теперь проверю по счетам, у которых остались остатки по балансу
11:58 Счет 2861174 было 1842  – не изменилось Висит остаток по балансу -44.0151
11:59 Счет 2866333 было 94  – не изменилось Висит остаток по балансу -47.3484
12:00 Счет 3042705 было 4486  – не изменилось Висит остаток по балансу -17.2659
12:05 Выверил почти все счета (кроме центовых, на которых нет остатка – скорее всего по ним все правильно было залито)
Остался один потерянный тикет по рибейтам 13168667 на счете 2710376 за декабрь 2012 г.
Итого в стейте на данный момент 157143 записи
12:12 Поискал в стейте Excel тикет 13168667 – его там нет…
12:26 Скопировал версию 1.22 на флэшку – теперь буду делать версию 1.23

12:40 Делаю Технический анализ 28.11.2015 (суббота) H1 / H4 , бросились в глаза дикие спреды на
закрытии рынка – до 32 п. по франку… 22 п. по фунту, 27 п. по евройене …

13:12 Решил спрятать под спойлеры архив ТА за прошлые годы по валютам.

13:32 Проверяю цифры по журналу Accounts – не попали депозиты FXDD из за слова Wire в комментах:

13:39 Исправил в функции расчет депозитов в функции fnCalcDeposit ():     » And LEFT(St.Note,2) <> ‘IR’ » & _

И расчет IR в функции fnCalcIR()

13:50 Пересчитал итоги по счету 53366 FXDD– вроде сошлись депозиты, только по счету 74205 в стейте Excelдепозит был заниженный, реальный по программе получился 2647.50 – скорее всего правильный.
13:57 Нужно пересчитать количество дней трейдинга по счетам.
Сделал функцию fnUpdate_dbo_Account_DaysTrading(Optional iId_Account As Long = 0) расчет количества дней трейдинга
Пересчитал по всем счетам – есть небольшие расхождения со стейтом в Excel непринципиальные…

Show »

15:30 Сходил в магазин Стройматериалы – искал полозья для шкафа-купе – не нашел, купил 3 лампочки для софитов обычные по 65 руб. Светодиодные очень дорогие 220 р. за одну – не стал брать пока …

15:47 Смотрю в таблице dbo_GrafikProfit очень много двойных записей (по времени и номеру счета) – нужно скорее всего исправить уникальный индекс, чтобы не закачивались двойные записи в будущем… Они получились при закачке из Excel + по стейтам… В общем пока решил отложить работу над программой …Смотрим фильмы с Викой

19:24 Немного кимарнул, выпив пивка, думал как наладить шкаф-купе. Решил просто купить завтра брусок 5*5 и на него повесить двери.

19:25 Теперь решил поработать над программой. Делаю перевод полей с датами в локальное время.

19:50 В таблицу dbo_BrokerServers добавлено поле LocalHour — разница в часах от локального времени.

20:23 В таблицу dbo__TuneOperators добавлено поле ShowLocalTime — показывать локальное время в датах.

В главную форму добавил флажок — ShowLocalTime
Немного упорядочил функции по модулям
21:57 Сделана функция fnShowLocalTime() As Boolean — Признак показа локального времени в журналах.
22:58 Добавил в запросы для стейтов перевод в локальное время:
St.OpenTime+ nz(BS.LocalHour,0)/24 as OpenTime_, St.CloseTime+ nz(BS.LocalHour,0)/24 as CloseTime_
23:00 В журнал Statements добавлены поля OpenTime_,CloseTime_ — которые показываются если fnShowLocalTime()=TRUE
23:21 В журнал Rebates добавлены поля RebateTime_,CloseTime_ — которые показываются если fnShowLocalTime()=TRUE
Для CloseTime_ принял пока +7 часов (московское время) — нужна настройка …
Теперь четко видно, в какое время по ВВО выводились рибейты…
23:57 В запросы и журнал Statements для добавлены поля DateBeginTrading_, DateEndTrading_

00:13 Сделал, чтобы фильтры по периодам работали по локальному времени         strFieldDate = «RebateTime_»

00:18 Еще мысль — вывести колонку День недели в стейт и журнал рибейтов
00:29 В запросы и журнал Rebates для добавлены поля WeekdayRebateTimeWeekdayRebateTime_
00:55 В запросы и журнал Statements для добавлены поля WeekdayCloseTimeWeekdayCloseTime_
00:56 Изменил условное форматирование полей CloseTime, CloseTime_ — для операций баланса и кредита невидимы (т.к. равны OpenTime)
01:22 Для расчета лотов используется Truncation([Lots]/BST.KoefLots,0.001) AS Lots_
01:32 Для расчета рибейтов используется
IIf(Abs(nz([PipsPL],0))>=I.MTP, Truncation(I.Spread*I.Percent_RebateF4u*St.Lots/BST.KoefLots*Abs(TI.TypeCalcPL),0.0001)) AS RebateCalc_

02:11 Отказался от функции Truncation, т.к. тупит … использую Round вместо нее…

2015-11-29 01-04-19 Скриншот экрана

2015-11-29 01-06-59 Скриншот экрана

02:15 Хватит на сегодня … Хорошо поработал … Полноценная версия Abb Statements 1.23 получилась.

Технический анализ 28.11.2015 (суббота) H1 / H4

2015-11-28 12-32-51 Скриншот экранаGBPUSD H1
2015-11-28 12-33-06 Скриншот экранаGBPUSD H4 Читать далее »

Торговый дневник 27.11.2015 (пятница) Эксперименты с подменой рекордсета вместо фильтров (Abb Statements 1.22)

08:09 С утра нужно разобраться с программой Аэро-груза – новые реестры Аэрофлота, и продолжать свою разработку …
09:58 Мысль возникла: Нужно программно формировать новый Recordset журнала при изменении фильтров, и затем на его основе будут работать и итоги по валютам. Т.е. журнал будет работать не со всеми записями сразу, а только отфильтрованными. Скорость работы должны сразу сильно вырасти, если выборки будут небольшие. Т.е. фактически будет работать не фильтр, а условия в запросе.
И еще в рекордсет добавить поле дата/время, по которой работают фильтры по периодам. Имя поля будет одним и тем же во всех журналах (FilterDateнапример), но даты подсовывать разные. Тогда фильтры по периодам должны работать нормально. Так можно переводить время закрытия/открытия сделок (возврата рибейтов и любые другие даты) в локальное время. Нужна настройка часового пояса времени торгового сервера (UTC+3 например для Москвы – нужно выяснить, по какому времени работают сервера Forex4you и других брокеров), и настройка часового пояса, где работает программа (UTC+10 Владивосток летом, UTC+11 зимой). А в запросе для журналов все даты так же формировать или в локальном времени, или во времени торгового сервера (FxCash – для времени вывода рибейтов)… Тогда все даты приведутся в один часовой пояс, который нужен в данный момент. И кнопка переключения, какое время показывать в журнале – локальное или время сервера.

13:14 Только сейчас разделался с отчетом для Аэро-груза…Теперь можно и своей программой заняться …

15:10 Сделана функция создания запросов для журналов
fnCreate_Recordset(iId__Journal As Integer, strFilter As String) As Boolean
Нашел причину почему выдавалась во всех журналах RebateTime, сидела в функции pubApplyFilter() Поменял на  FilterTime:

        strFilter = strFilter & » Month(FilterTime) = » & Forms(strFormNAme).grpPeriodMonths

Вообще можно передавать в функцию имя поля с датой и тогда будет все работать с любым полем…
Но уже добавил в запросы FilterTime:RebateTime – для журнала рибейтов и FilterTime:CloseTimeдля стейтов…
Наверное оставлю, т.к. решил, что значение будет меняться в зависимости от того, какую дату буду использовать (расчетную с учетом часового пояса или из базы) …
17:31 Возился с подменой рекордсета при смене фильтров… есть заморочки, переименовал поле Typeв St_Typeв запросе для стейтов – не дает ничего… скорее всего придется поменять имя поля Typeв справочнике
17:34 Поменял имя Typeв справочнике на TypeOperation(отменено)
17:40 Начала падать база … несколько раз уже …где-то ошибки сидят… Еду домой в 1,22 версии добавил только функцию построения рекордсета … остальные эксперименты с подменой рекордсета вместо фильтров пока ни к чему хорошему не привели… можно откатиться на 1,21 версию и попробовать заново … Домой поеду…

18:40 Дома. Начал работать с версией 1.22 от 15:00, в которой сделана только функция создания рекордсета журнала стейтов. Для начала нужно все-таки передавать в функцию имя поля с датой для работы фильтров по периодам…

Добавил параметрPublic Function pubApplyFilter(iId__Journal As Integer, strFieldDate As String, Optional lButton As Boolean = True)

19:00 функцию добавлены 2 параметра и передергивание рекордсета формы: Function fnCreate_Recordset(iId__Journal As Integer, strFormName As String, strQuery As String, strFilter As String) As Boolean

20:48 Полчаса не было света … хотел уже покимарить, но быстро дали. Съездил за Ольгой. Решил много не работать сегодня… Нужен небольшой тайм-аут…
Сделал по простому в стейте – добавил рекордсет на активный счет, и если фильтр  swFlagActive включен — работает qry_Journal_Statements_ActiveAccount, в других выборках работает запрос по всему стейту qry_Journal_Statements

Чаше всего буду работать с текущим счетом, поэтому больше не буду тратить время на оптимизацию и ускорение работы. Пусть пока так поработает…

21:24 Проверил журнал рибейтов – почему-то не показывает итоги … фильтры и сортировки работают…

По журналу рибейтов сделал аналогично 2 запроса – активный счет и все записи.

22:11 Закончил версию 1.22 – скопировал на флэшку. Фильтры по периодам не всегда корректно работают, но это мелочи… Теперь нужно поправить запросы закачки текущих стейтов, чтобы корректно обрабатывались двойные тикеты и закачать недостающие 58 шт. Ну и можно продолжать разработку. Нужны еще несколько журналов: Итоги по дням/неделям/месяцам (возможно сделать один журнал для всех групповых итогов), график профита пока под сомнением – нужен или нет… Так же отчеты и диаграммы.

Торговый дневник 26.11.2015 (четверг) Сделаны универсальные функции работы с фильтрами и сортировками (Abb statements 1.21)

08:00 Жду Ольгу дома, перечитываю дневники за 2012 год июнь …
08:53 Продолжаю работу над AbbStatements версии 1.21: В модуль Journal_Rebates добавленаконстантаConst iSysJournal As Integer = 5
09:45 В таблицу dbo__Journals добавлены поля для сохранения текущих фильтров:
swFlagActive, swStatus, grpFilterTrades, grpPeriodYears, grpPeriodMonths, grpPeriodDays, grpPeriodHours, grpOnlyChanged
10:33 Сделаны функции fnGetAllFilters(), fnSaveAllFilters() — инициализации и сохранения текущих фильтров журнала

13:22 В модуле Journals сделаны универсальными все функции для работы с фильтрами и сортировками

15:00 Долго возился с запросами по контролю версий … в итого пока отказался от этого, удалил модули из Cargo4
Last Version и AdminFunctions … Работаю на копии…

16:56 Заколебался отлаживать фильтры по журналу стейтов   — в итоге добавил в запрос поле RebateTime = TimeClose – стали фильтры работать … Домой нужно – на концерт ехать …

21:30 Сходили на концерт ВИА 80-х с Ирой и Ольгой – понравилось…

23:49 Потестировал дома программу, настроил фильтры в журнале Statements… Непонятно откуда программа берет поле RebateTime в фильтрах по периодам… Но работает после добавления в запрос этого поля…

Нужно переделать итоги по валютам, чтобы показывали
правильные цифры с учетов работающих фильтров…

Вид журнала стейтов в версии 1.21 на данный момент такой…

2015-11-27 00-01-39 Скриншот экрана

Торговый дневник 25.11.2015 (среда) Сделал настройку фильтров (Abb Statements 1.20), закачал рибейты за 2012 год

08:13 С утра  буду продолжать заливать базу рибейтов. Осталось 10 дней января 2013 и 2012 год с июля…
08:25 Странно, какой-то конфликт доступа вылез при импорте… Закрыл принудительно Access, перезашел в программу и пробую заново заливать – висит… странно… до этого нормально работало все…
08:30 Все из-за монопольного доступа к книге… — расшарил – стало вроде работать нормально
08:33 Еще один потерянный тикет нашелся 13452091 на счете 2710376 – добавил руками из архива Excel (дублирование номера тикета со счетом 74205… постоянно конфликт в этим счетом, вчера в т.ч. …)
08:40 2013 год залил полностью… Теперь заливаю 2012 год… Нужно постоянно контролировать правильность заливки…
09:24 Пытаюсь вычислить число дней и часов трейдинга на активном счете, а так же думаю как сделать фильтр по периодам в стейте … пока отложил … буду делать настраиваемые фильтры в журнале Rebates
11:22 Сделал группу настраиваемых переключателей фильтров, условия фильтров загоняю в ControlTipText

Me.Controls(«swFilter» + CStr(Me.grpFilterTrades)).ControlTipText =»AccountNumber=0 «

Нормально работает вроде …
12:42 Цвет надписей на кнопках фильтров определяется так (временно…):

    Me.Controls(«swFilter» + CStr(Me.grpFilterTrades)).ForeColor = fnForeColor(Me.Controls(«swFilter» + CStr(Me.grpFilterTrades)).Caption)

14:01 Наделал разных фильтров в журнале рибейтов…

Очень интересная картинка получается. Можно делать
развернутый анализ по любым критериям, задавая различные фильтры. Нужно
сделать настройку фильтров, чтобы не менять их в коде…

17:41 Красиво получилась настройка фильтров

Сохраняется в таблице dbo__JournalFilters, по левой
кнопке мыши – установка фильтра на тех переключателях, на которых не задействован фильтр, по правой кнопке мыши – очистка текущего фильтра кнопки, по которым фильтр установлен. Так же нужно сделать справочник настройки фильтров по журналам.

2015-11-26 07-32-00 Скриншот экрана

19:07 Дома. Почистил папки со старыми версиями программы – поудалял базы на флэшке, оставил дома на компе. Тестирую программу на Win7 – не показывает подсказки ContropTipText, в остальном работают фильтры нормально.
Еще нужно сделать как-то удобно настройку палитр для кнопок, а так же сделать универсальные функции, чтобы настройки фильтров и сортировок работали одинаково во всех журналах и справочниках…
Попробую позаливать рибейты за 2012 год и протестить хорошо работу фильтров. Заодно может быть какие-нибудь сделаю по умолчанию стандартными…
19:30 Начал закачивать декабрь 2012 – поменял местами запрос при задании нового фильтра: сначала вводится формула, а затем подпись на кнопке = по умолчанию формуле… Добавил фильтр центовых и классических счетов.
19:54 Опять нашлось 3 потерянных тикета… но они должны залиться, если они есть в стейте XLS, возможно нужно поправить запросы – стыковку по тикету+Account… Да не три а несколько десятков… поэтому и остатки в журнале Accounts висят по балансу и эквити … когда заливал видать стыковка быта только по тикетам, поэтому двойные тикеты не закачались… нужно обязательно поправить, чтобы руками больше не заносить … да и должна быть полная уверенность в том, что все данные закачались правильно, и больше не думать об этом в будущем …
20:40 Почему то на классических счетах реальный спред получается очень завышенный … непонятно почему пока …
21:51 Закачиваю октябрь 2012 г. Мысль мелькнула, чтобы в стейтах можно было показывать местное время,  а не только время сервера, чтобы отслеживать торговлю по нашему времени… А так же время вывода рибейтов так же… И фильтры сделать по типам счетов кнопочные… Так же  в стейте нужно показывать не только текущий счет, но и задавать выборку по разным счетам, не обязательно всем … для этого вполне подойдут настраиваемые фильтры, которые сегодня сделал…
23:40 Залил август-сентябрь 2012 под Высоцкого … пивка взял немного … как раз для тупой работы можно …Остался один месяц залить и все … дальше пойдет сплошное творчество …
00:25 Все… залил все рибейты с июля 2012 г. … всего 2648 страниц, 79155 неотмененных записей… + 4 отмененных …На сегодня хватит … завтра буду анализировать и править ошибки … 58 потерянных тикетов по рибейтам …

07:13 Только встал – будильник не сработал… Подожду Ольгу и поеду на машине…
Мысль приснилась как сделать универсальный журнал: На форме имена полей и кнопок будут типа Field1 и BtnВ настроечной таблице будет храниться инфа обо всех атрибутах каждого поля: имя поля в запросе, ширина, шрифт, атрибуты FormatConditions и пр. А затем пишется функция, которая дергает из настройки инфу и настраивает вид журнала под любой конкретный запрос.
Так можно быстро сделать практически любой журнал… Буду экспериментировать на новом журнале… или журнале рибейтов…

Торговый дневник 24.11.2015 (вторник) Залил рибейты FxCash за 2013 год, продолжаю разработку Abb Statements 1.19

06:19 Ольга уехала на работу, и я решил поработать пораньше… Начал заливать рибейты за сентябрь  2013 г. И сразу мысль возникла – вывести в журнал рибейтов расчетный спред и реальный спред при закрытии сделки… на работе сделаю …

07:03 Залил 97 страниц – и опять база FxCash глюкнула … видать загонял ее запросами своими …
07:47 Приехал на работу на служебном, сегодня холодно- сильный ветер и морозец… Зима наступает…
Сайт FxCash заработал… продолжаю заливать рибейты за сентябрь 2013 года … Постоянно браузер падает…

 

2015-11-24 07-02-53 Скриншот экрана

Решил сделать в базе панель инструментов – вызов всех журналов – проверил – нормально работает.

10:39 Работал с кнопками выбора периодов по месяцам, дням и годам – и вылетел Access – недостаточно системных ресурсов … База вроде целая… Погонял фильтры по дням/месяцам и годам – работают нормально более-менее. Сделал, чтобы текущий фильтр работал при открытии формы Журнал рибейтов (только кнопки выбора периодов остаются не соответствующим фильтру – но это пока не существенно …)
11:16 Продолжаю заливать рибейты … Заколебала падать страница с данными в ГуглХроме – постоянно жалуется на нехватку памяти…
11:56 Перезагрузил комп – тупит по страшному… Не могу понять пока причину… Или вирус какой-то или что-то еще …Пробую зайти через мозиллу на FxCash
11:59 Вроде нормально заработал … Закрыл мозиллу – работаю через Хром … Заливаю рибейты за август 2013 г.

В журнале рибейтов сделал группы кнопок с выбором годов, месяцев и дней для фильтра выборки. Причем кнопки выбора периодов показаны только те, по которым есть данные.
14:08 В журнал рибейтов добавил колонки Спред  cправочный и фактический, поменял местими колонки и условия условного форматирования некоторых полей. Убрал выделение строк по Type, сделал по ItemТеперь отлично видно средний фактический спред за любой период. В 2013 году он был намного больше чем в 2015 г.

2015-11-24 21-38-41 Скриншот экрана

15:46 Залил данные за июль 2013 г. … сейчас буду заливать июнь 2013 – самый удачный месяц в моей карьере на данный момент…
16:41 Залил июнь 2013 г. осталось 11 месяцев обработать – с июля 2012 …
18:07 Залил май 2013 – домой еду с Ольгой …

19:20 Дома. Продолжаю заливать базу…
20:33 Закачал февраль –март 2013 г., март не сохранился в Excel – случайно закрыл не сохранив… надеюсь что закачался полностью …
20:46 Добавил в журнал рибейтов итоги по валютам – пока скопировал из стейта, но нужно переделать, чтобы источник данных работал с учетом активных фильтров… В стейте кстати так же нужно сделать…
21:59 Заканчиваю заливать 2013 год. Мысль есть: нужно добавить в стейт % сделок по рибейтам от общего количества.
22:23 В стейтах не хватает несколько сделок, по которым есть рибейты из базы FxCashпо двум счетам… нужно поискать концы в архивах Excel
22:55 Нашел похоже причину – одинаковые тикеты на разных счетах … но все-равно должны были залиться…

23:13 Залил недостающие записи 28 шт. по счету 2716647 – нормально закачались (состыковал 2 стейта по тикетам … скорее всего когда закачивал базу, уникальный индекс был
неправильный…)
23:26 Занес руками в базу 5 недостающих тикетов по трем счетам …
14359146, 14358277 
по счету 2729806 и
4462048 по счету 2730829
19283324, 19326536 по счету 2770646

2015-11-24 22-23-30 Скриншот экрана

Пересчитал итоги после занесения – все рибейты отошли. Отлично … Но может еще вылезет в 2012 году …

00:15 Исправил функцию сортировки, чтобы не переключалась при открытии журналов Accounts, Statements, Rebates. Сделал новые иконки для Win7 …Разбирался, как определить, какая винда установлена … Нашел функции.. пока не заморачиваюсь … Завтра разберусь на работе …

Торговый дневник 23.11.2015 (понедельник) Работа наб Abb Statements 1.18 и закачка рибейтов за 2014 год

07:22 Подумал, что можно сегодня начать торговать на 100 баксов, заодно обкатывать программу в реальном режиме времени… Возможно вечером начну, если аванс дадут, а то на карте денег осталось мало…
07:28 Посмотрел в архиве, есть оли рибейты за 2012 год – оказывается есть только за конец декабря … не есть хорошо … А нет есть с июля всего 322 стр. за 12 год (почти столько же записей, как за январь 2015)…
Я же июнь рибейты возвращал через trades_union… У них кстати так ж нужно попробовать получить архив начислений…
За 2013 год 904 страницы … За 2014 год 512 страниц… Итого 1738 страниц нужно закачать всего… На работе займусь…08:13 На работе. Станно Ворд глюканул … нехватка памяти … закрыл лишние программы – стал работать…Totalcommander так же выдал ошибку и не показывал файлы …
10:27 В журнал рибейтов добавлена функция Change_FormatConditions
10:54 Сделан запрос dbo_RebatesFxCash_Update_dbo_Statements_OnlyNewRecords — чтобы обновлялись в стейте рибейты только новые.
11:13 В журнал Accounts добавлен переключатель swFlagActive — показать только активный счет/все счета

13:08 Добавил в журнал рибейтов расчет макс.мин. и ср. значения расчетных полей, в т.ч. со временем обработки начисления рибейтов после закрытия сделки.
Формула для корректного отображения времени:

=IIf(Max([TimeOfOutRebate])>=1;Int(Max([TimeOfOutRebate]))
& «d «;»») & Right(‘0’ &
CStr(Hour(Max([TimeOfOutRebate])));2) & «:» & Right(‘0’
& CStr(Minute(Max([TimeOfOutRebate])));2) & «:» &
Right(‘0’ & CStr(Second(Max([TimeOfOutRebate])));2)

2015-11-23 13-05-22 Скриншот экрана

15:35 Переделал журнал Accounts – добавил расчетные цифры по всем полям + расчет периода трейдинга по календарю, а так же условное форматирование всех полей.

2015-11-23 15-35-18 Скриншот экрана

17:17 Заливаю рибейты за апрель 2014 г. Возникла мысль, чтобы сделать фильтры в журналах по годам, месяцам, неделям, но только кнопочные, а не со списком выбора. И еще спред должен быть как-то привязан к дате и брокеру, а не просто в справочнике Item
18:15 Залил рибейты за март 2014 г. домой еду …
19:46 Дома. Поужинал –Ира приготовила печень – очень вкусно… Немного пообщались… Решил залить данные по рибейтам за февраль 2014 г.
20:07 Поправил спреты на основе данных 2014 г., чтобы цифры более-менее сходились … На 2015 год нужно использовать другие спреды – меньше …
20:12 Вылезли отмененные рибейты на счете 2902036 … странно … почему?
20:18 Проверил – рибейты были насчитаны ранее на эти тикеты. В базу не закачались … возможно правильно возможно нет … Нужно изменить уникальный индекс по таблице RebatesFxCash = Ticket + Дата … наверное … пока не буду Отмененные тикеты сохранил …

20:57 Залил данные за февраль 2014 – и за весь 2014 год Нужно сделать фильтры по годам …
21:29 Закачивал данные за ноябрь 2013 года и база глюканула FxCashна сайте … выдала BDerror
И сайт не открывается … странно…
21:41 Решил войти на tradersunion.ru – поискать следы рибейтов за 2012 год … Посмотрел в личном кабинете – не нашел следов сделок…
22:10 Сайт FxCash заработал… сейчас проверю …
23:13 Закачал данные за октябрь 2013 г. … хватит на сегодня

Торговый дневник 22.11.2015 (воскресенье) Продолжение разработки Abb Statements 1.17

09:11 Для начала сделал ТА Технический анализ 22.11.2015 (воскресенье) H1 / H4 (чтобы не забыть)
Буду продолжать разработку, пока Ольга отдыхает… Сегодня должны привезти холодильник – нужно делать розетку …09:19 Для начала решил закачать данные по текущему эквити – сделал файл ABBGrafikProfit.xlsв который залью все данные, которые есть, а затем импортирую в базу…
11:12 Залил данные в таблицу dbo_GrafikProfitиз Excel, теперь нужно делать расчет и заливать эквити в стейт…

12:44 Добавлен фильтр Эквити больше баланса.
Немного сделал повыше итоги по валютам, чтобы влазило 8  строчек.
13:02 Для старых стейтов, по которым нет записей в таблице  dbo_GrafikProfit принимается EquityCurrent = BalanceCurrent. Залил эквити по всем счетам.
По счетам, которые торговались одновременно, эквити завышенное – нужно поправить…
14:10 Нужно сделать расчет и закачку текущих данных в таблицу dbo_GrafikProfit (сделано)

2015-11-22 12-44-05 Скриншот экрана

18:47 Сделал условное форматирование журнала Accounts, а так же работу фильтров и сортировки как в стейте. Нужно подобрать палитру и условия условного форматирования – пока сделал по AccountLeverage.

2015-11-22 22-51-04 Скриншот экрана

18:52 Начал делать журнал рибейтов…

21:23 Не плохо идет процесс разработки журнала… Разбираюсь с форматом времени…
22:00 Сделал предварительно журнал рибейтов, сделал формат времени, чтобы было видно сколько дней во времени вывода рибейтов и трейдов
22:49 Решил немного позаливать рибейты с сайта …

23:22 Залил за июнь 2014 г. спать надо… На сегодня хватит

2015-11-22 21-58-52 Скриншот экрана

23:29 Нужно приступать к настройке палитр по разным критериям. Причем все поля должны настраиваться.

Через определенный интерфейс. Нужны настроечные таблицы по основным журналам, где к полям будут привязаны палитры. Причем как-то настройка должна производиться визуально, прямо из открытого журнала, чтобы сразу можно было оценить изменения и принять их или отказаться. Т.е. должна быть настройка по умолчанию, чтобы можно было откатить назад. 
И еще мысль, чтобы кнопки фильтров так же настраивались… в т.ч. надписи на кнопках и сами фильтры… И условия условного форматирования так же…
В общем работы еще много. Но зато после все должно окупиться сторицей… Возможно и работу найду, связанную с рынками и программированием.
23:51 При заливке рибейтов на счет 2941625 что-то цифры очень большие получаются … 150-200% от расчетных … а реальных было всего 140$