candleToken.PartiallyFinishedCandles не работает
Atom Ответить
28.12.2011


Пробовал так:
Код
When<IEnumerable<Candle>>(candleToken.PartiallyFinishedCandles(99m))


Не срабатывает...

Теги:


Спасибо:



Скидка 15% на все продукты до 5 апреля (осталось 2 дней).

32 Ответов
1 2  >
Alexander

Фотография
Дата: 28.12.2011
Ответить


в чём выражается что не срабатывает?
токен - какого типа?
Спасибо:

freelancer

Фотография
Дата: 28.12.2011
Ответить


Просто ничего не происходит.
Типа CandleToken. Или что вы имеете ввиду ?
Автор топика
Спасибо:

Alexander

Фотография
Дата: 28.12.2011
Ответить


Свечки TimeFrame? Или какой-то другой тип?
VolumeCandle? ....

candleToken.CandleType чему равен?
Спасибо:

freelancer

Фотография
Дата: 28.12.2011
Ответить


TimeFrame
TimeFrameCandle
Автор топика
Спасибо:

Alexander

Фотография
Дата: 28.12.2011
Ответить


А если свечки другого типа - срабатывает?
Спасибо:

freelancer

Фотография
Дата: 28.12.2011
Ответить


Я меня только этот тип
Автор топика
Спасибо:

Alexander

Фотография
Дата: 28.12.2011
Ответить


freelancer Перейти
Я меня только этот тип


C другим типом есть возможность попробовать?
Спасибо:

Alexander

Фотография
Дата: 29.12.2011
Ответить


И просьба включить Strategy.EnableRulesLog
Спасибо:

freelancer

Фотография
Дата: 29.12.2011
Ответить


Со свечами другого типа не работал никогда...

Если у меня 15-ти минутки и я пишу candleToken.PartiallyFinishedCandles(99m), то правило у меня должно сработать за 9 секунд до окончания свечи ?
Автор топика
Спасибо:

Alexander

Фотография
Дата: 29.12.2011
Ответить


freelancer Перейти
Со свечами другого типа не работал никогда...

Если у меня 15-ти минутки и я пишу candleToken.PartiallyFinishedCandles(99m), то правило у меня должно сработать за 9 секунд до окончания свечи ?


по идее - да.
а оно вообще не срабатывает?
Спасибо:

freelancer

Фотография
Дата: 29.12.2011
Ответить


Написал в OnStarting так:
Код
this.
When<IEnumerable<Candle>>(candleToken.PartiallyFinishedCandles(99m)).
Do(n =>
{

}).EnableLog(true);


В логе пусто
Автор топика
Спасибо:

freelancer

Фотография
Дата: 29.12.2011
Ответить


Код
candleToken = _candleManager.RegisterTimeFrameCandles(str.Security, str.TimeFrame);
Автор топика
Спасибо:

Alexander

Фотография
Дата: 29.12.2011
Ответить


Будет фикс в 4.0.13
Спасибо:

fau

Фотография
Дата: 19.01.2012
Ответить


Alexander Mukhanchikov Перейти
Будет фикс в 4.0.13

protected override void OnStarting()
{
this
.When(_candleToken.PartiallyFinishedCandles(90m))
.Do(DoIt);

// this
// .When(_candleToken.CandlesFinished())
// .Do(ProcessCandles);

base.OnStarting();
}

private void DoIt()
{
WriteMsg("PartiallyFinishedCandles");
}

4.0.16
лог пустой
а CandlesFinished работает
Спасибо:

Alexander

Фотография
Дата: 19.01.2012
Ответить


fau Перейти
Alexander Mukhanchikov Перейти
Будет фикс в 4.0.13

protected override void OnStarting()
{
this
.When(_candleToken.PartiallyFinishedCandles(90m))
.Do(DoIt);

// this
// .When(_candleToken.CandlesFinished())
// .Do(ProcessCandles);

base.OnStarting();
}

private void DoIt()
{
WriteMsg("PartiallyFinishedCandles");
}

4.0.16
лог пустой
а CandlesFinished работает



какой токен?
Спасибо:

fau

Фотография
Дата: 19.01.2012
Ответить


Alexander Mukhanchikov Перейти
какой токен?

