Проект - Портфельный менеджер. - страница 4

 
Reshetov >>:
... Можно и элементарным перебором, но я нашел более шустрый алгоритм.

Интересно было бы узнать. Это ручной алгоритм, при "плавке" в тестере, или встроенный в код?

А вообще я очень ценю Ваши идеи, и пользуясь случаем выражаю свою признательность.

 
BLACK_BOX >>:

Интересно было бы узнать. Это ручной алгоритм, при "плавке" в тестере, или встроенный в код?

Тестер не работает в мультивалютном режиме, т.е. не открывает сделки на любом другом инструменте, кроме того, на котором настраивается советник в режиме тестирования

 
Reshetov >>:

Тестер не работает в мультивалютном режиме, т.е. не открывает сделки на любом другом инструменте, кроме того, на котором настраивается советник в режиме тестирования

Ну это понятно. Это одна из причин для использования модели типа САРМ: собрать статистику и надеть на нее модель с единственным внешним параметром "терпимость к риску", на выходе имеем развесовку портфеля.

Кстати через Матлаб работает неплохо, раньше делал ее в экселе. Теперь надо поискать САРМ библиотеку на C++, где-то была.

 

BLACK_BOX писал(а) >>


Теперь надо поискать САРМ библиотеку на C++, где-то была.


А смысл пользоваться моделью которая привела к мировому кризису?


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


Alpari NZ Limited

Account: 1668919 Name: Reshetov Currency: USD 2009 June 8, 12:18
Closed Transactions:
TicketOpen TimeTypeSizeItem PriceS / LT / PClose Time PriceCommissionTaxesSwapProfit
459086612009.06.05 10:48balanceDeposit100 000.00
459086942009.06.05 10:48buy1.00eurusd1.419220.000000.000002009.06.05 10:481.419130.000.000.00-9.00
459087252009.06.05 10:49buy10.00eurusd1.419120.000000.000002009.06.05 12:011.417030.000.000.00-2 090.00
459087662009.06.05 10:49sell4.31gbpusd1.605430.000000.000002009.06.08 08:421.586990.000.00-10.787 947.64
459139212009.06.05 12:02buy0.20audusd0.803770.000000.000002009.06.08 08:430.794170.000.000.70-192.00
459140412009.06.05 12:02buy0.21nzdusd0.636430.000000.000002009.06.08 08:440.624350.000.000.44-253.68
460088702009.06.08 08:43buy1.28audusd0.794450.000000.000002009.06.08 08:430.794200.000.000.00-32.00
460089682009.06.08 08:44buy1.02nzdusd0.624950.000000.000002009.06.08 08:440.624480.000.000.00-47.94
0.00 0.00 -9.64 5 323.02
Closed P/L: 5 313.38
Open Trades:
TicketOpen TimeTypeSizeItem PriceS / LT / P PriceCommissionTaxesSwapProfit
460088802009.06.05 12:02buy11.23audusd0.803770.000000.000000.785410.000.0039.31-20 618.28
460120102009.06.08 09:10buy0.11audusd0.794140.000000.000000.785410.000.000.00-96.03
459140822009.06.05 12:03sell10.00eurusd1.416750.000000.000001.383170.000.00-23.0033 580.00
460092572009.06.08 08:46sell20.00eurusd1.394460.000000.000001.383170.000.000.0022 580.00
460087822009.06.08 08:42buy9.30gbpusd1.586840.000000.000001.587050.000.000.00195.30
460120142009.06.08 09:10buy1.94gbpusd1.586040.000000.000001.587050.000.000.00195.94
460089872009.06.05 12:02buy14.09nzdusd0.636430.000000.000000.619530.000.0029.59-23 812.10
0.00 0.00 45.90 12 024.83
Floating P/L: 12 070.73
Working Orders:
TicketOpen TimeTypeSizeItem PriceS / LT / PMarket Price
No transactions
Summary:
Deposit/Withdrawal: 100 000.00 Credit Facility: 0.00
Closed Trade P/L: 5 313.38 Floating P/L: 12 070.73 Margin: 43 972.22
Balance: 105 313.38 Equity: 117 384.11 Free Margin: 73 411.89
 
Alpari NZ Limited

