MultiCharts объединяет графики, тестирование стратегий и автоматизацию. PowerLanguage полезен, когда уже есть совместимый код или требуется конкретная процедура теста. До решения о переносе сопоставьте эти требования с имеющейся программой.

Для какой работы нужен MultiCharts

Одна задача — систематическая торговля: запись правил, проверка по истории и анализ портфеля. MultiCharts предлагает Portfolio Trader для тестирования и выполнения стратегий на разных инструментах. Пригодность зависит от данных, совместимости кода и портфельных настроек.

До покупки сформулируйте недостающую функцию. Сравнение MT4 и MT5 (на английском) и работа с TradingView (на английском) помогают организовать выбор. MT5 уже предлагает реальные тики, оптимизацию, в том числе генетическую, и тестирование стратегий с несколькими инструментами. Наличие этих задач само не требует переноса в MultiCharts.

PowerLanguage, .NET и статус Python

Классический MultiCharts использует PowerLanguage и поддерживает ресурсы EasyLanguage; проверяйте конкретный импортированный код. MultiCharts x .NET поддерживает C# и VB.NET. Официальные технические требования указывают .NET Framework 4.8, поэтому последняя версия внешней библиотеки не обязательно совместима. Страница покупки по-прежнему перечисляет Python как beta, а отдельная официальная страница и Help Center сообщают о прекращении активной разработки и поддержки MultiCharts x Python. До опоры на это окружение уточните версию и статус у поставщика.

Проверьте план, лицензию и функции на текущей странице покупки MultiCharts. Free дает образцы истории и симуляцию; Standard добавляет соединения с данными и брокером для ручной и автоматической торговли; Advanced включает Portfolio Trader, Matrix и walk-forward-оптимизацию. Уточняйте редакцию и план: пробный полный доступ не равен постоянным возможностям Free. В бюджет отдельно включите нужные данные и расходы брокера.

Первая SMA может зависеть от истории за границей окна

Видимый отрезок и загруженная история расчета — разные диапазоны. До объявления начальных пустых значений ошибкой проверьте состав окна нашей SMA(3).

Прокрутите схему вправо, чтобы увидеть ее целиком →

Средняя зависит и от предысторииСреднее рассчитывается по трем последовательным Close. Ранние 92 и 96 предшествуют видимым 100,104,108,112,116. С ними первая видимая SMA равна 96. Без них первые две SMA недоступны, первая вычисленная — 104 на третьей видимой цене. Синий Close, розовая SMA полного ряда. Метки точек не являются датами.ТОТ ЖЕ ВИД, ДРУГОЕ НАЧАЛОНаша SMA(3): последние 3 CloseПредыстория92100108116Видимый отрезок−2−112345С историей: первая SMA =96.Без нее две первые SMA недоступны.Первая доступная SMA =104, точка 3.

Открыть схему целиком

Наш вымышленный ряд Close: сначала 92 и 96, затем видимые 100,104,108,112 и 116 с равными интервалами. Алгоритм считает среднее лишь по трем последовательным доступным наблюдениям и не заменяет отсутствие нулем. Это не снимок MultiCharts и не определение стандартного MaxBarsBack конкретного индикатора. MultiCharts — What is MaxBarsBack подтверждает минимальную предысторию для расчета индикатора или сигнала. Синим показан Close, розовым SMA полного короткого ряда; серым — история до видимого отрезка.

Начальные значения SMA зависят от загруженной истории, а не только видимого окна.

С предысторией первое видимое среднее равно(92 +96 +100) /3 =96. Если загружены только видимые значения, двум первым точкам не хватает входов. На третьей доступны 100,104 и 108, поэтому среднее равно 104. MaxBarsBack задает нужный ранний диапазон; фактическое начало конкретного скрипта зависит от логики и настроек. Не переносите число точек примера на все индикаторы. Сохраняйте начало загруженной истории отдельно от границ отображения.

Тики и свечи: разные сведения о пути цены

Тиковый и свечной тесты могут воспроизводить разные пути. MT5 использует накопленные брокером реальные тики; MultiCharts документирует допущения для исторических OHLC. В условном long вход 100, стоп 95, цель 108, а High свечи 110 и Low 90. Обе границы внутри диапазона, но OHLC не сообщает, какая достигнута первой: при заданных соответствующих исполнениях валовой результат мог бы быть+8 или−5 ценовых единиц. Bar Magnifier использует более подробную историю; недостающая детализация может эмулироваться по OHLC. IOG определяет момент вычислений и генерации приказов, а не добавляет отсутствующие тики. Проверяйте тип графика, покрытие, спред, расходы и модель исполнения: эти функции не гарантируют реальную сделку.

Оптимизация перебирает параметры; генетический поиск не обязан проверить все сочетания. Процедура walk-forward многократно отделяет обучающее окно от последующего оценочного. Это способ проверки, а не гарантия против переобучения. Задайте окна, диапазоны поиска и критерии до просмотра оценочных результатов.

Вымышленный общий бюджет риска

Пусть капитал счета 10 000 PLN, а выбранный совокупный бюджет потерь 2%,то есть 200 PLN. Три одновременных сигнала требуют по 100 PLN расчетных потерь при заданных стопах. Первый использует 100 PLN, второй — весь бюджет 200 PLN; все три потребовали бы 300 PLN, или 3%. Портфельное правило должно отклонить, отложить или уменьшить хотя бы один сигнал. Это назначенные оценки потерь, не маржа и не гарантированный максимум: гэп, расходы и связь позиций могут изменить результат. PLN — валюта модели, а не доказательство резидентства.