делаю на основе Samples\Testing\SampleHistoryTesting\
инструмент только поменял
var security = new Security
{
Id = "SPFB.SBRF@RTS",
Code = "SPFB.SBRF",
Name = "SBRF",
MinStepSize = 1,
MinStepPrice = 1,
Exchange = Exchange.Test,
};
var timeFrame = TimeSpan.FromMinutes(5);
var token = candleManager.RegisterTimeFrameCandles(security, timeFrame);


Спасибо:

fau

Фотография
Дата: 19.01.2012
Ответить


временный вариант:
protected override void OnStarting()
{
this
.When(_candleToken.CandlesChanged())
.Do(DoIt);

base.OnStarting();
}

private void DoIt(IEnumerable<Candle> candles)
{
if (candles.Count() == 0) return;

var candle = candles.ElementAt(candles.Count() - 1);

if (DateTime.Compare(candle.Time.AddMinutes(4), this.Trader.MarketTime) < 0)
// мы на последней минуте свечи
}
Спасибо:

Alexander

Фотография
Дата: 19.01.2012
Ответить


Точно 4.0.16?
Т.к. это правили уже с тестом на истории
Спасибо:

fau

Фотография
Дата: 19.01.2012
Ответить


Alexander Mukhanchikov Перейти
Точно 4.0.16?
Т.к. это правили уже с тестом на истории

да, архив StockSharp_4.0.16.zip

http://rghost.ru/35993817 если файлы закинуть в папку Samples\Testing\SampleHistoryTesting\ можно быстро проверить

кстати, можно добавить функцию GetVersion()
Спасибо:

Alexander

Фотография
Дата: 19.01.2012
Ответить


fau Перейти
Alexander Mukhanchikov Перейти
Точно 4.0.16?
Т.к. это правили уже с тестом на истории

да, архив StockSharp_4.0.16.zip

https://rghost.ru/35993817 если файлы закинуть в папку Samples\Testing\SampleHistoryTesting\ можно быстро проверить

кстати, можно добавить функцию GetVersion()



спасибо за архив.
зачем метод этот?
можно просто в свойствах dll посмотреть :)
Спасибо:

fau

Фотография
Дата: 20.01.2012
Ответить


Alexander Mukhanchikov Перейти

зачем метод этот?
можно просто в свойствах dll посмотреть :)

какой именно dll? я наугад глянул штуки 3, не увидел версию
т.е. были какие-то цифры, но ничего похожего на 4.0.16
Спасибо:

Alexander

Фотография
Дата: 20.01.2012
Ответить


fau Перейти
Alexander Mukhanchikov Перейти

зачем метод этот?
можно просто в свойствах dll посмотреть :)

какой именно dll? я наугад глянул штуки 3, не увидел версию
т.е. были какие-то цифры, но ничего похожего на 4.0.16



Любой относящийся к StockSharp:
версия
Спасибо: fau

fau

Фотография
Дата: 20.01.2012
Ответить


проверил, точно 4.0.16
PartiallyFinishedCandles не работает
Спасибо:

Alexander

Фотография
Дата: 21.01.2012
Ответить


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

Возможно будет фикс в 4.0, точно - в 4.1.
Спасибо: fau

fau

Фотография
Дата: 09.02.2012
Ответить


небольшая проблема, лог:
20:48:28.038 | | SS | CandlePartiallyFinished 05.08.2011 10:10:00
20:48:28.038 | | SS | CandlesFinished 05.08.2011 10:05:00
20:48:28.063 | | SS | CandlePartiallyFinished 05.08.2011 10:15:00
20:48:28.064 | | SS | CandlesFinished 05.08.2011 10:10:00
20:48:28.085 | | SS | CandlePartiallyFinished 05.08.2011 10:20:00
20:48:28.085 | | SS | CandlesFinished 05.08.2011 10:15:00
20:48:28.124 | | SS | CandlePartiallyFinished 05.08.2011 10:25:00
20:48:28.125 | | SS | CandlesFinished 05.08.2011 10:20:00
20:48:28.150 | | SS | CandlePartiallyFinished 05.08.2011 10:30:00
20:48:28.151 | | SS | CandlesFinished 05.08.2011 10:25:00

WriteMsg("CandlePartiallyFinished " + Trader.MarketTime);
WriteMsg("CandlesFinished " + candle.Time);
процедуры вызываются в соответствующих методах

в первом случае, предположительно MarketTime должно быть 10:04:00, или я что-то не понимаю?
проблема собственно в том, что заявки выставленные в CandlePartiallyFinished, похоже выполняются по цене которая была на момент MarketTime
Спасибо:
1 2  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy