Блог им. Dzam |Производительность роботов на C# (NinjaTrader).

    • 23 марта 2017, 00:26
    • |
    • Dzam
  • Еще

Производительность роботов на C# (NinjaTrader).

 Производительность роботов на C# (NinjaTrader).
Перед тем, как использовать в своем роботе переменные типа Dictionary или List, если у вас производится частое обращение к ним, обязательно проведите анализ на производительность. Вот мой кусочек анализа.

Для примера описываем переменные:

private List<KeyValuePair<int, string>> listArray;
private Dictionary<int, string> dictArray;

По сути будем иметь набор связок Integer и String. Содержание в данном случае не особо важно. Важно то, что это содержание одинаково в обеих переменных.
А теперь просто заполним эти переменные одинаковыми записями:

// Переменные для замера времени выполнения
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);


( Читать дальше )

Блог им. Dzam |Разработка торговых систем

    • 01 июля 2015, 15:34
    • |
    • Dzam
  • Еще
Занимаюсь разработкой торговых систем под заказ и под ключ. С некоторыми участниками форума мы уже поработали. Отзывы можно посмотреть на сайте. Работаю с различными платформами: Ninjatrader, Metatrader, Quik, Amibroker, Wealth-lab, Multicharts. Пишу на различных языках. Готов рассмотреть ваши предложения по платформам, которые не указаны в списке. Пишите. Договоримся. С 1 июня разработка ПО для торговли — это мое основное рабочее направление. Доступен в сети почти в течение всего дня. Работы выполняю быстрее, так как все время уделяю именно разработке. Обращайтесь!
Ну и как всегда намусорите в комментах. Без этого никак. :)

Блог им. Dzam |Программно определить бар по клику мыши в Ninjatrader

    • 24 июня 2015, 23:55
    • |
    • Dzam
  • Еще

Для некоторых индикаторов необходимо по клику мыши пересчитывать данные или перерисовываться с бара, на который кликнули. Во вложении пример кода для Ninjatrader. С зажатой клавишей ALT (в коде можно переопределить) нажимаем левой кнопкой мыши на графике и получаем информацию о баре, на который кликнули. Ничего сложного нет. Если будут вопросы, пишите, отвечу.

Код индикатора.
Оригинал статьи тут.

Пример:
Программно определить бар по клику мыши в Ninjatrader 


Блог им. Dzam |Пишу роботов и индикаторы под заказ.

    • 16 февраля 2015, 10:32
    • |
    • Dzam
  • Еще
Не скрытая реклама. :)
Имею большой опыт написания торговых стратегий, индикаторов, скриптов, помошников и так далее. Для различных платформ: Wealth-lab, NinjaTrader, Metatrader, Quik… Для любых других платформ, с которыми я не работал, время написания будет больше, но тоже проблем не составит. Решал задачи различной сложности: это и парсинг HTML страниц (почтовых сообщений) с выставлением ордеров по получаемой информации, и специфическая обработка информации ленты и ее графическое представление.
Цены приемлимые.
Программирование для меня — удовольствие. А получать плату за удовольствие — это тройное удовольствие. :)
Обращайтесь.

....все тэги
UPDONW
Новый дизайн