candlemanager))
Atom
2/2/2011


в своем старом коде ничего не менял но появились ошибки "В экземпляре объекта не задана ссылка на объект."
и candle стала null. в чем может быть проблема??? версия 1.8 ))))

Tags:


Thanks:


<< < 2 3 4 
Mikhail Sukhov

Avatar
Date: 2/7/2011
Reply


avkar Go to
Mikhail Sukhov Go to


Мне все равно до конца не ясно. Нужно что отметить? Что она не дожидается формирования свечек?


Что функция не получает свечи из Квика, а возвращает только уже полученные свечи, и поэтому, если между RegisterTimeFrameCandles и GetTimeFrameCandles не прошло достаточно времени, возвращает пустое множество (или не все свечи).


Насчет пустого множества согласен. И я сейчас посмотрел код, там как раз пустой массив и возвращается. У вас не так?

Насчет времени... Не думаю что это имеет вообще расписывать. Потому что на этом S# целиком построен. Те же ITrader.Security, Order, MyTrades - все они будут возвращать пустые массивы, пока не придут данные по экспорту.
Thanks:

mr leng

Avatar
Date: 2/8/2011
Reply


рецедив)))

происходит что-то вообще сумашедшее....

один раз запускаю получаю правильные свечи
во второй раз получаю null
в третий раз могу получить не правильную свечку(close или low не совпадпют с настоящим)

и это когда свечка уже точно сформироваться

хелп ми)
Thanks:

Greene-nsk

Avatar
Date: 2/8/2011
Reply


Вы бы код привели, как вы дожидаетесь окончания формирования свечек. Было бы легче подсказывать.
Thanks:

mr leng

Avatar
Date: 2/8/2011
Reply



class SmaStrategy : Strategy
{
private readonly CandleManager _candleManager;
private TimeSpan _timeFrameStra;
private double m;

private DateTime _nextTime;
private string line;
private string _ClientCode1;
private int _VOL1;
private bool _isClientChek1;

public SmaStrategy(CandleManager candleManager, ITrader trader, int vol1, LH20 lh20, string clientcode1, string account, Security security, TimeSpan TimeFrameStra, bool isChek1, TimeSpan interval)
: base(trader, account, security, interval)
{
_candleManager = candleManager;

_timeFrameStra = TimeFrameStra;
_ClientCode1 = clientcode1;
_VOL1 = vol1;
_isClientChek1 = isChek1;
this.LH20 = lh20;
}

public LH20 LH20 { get; private set; }

protected override void OnRunning()
{
// вычисляем время окончания текущей пятиминутки
_nextTime = _timeFrameStra.GetCandleBounds(base.Trader).Max;

base.OnRunned();
}

protected override bool OnProcess()
{
// если наша стратегия в процессе остановки
if (base.ProcessState == StrategyProcessStates.Stopping)
{
base.Orders.Where(o => o.State == OrderStates.Active).ForEach(base.Trader.GuarantyCancelOrder);
return false;
}



if (base.Trader.MarketTime < _nextTime)
{
return true;
}



if (base.Trader.MarketTime > _nextTime)
{
// получаем сформированную свечку
var candle = _candleManager.GetTimeFrameCandle(Security, _timeFrameStra, _nextTime - _timeFrameStra);

_nextTime += _timeFrameStra;


// if (candle == null)
// return true;
var t = candle.ClosePrice;
var t1 = candle.LowPrice ;
var t2 = candle.HighPrice;
var t3 = candle.OpenPrice;
var ty = 0;
}
return true;

}

}



ничего всехр естественного, вот этот код и выводит то нормальные свечи то ненормальные(
Thanks:

avkar

Avatar
Date: 2/8/2011
Reply


Сначала нужно зарегистрировать ваш тайм-фрейм для инструмента с помощью функции RegisterTimeFrameCandles, а потом уже получать свечи, а в вашем коде я этого не вижу.
Thanks:

avkar

Avatar
Date: 2/8/2011
Reply


Mikhail Sukhov Go to

Насчет пустого множества согласен. И я сейчас посмотрел код, там как раз пустой массив и возвращается. У вас не так?


Да, при первом вызове GetTimeFrameCandles всегда возвращается пустое множество. При следующих вызовах, бывают, что свечи выходят не полностью, но это происходит только, если квик только-что загрузился, и таблица всех сделок еще до конца не заполнилась с сервака.
Thanks:

mr leng

Avatar
Date: 2/9/2011
Reply


тайм фрейм регистрировал
вызывал уже после формирования свечи
все равно

перешел последнию версию
тьфу-тьфу-тьфу
Thanks:

Mikhail Sukhov

Avatar
Date: 2/10/2011
Reply


mr leng Go to

class SmaStrategy : Strategy
{

...
ничего всехр естественного, вот этот код и выводит то нормальные свечи то ненормальные(


Я так понял, что это стратегия из моего примера? Во-первых, в ней есть ошибки (я нашел их, когда тестировал ее на истории в 3.0). Во-вторых, я нашел не все.[biggrin] Все таки нужно отдавать отчет в том, что примеры - это больше популистское, чем практичное.
Thanks:
<< < 2 3 4 

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

loading
clippy