• Demo счет NinjaTrader, регистрируется через личный кабинет в брокерской компании NinjaTrader Brokerage . NinjaTrader™, LLC
    Ссылка на личный кабинет NinjaTrader
    Не открывается ссылка - используйте любой локальный VPN или дополнение для браузера.
    Google поиск VPN
    Яндекс поиск VPN
  • Уважаемые посетители форума!
    При регистрации на форуме отправляется письмо подтверждения на ваш почтовый ящик, если письмо не пришло, просьба проверить папку "спам" вашего почтового ящика, возможно письмо попало туда.
  • Сколько я реально плачу комиссии?
    Подробнее по ссылке

Считать символы из .txt в индикаторе

Schielend

New Member
NinjaTrader
Делаю индикатор, чтобы можно было считывать символы или с чарта или из текстового файла и добавлять их через Add(symbol,....)

При переключении режимов возникает ошибка в блоке инициализации и окно становится серым.
Чтобы работало, опытным путем сделал третий режим, пустой

protected override void Initialize()
{
if (пустой)
{
ничего не делать
}
if (чарт)
{
Add(symbol,....)
}
if (файл)
{
Add (symbol
}

Чтобы переключить с "чарт" на "файл" или наоборот нужно делать промежуточное переключение на "пустой".
Как это можно исправить?
 

Schielend

New Member
NinjaTrader
Сейчас немного модернизировал, чтобы функцию Add вызывать один раз и печатать в нее один список, который в зависимости от условий заранее заполняю нужными символами.
protected override void Initialize()
{
if ( R == read.Chart)
{
symbols.Clear();
foreach (string s in Symbols_chart)
{
symbols.Add(s);
}

} else
if (R == read.File)
{
symbols.Clear();
foreach (string s in Symbols_file)
{
symbols.Add(s);
}

foreach( string s in symbols)
{
Add(s, BarsPeriod.Id, BarsPeriod.Value, MarketDataType.Last);
Print(s);
}
}
Теперь серый экран только при переключении с "файл" на "график" если на графике меньше инструментов, чем в файле т.е. функция Add сначала выполнялась 3 раза, потом 2. Никаких ошибок не печатает. В OnBarUpdate() не доходит, ставил там Print() он не исполняется.
Как я понимаю, при переключении нужно каким-то образом сбрасывать добавленные инструменты или сделать два индикатора.

PS Нашел ответ на забугорном сайте.
http://ninjatrader.com/support/forum/showthread.php?t=44797
Ничего не поделаешь, добавленную серию никак не удалить. Нужно разделять индикатор на 2 индикатора.
 
Последнее редактирование:
Верх Низ