Для сравнения времени расчета используйте одинаковые данные, код, расходы, настройки и оборудование, затем сохраните длительность. MT5 может тестировать стратегии на нескольких инструментах без отдельного внешнего портфельного тестера. До сравнения итогов проверьте учет одновременных позиций и общего капитала каждым движком.

Соединения с брокерами и данными

Проверьте текущие списки соединений поставщика для нужной услуги. Присутствие в списке не доказывает доступность счета, инструмента или приказа. Для реального исполнения через Interactive Brokers (на английском) уточните разрешения счета, настройку соединения и применимый тариф; не считайте платформу институциональным выбором по умолчанию.

Отделяйте совместимость программы от требований счета. В таблице Required Minimums на американской странице IBKR для индивидуальных и перечисленных клиентских счетов указано USD 0, но разрешения, маржа и требования применимой компании остаются отдельными. Категория брокерских счетов другая. Проверьте нужный счет и API до выбора; см. первые шаги алгоритмической торговли.

MultiCharts или NinjaTrader: что именно сравнивать

При сравнении с NinjaTrader (на английском) задайте инструменты и брокера, язык, портфельную процедуру и дополнения. Проверяйте импортированную стратегию, не предполагая совместимость; каждое соединение сверяйте с документацией нужной версии.

Запустите одно правило на документированных одинаковых входах. До объяснения разницы качеством бэктеста проверьте историю, путь внутри свечи, расходы и обработку приказов. Более высокая модельная прибыль сама не выбирает лучшую программу.

Что программа не устанавливает

Редактор PowerLanguage имеет собственные языковые правила и семантику выполнения. Начните с малого примера и проверьте, что означает buy this bar on close в выбранном режиме, до импорта библиотеки. Планируйте практическую процедуру бэктеста, включая данные, параметры и разбор результата. Универсального срока обучения нет.

Подробные данные помогают лишь при подходящем качестве и охвате. Проверьте время, пропуски, тип котировки и соответствие инструментов. В условном перекате фьючерса старый контракт имеет 100,100, новый 110,110 ценовых единиц. Склейка дает изменения 0,+10,0 и кажущееся пересечение 105, хотя ни один контракт между своими наблюдениями не двигался. Если в отдельной учебной коррекции прибавить 10 к старому сегменту, получится 110,110,110,110 без такого пересечения. Это явно выбранная модель, не заявленный стандарт MultiCharts. Индикаторы непрерывного ряда зависят от построения; реальные приказы относятся к торгуемому контракту, а перекат и денежные потоки учитываются отдельно. Оценивайте нужную услугу данных без предположения, что платная история создает преимущество.

Следующий шаг

  1. Опробуйте подходящее предложение MultiCharts на официальном сайте. Изучите график, небольшой пример PowerLanguage и контролируемый исторический тест. Разделяйте ограничения плана, данных и торговли от условий пробного доступа. Сохраните фактически работающие задачи; общего числа достаточных вечеров нет.
  2. Рассчитайте полную стоимость двенадцати месяцев: нужный план, данные, брокер и дополнения. Используйте предложения для своего инструмента и счета. Сопоставьте затраты с текущей работой, не предполагая одинаковую обязательную подписку на данные или четырехзначный расход первого года для всех.
  3. Сопоставьте существующее правило на одинаковых данных и параметрах. До оценки просадок и серий убытков запишите расходы, разрешение истории и допущения исполнения. Ищите конкретную рабочую пользу: сравнение бэктестов не подтверждает окупаемость лицензии.
  4. При переносе из TradeStation начните с контрольного правила с вычислимыми сигналами и приказами. Сравните фактический импортированный код, привязку данных и семантику до переноса большой библиотеки. Поддержка совместимости не означает неизменную работу всех скриптов и внешних компонентов.

Связанная тема — thinkorswim, платформа Charles Schwab (на английском). Более широкий обзор рабочего набора — в разделе платформ.

Практический случай: пропуск в предыстории не равен последней цене

Все значения вымышлены. Сохраняем равные интервалы и арифметическую SMA(3), но ранняя история теперь 92, NA, а видимые цены 100,104,108,112,116. NA обозначает отсутствующее наблюдение, а не ноль. Правило этого упражнения требует три последовательных наблюдения по временным местам и при любом NA возвращает «недоступно»; оно не пропускает пустое место при наборе трех значений.

Прокрутите таблицу вправо, чтобы увидеть все столбцы →

Правило пропуска и отдельно назначенное заполнение
Видимая точкаТри места окнаБез подмены NAЕсли самовольно заменить NA на 92
1: цена 10092, NA,100Недоступно284 /3 ≈94,6667
2: цена 104NA,100,104Недоступно296 /3 ≈98,6667
3: цена 108100,104,108104104

Заполнение предыдущей ценой создает другие первые значения, хотя видимый ряд цен одинаков. Правило без подмены начинает выдавать 104 только в третьей видимой точке; дальше получаются 108 и 112. Если исходная предыстория 92,96 из основного примера известна полностью, первое среднее было бы 96 — это другая версия входных данных.

Сохраняйте признак пропуска, временные места, начало истории и правило обработки NA. «Три доступных значения» после удаления пропуска не равны трем последовательным временным местам. Это контроль нашего явно заданного алгоритма, не заявление о поведении индикатора MultiCharts по умолчанию и не наблюдение реального сбоя данных.