← Zurück

Вопрос про candle в SampleSma

  1. После того как получаем свечку GetTimeFramecandle в SmaStrategy, вывожу значения OpenPrice, Close и Volume в файл. Значения ClosePrice и Volume сильно отличаются от той свечки что нарисована на графике. OpenPrice всегда совпадает. Причём Volume меньше чем у свечки на графике, то есть получаем незавершённую свечу. Как получить завершённую?
  2. В последнее время начал замечать, иногда чем дольше программа работает, тем больше она тормозит. График в S# отстаёт от квиковского графика. С чем это связано

War dieses Thema hilfreich?

Thema teilen

Kommentare (10)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov
  1. Что за график?
  2. Это много с чем может быть связанно. Могли бы Вы сделать замеры, какие именно операции тормозят?
dart
dart Autor

График в квике. Привожу кусок файла в который я записываю данные свечки сразу после GetTimeFrameCandle: Time = 26.05.2010 16:26:54,candle.Time = 26.05.2010 16:24:00, candle.OpenPrice = 69.02, candle.ClosePrice = 69, candle.Volume =285552 Time = 26.05.2010 16:28:44,candle.Time = 26.05.2010 16:25:00, candle.OpenPrice = 69.01, candle.ClosePrice = 68.87, candle.Volume =976522 Time = 26.05.2010 16:29:44,candle.Time = 26.05.2010 16:26:00, candle.OpenPrice = 68.87, candle.ClosePrice = 68.91, candle.Volume =674798

Первое время это MarketTime (время, в которое произошла запись), второе время это собственно candle.Time. Бросается в глаза разница запаздывания. Причем разница есть всегда - когда даже тормозов нет. Сейчас опять тормоза начались. В квике сделка прошла в 16:09:15, а в программе, на панели, сообщение об этом, что статус заявки стал Matched появилось только в 16:11:45 (это я сам визуально по часам замерил с точностью +/- 5 секунд).

Mikhail Sukhov
Mikhail Sukhov

А в самом Квике как быстро изменилась заявка?

dart
dart Autor

Да в самом квике то нормально вроде всё. Было несколько перевыставлений заявок с разницей 5-6 секунд (я просто задал в MQS период 5 сек), после чего она исполнилась. Меня смущает Запаздывание появления свечи. Я сначала понять не мог, почему заявки появляются не в тот момент когда должны, ещё свчка не до конца сформировавшаяся.

Mikhail Sukhov
Mikhail Sukhov

Я думаю тут причина одна единственная. И с заявка и со свечками... У Вас на компьютере время биржевое? GetTimeFrameCandle Вы по какому событию или месту кода вызываете?

dart
dart Autor

На компьютере локальное время. В программе MarketTimeOffset я проводил. Это видно из файла. GetTimeFrameCandle вызывается как в SampleSMA в OnProcess, сразу после проверки не находится ли стратегия в процессе остановки. Я там практически ничего не поменял, только условия на покупку и продажу.

Mikhail Sukhov
Mikhail Sukhov

Какой у Вас сдвиг по времени от биржевого? Проверю с Вашими настройками у себя.

dart
dart Autor

локальное время +3 к Москве. Делаю MarketTimeOffset(-3). Тогда оно приводится к биржевому.

dart
dart Autor

Сегодня глюк был. Торгует стратегия одним контрактом фьюча РТС. Идут покупки-продажи по 137200 плюс/минус. А потом раз, в программе, на панели смотрю - купилось 60 фьючей по 1515, через некоторое время продалось 777 контрактов по 70,91. В квике таких сделок естественно не было. В таблице инструменты у меня ещё выводится Лукойл и Сбербанк и цены программа очевидно взяла ихние, перепутала иными словами. Лог к сожалению привести не могу, т.к. не ожидал такого и в код Logger не прописывал.

http://i5.fastpic.ru/big/2010/0531/ec/2f18d246637cb24f5b4c5caca7fc7dec.jpg

dart
dart Autor

У меня оказывается записывался лог ( с предыдущей стратегии строки остались). Так вот там заявки с такими ценами и с таким количеством не фигурируют.