• Demo счет NinjaTrader, регистрируется в брокерской компании NinjaTrader Brokerage . NinjaTrader™, LLC
    Ссылка на демо счет NinjaTrader
    Фид на соединении Continuum/CQG.
    Для справки: Continuum - это брэнд CQG, и ни чем они не отличаются друг от друга.
    Обратите внимание, что в настоящее время CQG не высылает логин и пароль на электронные адреса от mail.ru, bk.ru, list.ru, inbox.ru, поэтому необходимо повторить регистрацию с электронного адреса от другого домейна (yahoo, gmail, и тд).
  • NinjaTrader с зарекомендовавшим себя брокерским сервисом предоставляет наилучшие условия для фьючерсной торговли, включая:
    • Низкие комиссии: Экономьте на торгах через низкие и понятные комиссии
    • Низкая маржа: Всего $50 для микро контрактов
    • Низкие минимумы: Откройте счет от $400
    • Бесплатная платформа: Включает весь необходимый функционал для торговли в реале
  • Уважаемые посетители форума!
    При регистрации на форуме отправляется письмо подтверждения на ваш почтовый ящик, если письмо не пришло, просьба проверить папку "спам" вашего почтового ящика, возможно письмо попало туда.
  • Сколько я реально плачу комиссии?
    Подробнее по ссылке

Дублирование строк при записи из onmarketdata

facepalm_by

New Member
NinjaTrader
Есть код где формирую строку для записи: "время";"цена";"объем аск";"объем бид"
Код:
protected override void OnMarketData(MarketDataEventArgs e)
        {   
   
            if (e.MarketDataType == MarketDataType.Ask)AskPrice = e.Price;           
            if (e.MarketDataType == MarketDataType.Bid)BidPrice = e.Price;           
            if (e.MarketDataType == MarketDataType.Last)LastPrice = e.Price;           
            if (e.MarketDataType == MarketDataType.Last)LastVolume = e.Volume;           
            if (e.MarketDataType != MarketDataType.Last)return;
           
            if((LastPrice >= AskPrice) && (AskPrice!=0))
                line = e.Time+";"+LastPrice+";"+LastVolume+";0";
            else if((LastPrice <= BidPrice) && (BidPrice!=0))
                line = e.Time+";"+LastPrice+";0;"+LastVolume;
           
            WriteData(line);    
           
        }
есть функция для записи
Код:
        void WriteData(string line)
        {
            try
            {
                StreamWriter sw = new StreamWriter(file_path,true);
                sw.WriteLine(line);
                sw.Close();
            }
            catch(Exception e)
            {
                ....
            }
            finally
            {
                ....
            }   
        }
в итоге в файл приходят записи и все гут, но только они дублируются всегда, т.е. если взять секундный, минутный объем (временной интервал), то на выходе идет объем в два раза больше. почему?
 
Верх Низ