Account: 1668919 Name: Reshetov Currency: USD 2009 June 9, 09:07
Closed Transactions:
TicketOpen TimeTypeSizeItem PriceS / LT / PClose Time PriceCommissionTaxesSwapProfit
459086612009.06.05 10:48balanceDeposit100 000.00
459086942009.06.05 10:48buy1.00eurusd1.419220.000000.000002009.06.05 10:481.419130.000.000.00-9.00
459087252009.06.05 10:49buy10.00eurusd1.419120.000000.000002009.06.05 12:011.417030.000.000.00-2 090.00
459087662009.06.05 10:49sell4.31gbpusd1.605430.000000.000002009.06.08 08:421.586990.000.00-10.787 947.64
459139212009.06.05 12:02buy0.20audusd0.803770.000000.000002009.06.08 08:430.794170.000.000.70-192.00
459140412009.06.05 12:02buy0.21nzdusd0.636430.000000.000002009.06.08 08:440.624350.000.000.44-253.68
460088702009.06.08 08:43buy1.28audusd0.794450.000000.000002009.06.08 08:430.794200.000.000.00-32.00
460088802009.06.05 12:02buy0.79audusd0.803770.000000.000002009.06.09 00:000.789100.000.005.45-1 158.93
460089682009.06.08 08:44buy1.02nzdusd0.624950.000000.000002009.06.08 08:440.624480.000.000.00-47.94
460089872009.06.05 12:02buy0.28nzdusd0.636430.000000.000002009.06.09 00:000.620170.000.001.15-455.28
460092572009.06.08 08:46sell10.00eurusd1.394460.000000.000002009.06.09 00:001.390310.000.00-35.004 150.00
460120102009.06.08 09:10buy0.11audusd0.794140.000000.000002009.06.09 00:000.789150.000.000.37-54.89
460120142009.06.08 09:10buy1.77gbpusd1.586040.000000.000002009.06.09 00:001.604360.000.00-1.413 242.64
0.00 0.00 -39.08 11 046.56
Closed P/L: 11 007.48
Open Trades:
TicketOpen TimeTypeSizeItem PriceS / LT / P PriceCommissionTaxesSwapProfit
460934112009.06.05 12:02buy10.44audusd0.803770.000000.000000.792740.000.0072.04-11 515.32
459140822009.06.05 12:03sell10.00eurusd1.416750.000000.000001.391100.000.00-58.0025 650.00
460934362009.06.08 08:46sell10.00eurusd1.394460.000000.000001.391100.000.00-35.003 360.00
460936632009.06.09 00:01sell10.00eurusd1.390260.000000.000001.391100.000.000.00-840.00
460087822009.06.08 08:42buy9.30gbpusd1.586840.000000.000001.613280.000.00-7.4424 589.20
460933142009.06.08 09:10buy0.17gbpusd1.586040.000000.000001.613280.000.00-0.14463.08
460936312009.06.05 12:02buy13.81nzdusd0.636430.000000.000000.621450.000.0056.62-20 687.38
0.00 0.00 28.08 21 019.58
Floating P/L: 21 047.66
Working Orders:
TicketOpen TimeTypeSizeItem PriceS / LT / PMarket Price
No transactions
Summary:
Deposit/Withdrawal: 100 000.00 Credit Facility: 0.00
Closed Trade P/L: 11 007.48 Floating P/L: 21 047.66 Margin: 40 222.40
Balance: 111 007.48 Equity: 132 055.14 Free Margin: 91 832.74
 
В коде где-то имеется ошибка, т.к. EURUSD sell c тикетом №46009257 зачем-то был переоткрыт тикетом №46093663. В остальном алгоритм работает правильно. Полет нормальный.
 

Оказалось, что причиной переоткрытия является неравномерный приход тиков. Советник все считает по ценам открытия и стоит на EURUSD, соответственно функция start() запускается по приходу тика формирующего новый бар только на EURUSD. Если анализируется, например, пара GBPUSD, а тик нового бара еще не пришел, то в расчетах используется цена открытия предыдущего бара и начинается открытие или закрытие поз под этот самый расчет. Потом приходит тик на GBPUSD, формируется новый бар, все пересчитывается и переоткрывается.


Чтобы избавиться от таких накладок пришлось добавить в код проверки на предмет формирования нового бара на других парах (синхронизация по ценам открытия = синхронизация по времени начала бара):


if (Time[0] != iTime(other_pair, 0)) {

return(0);

}

 

Видимо ветка загнулась?


Во всяком случае, я разговариваю сам с собой. А сие ни есть хорошо с точки зрения психиатрии.


Поэтому, если кому-то интересно, то оставляю доступ для просмотра аккаунта:

  • Сервер: Alpari-Demo
  • Логин: 1668919
  • Пароль инвестора: vas7jbv (только просмотр)
 
Reshetov >>:

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

Позвольте ответить в Вашем стиле: а о чем разговаривать с Вашими стейтами? Предметом обсуждения может быть код, алгоритм, процесс их совершенствования, дальнейшие направления разработок. В отличии от Ваших прошлых тем нет пищи для размышлений и обсуждения.

Не в обиду и без претензий - Ваше право распоряжаться своей интеллектуальной собственностью сомнению не подвергается.

 
granit77 >>:

Позвольте ответить в Вашем стиле: а о чем разговаривать с Вашими стейтами? Предметом обсуждения может быть код, алгоритм, процесс их совершенствования, дальнейшие направления разработок. В отличии от Ваших прошлых тем нет пищи для размышлений и обсуждения.

А кто сказал, что тут нужно разговаривать только с моими стейтами? Может быть в стейтах содержится нечто такое ужасное, что все так лихо начавшие ботанический треп, вдруг смылись в неизвестном направлении?


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


_Описание рынка



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

Причина обращения: