ошибка эмуляционный plazaTrader

ошибка эмуляционный plazaTrader
Atom
5/17/2012
fish


Версия 4.1 (beta) Переписал, под новую версию, для отлаживания решил поработать через эмуляционый трейдер

RealTimeEmulationTrader<PlazaTrader>

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

Вот стек трейс


Ошибка обработки данных

System.MissingMethodException: Method not found: 'Void StockSharp.BusinessEntities.MyTrade.set_PnL(System.Decimal)'.

at StockSharp.Algo.Strategies.Strategy.#=qkgZFPxGi$ECujYjIxJexEA==(IEnumerable`1 #=qcE736mub7VO2W6WF6_Ksjw==)

at StockSharp.Algo.Strategies.Strategy.#=qMsE_t0UvJbk5pl_d10bUg65YKxFVfxDw_sxPZZdceso=(IEnumerable`1 #=qAVYNiKdFDaWf7$E79yD9HA==)

at System.Action`1.Invoke(T obj)

at Ecng.Common.DelegateHelper.SafeInvoke(Action`1 handler, T arg)

at StockSharp.Algo.Testing.RealTimeEmulationTrader1.#=q31tcw46kVie247LG7JC3rawsTV_4PPMiNb3nfHQhRAg=(IEnumerable1 #=q1SB9HRPlt19vFFcTcgdNUA==)

at Ecng.Common.DelegateHelper.SafeInvoke(Action`1 handler, T arg)

at StockSharp.Algo.Testing.MarketEmulator.#=quqtSnuGq5f5POgxeDleFXw==(Order #=qVYBEhfpbngiIldDzjfeNVw==, Decimal #=qB_q5TM5NqOVbmG8Sh_y0lA==, Decimal #=qJy$qJWxHkEld9IY5ASavhQ==)

at StockSharp.Algo.Testing.MarketEmulator.#=qf9CQicKzakD5vLTcalBhVaXvGMTvBHWEg0Z_wjOs9Fs=(Order #=qJ$avBfwd$514nCN7kM9DcA==, MarketDepth #=qOle93rDk3Vy4zS6UNYpYQw==, Boolean #=qt3rmFrcGsK2eVx1hmI0vXg==)

at StockSharp.Algo.Testing.MarketEmulator.#=qt9mNe1nnM0L_bVvVy_asHQ==(LinkedListNode`1 #=qn9ljsNq8MfAm9iGN4eGuGg==)

ОК


Tags:


Thanks:


< 1 2 
Alexander

Avatar
Date: 5/20/2012
Reply


fish: Александр, эти сделки я скопировал с терминала (чтобы показать о проблеме набора лишней позиции), к сожалению лог работы самого робота не сохранил. В алгоритме исключительно заменил событийную логику. Есть алгоритм написанный на сборке (16700 приблизительно), он работает без перебора позиции, в этом алгоритме поменял в нескольких местах событийную логику в соответствии с новым синтаксисом ее написания. Т.е. логика самого алгоритма не поменялась.

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

Ещё раз. Можете сами посчитать позицию по тем сделкам что вы дали в excel - там действительно достигает позиции равной 4 и 5. Т.е. проблемы в подсчёте позиции нет. По сделкам ровно сколько отображает PositionManager, столько и получается.

Совместимость версий у нас полная, мы собираем релизы из одного места. Все исходники - up to date.

Чему равен MinStepPrice у инструмента? Уже в третий раз задаём вопрос.

Thanks:

fish

Avatar
Date: 5/20/2012
Reply


Ещё раз. Можете сами посчитать позицию по тем сделкам что вы дали в excel - там действительно достигает позиции равной 4 и 5. Т.е. проблемы в подсчёте позиции нет. По сделкам ровно сколько отображает PositionManager, столько и получается.

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

Чему равен MinStepPrice у инструмента? Уже в третий раз задаём вопрос.

шаг цены 5 пунктов стоимость шага цены примерно 3.1 руб. думаю это можно было узнать и из названия инструмента, я ведь написал RIM2

Thanks:

Alexander

Avatar
Date: 5/20/2012
Reply


Ещё раз. Можете сами посчитать позицию по тем сделкам что вы дали в excel - там действительно достигает позиции равной 4 и 5. Т.е. проблемы в подсчёте позиции нет. По сделкам ровно сколько отображает PositionManager, столько и получается.

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

Чему равен MinStepPrice у инструмента? Уже в третий раз задаём вопрос.

шаг цены 5 пунктов стоимость шага цены примерно 3.1 руб. думаю это можно было узнать и из названия инструмента, я ведь написал RIM2

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

По второму: я прекрасно знаю шаг цены и стоимость шага цены по спецификации. Вопрос был чему они равны у данного инструмента в вашем роботе. Ведь эти значения при подсчёте PnL берутся именно из той информации что передаёт биржа. т.е. Security.MinStepPrice

Thanks:

fish

Avatar
Date: 5/20/2012
Reply


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

совершаются сделки которые совершаться не должны! в сборке (16700 приблизительно) этого нет! работает как следует! в новой версии заменил исключительно синтаксис, логика прежняя!

По второму: я прекрасно знаю шаг цены и стоимость шага цены по спецификации. Вопрос был чему они равны у данного инструмента в вашем роботе. Ведь эти значения при подсчёте PnL берутся именно из той информации что передаёт биржа. т.е. Security.MinStepPrice

ответить не смогу, в понедельник посмотрю!

Thanks:

Alexander

Avatar
Date: 5/20/2012
Reply


fish: совершаются сделки которые совершаться не должны! в сборке (16700 приблизительно) этого нет! работает как следует! в новой версии заменил исключительно синтаксис, логика прежняя!

Какая стратегия используется? Покажите код создания стратегии.

Thanks:

fish

Avatar
Date: 5/20/2012
Reply


используется MQS в различных вариациях

создаю так:

Quoting = new MarketQuotingStrategy(order, new Unit(X), new Unit(X))
{
    Volume = 1,
    Security = Y,
    Trader = Trader,
    Portfolio = Portfolio
};

base.ChildStrategies.Add(Quoting);
Thanks:

Alexander

Avatar
Date: 5/21/2012
Reply


fish: используется MQS в различных вариациях

создаю так:

Quoting = new MarketQuotingStrategy(order, new Unit(X), new Unit(X)) ;

base.ChildStrategies.Add(Quoting);



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



У кого-нибудь ещё наблюдаются проблемы с перебором позиции?
Thanks:
< 1 2 

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy