
private List<KeyValuePair<int, string>> listArray; private Dictionary<int, string> dictArray;
// Переменные для замера времени выполнения
sw1 = new Stopwatch();
sw2 = new Stopwatch();
// Инициализация переменных
listArray = new List<KeyValuePair<int, string>>();
dictArray = new Dictionary<int, string>();
// Стартуем замер производительности
sw1.Start();
for (int i = 0; i < 1000000; i++)
{
//Добавляем переменную в массив
listArray.Add(new KeyValuePair<int, string>(i, "test"));
}
// Останавливаем замер производительности
sw1.Stop();
// Выводим результат
Print("List: " + sw1.ElapsedMilliseconds);
// Очищаем список
listArray.Clear();
// Стартуем второй счетчик производительности
sw2.Start();
// Запускаем второй цикл
for (int i = 0; i < 1000000; i++)
{
dictArray.Add(i, "test");
}
// Останавливаем счетчик
sw2.Stop();
// Выводим результат
Print("Dictionary: " + sw2.ElapsedMilliseconds);
Документация к данному терминалу мне показалась очень скудной. Особенно в части разработки индикаторов, роботов. Хотел бы описать процесс создания/добавления собственного индикатора на простом примере.
Для работы с собственными индикаторами в терминале идем в меню Charts& Quotes -> Custom Indicators -> Indicator Store:
Для некоторых индикаторов необходимо по клику мыши пересчитывать данные или перерисовываться с бара, на который кликнули. Во вложении пример кода для Ninjatrader. С зажатой клавишей ALT (в коде можно переопределить) нажимаем левой кнопкой мыши на графике и получаем информацию о баре, на который кликнули. Ничего сложного нет. Если будут вопросы, пишите, отвечу.
Код индикатора.
Оригинал статьи тут.
Пример: