Получение предыдущих свеч
Atom Ответить
02.03.2010


Здравствуйте, Михаил.
После тестирования в омеге написал своего робота. Но при тестировании
заметил следующий момент. Рабочий ТФ: минутки.
1) При запуске робота функция: GetTimeFrameCandle внутри стратегии
возвращает null. Затем проходит время и возвращается нормальное
значение. Почему в первый раз верулся null, а не текущая
(незаконченная свеча)? Как можно получиьт текущую незаконченную свечу?
2) Как получить значение свечи для другого ТФ несколько периодов
назад? Например получить вчерашнюю дневную свечу пытаюсь так:

private TimeFrameCandle GetDayBefore(int daysBefore)
{
TimeSpan _1DtimeFrame = TimeSpan.FromDays(1);
DateTime candleTime = DateTime.Now.AddDays(-1*daysBefore);
TimeFrameCandle candle = null;
while (candle == null)
{
candle =
_candleManager.GetTimeFrameCandle(base.Security, _1DtimeFrame,
candleTime);
candleTime = candleTime.AddDays(-1);
}

return candle;
}

Но candle всегда равен null. Подскажите пожалуйста как быть?

Теги:


Спасибо:



Поздравляем именинников: Станислав Гайворонский

5 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 02.03.2010
Ответить


1. Видимо, еще такой экспорт по всем сделкам еще не закончился.
Получать несформированную так же, но нужно именно что дождаться
момента, когда есть хоть одна сделка.

2. Историю Квик не поддерживает. Увы.

Спасибо:

Dmitri Kaptsov

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


1. Понятно, значит будем ставить паузу.
2. А вот это очень плохо. Видимо поэтому вы для примера SamplesSMA
включили парсинг файла с котировкам. То есть, чтоб все работало надо
откуда-то загружать внешнюю историю:( Этот вариант мне не нравится так
как придется каждый день осуществлять загрузку данных.

Еще было бы здорово реализовать в библиотеки поддержку часовых поясов.
Я например живу не в Москве, поэтому приходится переводить часы для
правильной работы библиотеки.

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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 03.03.2010
Ответить


2. Думаю, через месяц я выложу тул для автоматической скачки тиков. Но
это будет уже не часть S#, так что нужно будет уметь работать с БД.

Для сдвига времени есть свойство ITrader.MarketTimeOffset.

Спасибо:

Dmitri Kaptsov

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


Странно как-то: кнопка "ответить" каждый день исчезает. Смог ответить
только сейчас (ждал почти сутки)...
Написать функцию загрузки данных с финама, думаю, будет не очень
сложно или вы хотите прям из квика грузить? Кроме того можно сделать
небольшой qpile скрипт, который будет выгружать требуемые данные в
файл. А я пока пожалуй ограничусь тем, как сделано у вас просто читать
файл с данными финама.

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

Dmitri Kaptsov

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


К сожалению не нашел такого свойства:(
Автор топика
Спасибо:


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

loading
clippy