Тестирование стратегий в Румус2 В Румус2 разработка и тестирование торговых систем реализовано отдельно от использования готовых стратегий-советников. Для создания торговых систем предназначен специальный компонент "Тестер стратегий". Советники, созданные на основе торговых стратегий, собраны в отдельный список на странице "Стратегии" панели задач Румус2. Использование советников рассматривается в разделе "Советники" данного документа. Компонент "Тестер стратегий" (System Tester, ST) Компонент ST состоит из нескольких смысловых частей: Панель инструментов, содержащая операции с файлами стратегий, кнопку свойств компонента и вызов справки. Закладки "Стратегия", "Тестирование" и "Отчет", содержащие саму стратегию, параметры конкретного тестирования и результаты этого тестирования соответственно. График, расположенный в зависимости от выбора пользователя, либо на отдельной закладке "График", либо внутри компонента в нижней или правой его части. Название стратегии (имя текущего загруженного в ST файла) показано справа от закладок. В правом верхнем углу компонента находятся кнопки, стандартные для всех Румус-компонентов, отвечающие за работу с окном компонента. Панель инструментов ST Функции работы с файлами стратегий: Создание новой стратегии. Текущая стратегия заменится новой. Открытие существующей стратегии. После нажатия откроется стандартный диалог открытия файлов. Сохранение текущей стратегии. Для новой стратегии необходимо будет указать имя файла. Существующая стратегия будет перезаписана в тот же файл без дополнительного подтверждения. Копирование текущей стратегии в файл с другим именем (функция "Сохранить как…"). Будет открыт стандартный диалог сохранения файла. Удаление текущей стратегии. Программа попросит подтверждение этого действия. Принципы работы с файлами описаны в разделе "Работа с файлами стратегий". Работа с компонентом: Свойства компонента ST. После нажатия открывается закладка "Свойства" на панели задач Румус2. Вызов справки. Нажатие открывает справку Румус2 в браузере по умолчанию. Свойства компонента ST На закладке собраны все свойства, относящиеся к компоненту в целом. Настройки элементов ST либо недоступны либо ограничены, и берутся из значений по умолчанию для соответствующих объектов Румус2. Свойства объектов, добавленных пользователем на график вручную, настраиваются как обычно. В текущей версии доступны следующие настройки: Положение графика внутри компонента. Возможные варианты включают расположение в правой либо нижней части компонента, а также на отдельном листе "График". По умолчанию выбрано значение "Внизу". Вид кривой капитала. Можно отображать кривую капитала либо в виде линии, либо виде гистограммы. Опция "Доходность по факту" позволяет управлять отображением кривой капитала, вычисленной по сделкам. Если опция включена, то на графике будет помимо кривой капитала, вычисленной на каждой свечке, отображаться кривая капитала, вычисленная по зафиксированным результатам сделок. По умолчанию отображаются обе кривые капитала. Варианты отображения знаков сделок и ордеров на графике – возможность отображать только сделки или сделки и ордера. Если получившиеся в результате тестирования ордера мешают анализу графика, их отрисовку можно отключить. По умолчанию включено отображение и сделок и ордеров. График в компоненте ST График является частью компонента ST, в связи с чем некоторые функции компонента "График" были отключены. Отображаются только те свечи, по которым проводится тестирование. Добавление данных пользователем запрещено. Свойства данных недоступны, параметры их отображения берутся из настроек по умолчанию, указанных для всей программы. Не поступают реал-тайм котировки. Отключена возможность торговли на графике, заключения сделок и работы с ордерами для авторизованного в системе торгового терминала. Все объекты на графике делятся на созданные из системы и добавленные пользователем. Для объектов ST невозможно удаление и копирование, ограничено изменение свойств. Допускается копирование значений кривой капитала (Ctrl-Shift-C) для последующей вставки, например, в Excel. Настройки объектов ST соответствуют настройкам по умолчанию, заданным в программе. Объектами ST являются свечи, кривая капитала, знаки сделок и ордеров, линии отрисовки событий и сделок. Допускается построение индикаторов и графических объектов (Line studies). Все построения удаляются при изменении данных для тестирования. Для добавленных вручную объектов допускаются все обычные операции (изменение свойств, удаление, копирование и т.д.). В процессе тестирования график блокируется, результаты на нем не отображаются. По окончании тестирования график становится доступным, и на нем появляются знаки сделок и ордеров и добавляется новая графическая область с кривой капитала. Если вы используете оптимизацию, и у вас получилось более одного теста, то график показывает результаты того теста, который выбран в списке результатов на закладке "Отчет". По умолчанию это самый первый тест в списке. При остановке или отмене тестирования график также разблокируется, и на нем отображаются результаты первого в списке теста, если хотя бы один тест пройден полностью. При возобновлении остановленного тестирования результаты с графика удаляются, и график вновь блокируется. Вид кривой капитала можно выбрать в свойствах компонента ST. По умолчанию кривая капитала отрисовывается в виде линии. Значение кривой капитала на момент начала тестирования равно нулю. График может содержать следующие знаки сделок и ордеров: Сделки o Открытие LONG o Открытие SHORT o Ордера Выход из рынка (закрытие позиции без открытия в противоположную сторону) o Установка ордера Open LONG o Установка ордера Close LONG o Установка ордера Open SHORT o Установка ордера Close SHORT o Перемещение ордера Open LONG o Перемещение ордера Close LONG o Перемещение ордера Open SHORT o Перемещение ордера Close SHORT Вы можете отключить отображение ордеров на графике, оставив только знаки сделок. Для этого в свойствах компонента ST для опции "Показывать на графике" выберите вариант "только сделки". По умолчанию выбрано значение "сделки и ордера". Для быстрого поиска сделки или события на графике вы можете вызвать отрисовку сделки или события из соответствующих списков (см. "Отчет"). Сделки отображаются в виде отрезка с координатами контрольных точек равными времени и цене открытия/закрытия сделки. Масштаб графика будет изменен, чтобы сделка полностью была видна. Всплывающая подсказка (хинт) на отрезке содержит дату-время и цену открытия и закрытия сделки, а также тип сделки (Long или Short). События отображаются в виде вертикальной линии в точке равной времени события. Всплывающая подсказка (хинт) на линии содержит дату-время и тип события. На графике одновременно может быть видно только одно событие или сделка. При вызове следующего события предыдущее удаляется с графика. Стратегия Тестируемый торговый алгоритм задается и редактируется на закладке "Стратегия". Здесь же задается название стратегии и ее описание. Содержимое стратегии разбито на восемь частей, расположенных на соответствующих закладках: Задание условий открытия и закрытия позиций Условия открытия позиций задаются только на Руланге, а условия закрытия могут быть заданы как виде кода Руланг, так и в виде особых условий – величины StopLoss, TakeProfit и других. Особые условия закрытия задаются на странице "Ограничения". Страницы "Открытие LONG", "Закрытие LONG", "Открытие SHORT", "Закрытие SHORT" имеют одинаковый интерфейс, который будет рассмотрен ниже. Основное условие. Основное условие задается в левом поле Руланг-редактора. В отличие от индикатора, условие обязательно должно возвращать логическое значение TRUE (условие выполнено) или FALSE (условие не выполнено). Если условие не возвращает логическое значение, то считается, что условие не выполнено (и никаких действий, связанных с этим условием, выполнено также не будет). Как только будет выполнено основное условие, программа перейдет к проверке дополнительного условия, если оно задано. Если вы не хотите задавать условия для данного типа сделок, оставьте пустым поле основного условия. Для удобства редактирования текста основного и дополнительного руланг-условия их можно открывать в отдельном модальном окне нажав на кнопку рядом с редактором руланг-кода. Дополнительное условие (фильтр) Дополнительное условие может быть двух видов – отсрочка исполнения условия на заданное количество свечей, либо код на Руланге. Для опции "Срабатывать после N свечей" свеча, на которой выполнилось основное условие, считается нулевой. Фильтр будет выполнен на свече с номером, указанным в поле ввода данной опции. Для фильтра на Руланге действует то же правило, что и для основного условия - код фильтра обязательно должен возвращать логическое значение, иначе условие никогда не будет выполнено. Из фильтра доступны параметры свечи, на которой выполнилось основное условие – OHLC и объем, номер свечи (самая первая свеча используемых для тестирования данных имеет номер 1). Подробнее об этих функциях можно узнать в разделе "Список расширений Rulang для ST". Сделка или ордер Как только выполнится основное условие и фильтр, должно совершиться некоторое действие: вы можете выбрать, хотите ли вы немедленного исполнения (сделка) или будете ждать нужной цены (ордер). По умолчанию установлено значение "Сделка". Сделки заключаются по цене, выбранной в параметрах тестирования (страница "Тестирование"). Это может быть либо Close текущей свечи (на которой было выполнено условие), либо Open следующей свечи (этот вариант обозначен как "Open+1"). Параметры Open, High и Low не предлагаются, поскольку тестирование проводится только на закрытых свечах, т.е. для текущей свечи таких цен на рынке уже нет, и заключать сделки по ним невозможно. Ордера исполняются по цене, указанной в переменной Order. Если значение этой переменной не задано, то ордер не будет установлен, а условие будет переведено в несработавшее состояние. Значение переменной Order выражено в ценах инструмента, на котором проводится тестирование, и может быть задано как в основном условии, так и в руланг-фильтре. Подробнее правила указания цены ордера рассмотрены в разделе "Список расширений Rulang для ST". Одновременно для одного условия может существовать не более одного ордера. Допускается установка ордеров из разных условий одновременно. При исполнении ордеров будут использованы правила, указанные в разделе "Принципы исполнения условий, сделок и ордеров". Уточнять основное условие Эта опция проверяется в случае, если основное условие не заканчивается сделкой. Это может быть либо в случае использования фильтра, либо если вы выбрали вариант "Ордер" в качестве действия, которое необходимо совершить при срабатывании условия. Если опция "Уточнять основное условие" включена, то основное условие продолжает проверяться на каждой свечке и, в случае его повторного выполнения, дополнительное условие и ордер будут вычислены заново (в них могут быть использованы параметры свечи, на которой сработало основное условие). Если опция выключена, то основное условие после срабатывания больше не проверяется, программа либо продолжает проверять фильтр, либо ждет исполнения ордера. Время жизни условия Вы можете предусмотреть отмену условия, по которому за определенный период времени так и не была совершена сделка. Этот период устанавливается в параметрах тестирования (страница "Тестирование") и вычисляется в свечках. Свеча, на которой был установлен ордер или активировано дополнительное условие, считается нулевой. Данный параметр относится к стратегии в целом и не может быть настроен для каждого типа сделок отдельно. По умолчанию проверка времени жизни условия отключена. Ограничения (стоп-ордера) В настоящий момент доступны три типа стоп-ордеров: StopLoss, TakeProfit и ограничение длительности сделки по времени. Первые два задаются в пунктах, а ограничение длительности измеряется в свечах. Свеча, на которой была открыта сделка, считается нулевой. По умолчанию ограничения отключены. Для каждого ограничения вы можете либо явно задать значение, либо воспользоваться оптимизацией. Ограничения относятся к любым открытым сделкам, настроить их отдельно для LONG и SHORT сделок невозможно. Оптимизация (OPT-переменные) Можно организовать подбор некоторых параметров автоматически, а затем выбрать лучшие результаты. Для этого предназначены специальные переменные, расположенные на закладке "OPT-переменные". Для каждой переменной должны быть заданы минимальное и максимальное значение, а также шаг изменения. В ходе тестирования программа будет перебирать значения от минимального к максимальному с заданным шагом. Для границ диапазона допустимы значения больше 1 (целые и дробные), для шага допустимы значения больше 0 (целые и дробные). Имена переменных заданы заранее и изменить их нельзя. Для каждой переменной предусмотрено описание, где вы можете указать назначение данного диапазона значений. Если указанная в таблице OPT-переменная нигде не используется, то ее значения перебираться не будут. Если, наоборот, вы указали в руланг-коде или ограничениях OPT-переменную, которой нет в списке, то при попытке протестировать стратегию программа выдаст ошибку. OPT-переменные могут использоваться только внутри стратегии – в основном и дополнительном рулангусловиях и в ограничениях. Параметры тестирования, требующие числового значения, не могут быть оптимизированы таким способом. Число возможных комбинаций OPT-переменных ограничено параметром "Число хранимых результатов", который задается в параметрах тестирования. Там же можно выбрать поле, по которому в ходе тестирования будут сортироваться результаты (порядок сортировки выбрать невозможно, он задан на получение наилучшего результата для каждого поля). Таким образом, по окончании тестирования будет показано заданное количество результатов с наибольшим/наименьшим значением выбранного поля сортировки. По умолчанию выбрана сортировка по убыванию итоговой прибыли. Принципы исполнения условий, сделок и ордеров Существуют следующие приоритеты при проверке всех условий: Если в параметрах тестирования указана цена заключения сделок Open+1, то сделка будет заключена до проверки условий на следующей свече. Соответственно, необходимые условия будут выбраны для проверки уже исходя из наличия открытой позиции. Ордер считается исполненным, если его цена находится между Close предыдущей свечи и High или Low текущей (в зависимости от того, выше или ниже предыдущего Close находится ордер). Если одновременно выполняются условия открытия в обе стороны, то исполнен будет ордер LONG (по аналогии с условиями открытия сделок). Ордера проверяются в следующем порядке: o StopLoss o TakeProfit o Закрывающий ордер, установленный из Руланга o Ограничение по длительности позиции o Открывающий ордер, установленный из Руланга После исполнения сделок по Open+1 и проверки ордеров производится проверка условий исходя из наличия и типа открытой позиции. Все условия проверяются на закрытых свечах. Программа перебирает все данные, выбранные для тестирования стратегии. На каждой свече условия проверяются в зависимости от наличия и типа открытых позиций: Открытие LONG позиций нет проверяется есть позиция LONG есть позиция SHORT Закрытие LONG Открытие SHORT Закрытие SHORT проверяется проверяется проверяется проверяется проверяется При одновременном выполнении условий на открытие LONG и SHORT, будет открыта сделка LONG. Если при существующей позиции сработает условие открытия в противоположную сторону, имеющаяся позиция будет закрыта, а противоположная сразу же открыта по одной и той же цене. Ордер на открытие не снимается при открытии позиции в противоположную сторону. Ордера на закрытие снимаются при закрытии позиции. Цена исполнения ордеров StopLoss и TakeProfit вычисляется исходя из направления позиции, путем прибавления или вычитания указанных пользователем значений из цены открытия позиции. Общие вычисления для всех Rulang-условий Часто в условиях сделок используются одинаковые вычисления. Для того, чтобы не вычислять их для каждого условия отдельно, а считать только один раз на каждой свечке, эти вычисления можно перенести на отдельную страницу "Вычисления". Для того, чтобы посчитанные результаты были доступны в коде условий, необходимо передавать их через глобальные переменные. Подробнее об этом рассказывается в разделе "Список расширений Rulang для ST". Код, заданный на странице "Вычисления" считается до вычисления условий после исполнения сделок по Open+1 и проверки ордеров. Список расширений Rulang для ST Специально для создания торговых стратегий в Руланг были добавлены специальные функции и переменные. Параметры данных Вы можете использовать параметры данных, используемых для тестирования. Для работы с данными предназначены следующие функции: Общее число свечей countCandle() Номер текущей свечи pos() Параметры сигнальной свечи В коде руланг-фильтра можно обратиться к параметрам свечи, на которой сработало основное условие. Для этого предназначены специальные переменные: Цена открытия сигнальной свечи S_OPEN или so Цена High сигнальной свечи S_HIGH или sh Цена Low сигнальной свечи S_LOW или sl Цена закрытия сигнальной свечи S_CLOSE или sc Номер сигнальной свечи на тестируемых данных S_NUMBER или sn Значение объема сигнальной свечи S_VOLUME или sv Можно обращаться только к сигнальной свече того же условия, к которому относится фильтр. Параметры открытой позиции Из любого условия можно обратиться к параметрам открытой позиции: Состояние открытой позиции CS_STATE или CSS. Возможные значения: o 0 – открытой позиции нет o 1 – есть открытая позиция LONG o 2 – есть открытая позиция SHORT Цена открытия позиции CS_PRICE или CSP Номер свечи, на которой открылась позиция CS_NUM или CSN Задание цены ордера Для задания цены ордера в условии или Руланг-фильтре используются: Имя переменной для задания цены ORDER Обязательное указание единиц измерения POINTS или PTS Пример использования: order = h + 5 * pts ; Глобальные переменные Все переменные в Rulang пересчитываются на каждой свече. Для задания переменных, которые не пересчитываются автоматически, было добавлено ключевое слово GLOBAL. Глобальные переменные должны быть объявлены в начале руланг-кода. Область действия этих переменных ограничена тем кодом, где они декларированы, за исключением страницы "Вычисления" в составе торговой стратегии. В случае задания переменных GLOBAL в общих вычислениях условий стратегии, эти переменные доступны в коде всех условий и фильтров данной стратегии. Пример использования: global : a(4), b ; В данном примере переменная a инициализируется значением 4, а переменная b будет инициализована автоматически. По умолчанию все глобальные переменные, для которых не указано значение, инициализируются значением 0. При использовании глобальных переменных в коде условий и фильтров следует учитывать, что значения этих переменных могут изменяться даже в том случае, если проверка данного условия на текущей свече не требуется. Это связано с тем, что код всех условий вычисляется на каждой свече, т.к. это необходимо для правильной работы функций, использующих предыдущие значения данных и переменных. В связи с этим, рекомендуется присваивать значения глобальным переменным на странице "Вычисления", а в коде условий и фильтров только читать эти значения. Изменения в функции ref() В рамках условий ST запрещено использование функции ref() с положительными параметрами, то есть обращение к свечам, расположенным после проверяемой (текущей) свечи. Работа с файлами стратегий Все стратегии, созданные в Румус2, автоматически сохраняются в папку Strategy в каталоге программы и имеют расширение *.rst. Название стратегии, отображаемое в системе, совпадает с именем файла. Для того, чтобы перенести стратегию с одного компьютера на другой, достаточно переписать файл в папку хранения стратегий. Для того, чтобы новая стратегия появилась в списке советников, необходимо перезагрузить программу. В дальнейшем планируется реализация экспорта/импорта стратегий непосредственно из программы с использованием шифрования и ограничений распространения. Функции работы с файлами стратегий доступны из панели инструментов компонента ST: Создание новой стратегии При создании новой стратегии все имеющиеся результаты тестирования, построения на графике и данные, подготовленные для предыдущей стратегии, будут удалены. Компонент переключится на закладку "Стратегия", страница "Описание", где можно указать назначение стратегии, авторство и другую информацию о стратегии. Для задания имени файла необходимо сохранить стратегию. Использование сохраненной стратегии Список имеющихся файлов стратегий открывается при нажатии на кнопку "Открыть файл" в панели инструментов. При смене стратегии все результаты тестирования, построения на графике и данные, подготовленные для предыдущей стратегии, удаляются. При сохранении стратегии обновляется список доступных советников на закладке "Стратегии" в панели задач Румус2. Копирование текущей стратегии Вы можете сохранить текущую стратегию под другим именем нажав на кнопку "Сохранить как…" и задав в стандартном диалоге сохранения новое имя файла. Удаление текущей стратегии При удалении текущей стратегии необходимо подтвердить это действие. Файл стратегии не удаляется с диска, а переименовывается в *.bak. Для восстановления стертой стратегии необходимо переименовать файл в *.rst и перезапустить Румус2. После удаления стратегии компонент ведет себя так же как при создании новой стратегии. Что сохраняется в файле стратегии Файл стратегии содержит всю информацию, расположенную на закладке "Стратегия" (описание, условия сделок, общие вычисления, оптимизация, ограничения), параметры тестирования, параметры данных для тестирования (базовые и сконвертированные), значения OPT-переменных по умолчанию (если используются). В файл стратегии не входят результаты тестирования и сами данные, на которых проводилось тестирование, а также настройки компонента ST (они сохраняются в файле рабочего стола). Тестирование стратегии После задания условий стратегии можно ее протестировать на исторических данных. Перед началом тестирования необходимо выбрать данные и указать параметры тестирования. Подготовка данных Прежде чем тестировать стратегию, необходимо подготовить данные. Это связано с тем, что в тестировании используется копия хранимых в системе исторических данных. Если данные в системе отсутствуют, нужно дождаться их полной загрузки с сервера, иначе результаты тестирования окажутся неполными. Подготовка необходима в случаях изменения любого из параметров данных: После установки нужных параметров нажмите на кнопку "Подготовить данные". Выбранные вами данные будут запрошены в системе и отображены на графике. Новые котировки (реалтайм) на график не поступают. Параметры тестирования Тестирование одной и той же стратегии можно провести с разными параметрами. В настоящий момент доступны следующие настройки: Цена для заключения сделки. Допустимые значения Close и Open+1. Эти значения относятся только к сделкам "с рынка". Сделки по ордерам (как из Руланга, так и по стоп-ордерам) исполняются по цене ордера. По умолчанию установлено значение Close. Учитывать спрэд в пунктах. Допустимы любые целые положительные значения. Число пунктов, указанное в данной опции, будет автоматически вычитаться из результата сделки после открытия. По умолчанию установлено значение 0, что означает отсутствие спрэда. Время жизни условия. Допустимы любые целые положительные значения больше 1. Условие или ордер будут сняты через указанное количество свечей после их установки в том случае, если они не привели к заключению сделки. По умолчанию опция отключена, то есть условия и ордера автоматически не отменяются. Типы сделок. Можно не меняя текста стратегии выбирать разрешенные типы сделок – только LONG, только SHORT или оба типа. Если выбрано только одно направление сделок, то условия для сделок противоположного направления в ходе тестирования не проверяются. По умолчанию выбрано значение "LONG и SHORT". Число хранимых результатов. Допустимо любое целое положительное значение больше 10. Этот параметр важен при использовании оптимизации. Если число комбинаций OPT-переменных превысит заданное число результатов, то часть результатов будет отброшена. Сохраняются лучшие результаты в соответствии с параметрами сортировки. По умолчанию задано значение 100. Параметры сортировки. Включают в себя выбор поля сортировки и порядок (по возрастанию или по убыванию значений). Доступны следующие поля: o Итоговая прибыль o Средняя прибыль o Средний убыток o Средняя прибыль/Средний убыток o Профит-фактор o Число прибыльных сделок/Число убыточных сделок o Максимальная просадка (в пунктах) По умолчанию результаты сортируются по убыванию итоговой прибыли. Запуск/отмена тестирования После того, как подготовлены данные и выбраны необходимые параметры тестирования, нажмите кнопку "Начать тестирование" для запуска процесса тестирования. В ходе тестирования становятся недоступными условия стратегии, параметры данных и параметры тестирования, а также блокируется график и список тестов на закладке "Отчет". По окончании тестирования все страницы становятся доступными, а на графике отображаются результаты теста, идущего первым в списке тестов на закладке "Отчет". Вы можете в любой момент приостановить процесс тестирования, нажав на соответствующую кнопку, после чего вы сможете посмотреть уже посчитанные результаты на графике и в отчете (условия, параметры тестирования и данных останутся недоступными). Нажмите на кнопку "Возобновить тестирование" для продолжения вычислений (график и отчеты вновь заблокируются). Для отмены текущего тестирования нажмите кнопку . Те результаты, которые были посчитаны, станут доступными для просмотра. Возобновление тестирования после отмены невозможно. При запуске повторного тестирования и при смене данных программа потребует подтверждения для удаления имеющихся результатов тестирования. В случае согласия все результаты будут удалены из отчетов и с графика. Отчет Страница "Отчет" состоит из двух частей – списка тестов и подробного отчета по тесту. Списки сделок и событий отображаются по желанию пользователя в отдельных окнах. Список тестов В списке тестов показаны основные параметры полученных в ходе тестирования результатов. Каждая строка содержит следующие значения: Номер теста Итоговая прибыль Общее число сделок Число прибыльных сделок Число убыточных сделок Средняя прибыль Средний убыток Средняя прибыль / Средний убыток Профит-фактор Достоверный профит фактор Максимальная просадка в пунктах Число прибыльных сделок / Число убыточных сделок Значения OPT-переменных для данного теста Если вы не используете оптимизацию, то в списке будет только одна строка с результатом. В случае тестирования с оптимизацией максимальное число результатов и порядок их сортировки задаются на закладке "Тестирование" в параметрах тестирования. Полученные результаты можно сортировать по любому столбцу. Для этого можно либо дважды кликнуть мышью по заголовку столбца, либо вызвав контекстное меню на любой строке выбрать нужный порядок сортировки из списка. Можно также изменить набор отображаемых столбцов, вызвав контекстное меню на заголовке списка и поставив или сняв отметку с нужного столбца. По умолчанию включены все столбцы. Результаты текущего теста В результаты текущего теста входит подробный отчет по тесту, список сделок, список событий, знаки сделок и ордеров на графике и кривая капитала. Содержимое подробного отчета по тесту обновляется при смене текущего теста автоматически. Для обновления графика и списков сделок и событий необходимо дважды кликнуть по строке с тестом либо вызвать их повторно из контекстного меню на строке с тестом. Строка с тестом, для которого отображается график, выделена красным цветом. В заголовках окон списков сделок и событий указан номер теста, к которому относится данный список. Контекстное меню, вызванное на строке с текущим тестом, позволяет отобразить на графике результаты этого теста, показать список сделок и список событий, сохранить отчет по тесту в файл в формате html или вывести его на принтер, а также назначить значения OPT-переменных данного теста в качестве параметров по умолчанию, используемых в советнике. Параметры для советника Если число тестов для стратегии больше одного, то возникает вопрос о назначении параметров по умолчанию при использовании данной стратегии как советника. Вы можете выбрать любой тест из списка и через контекстное меню (пункт "Сохранить параметры в советник") назначить параметры (значения OPTпеременных) данного теста как используемые по умолчанию в советнике. Строка теста, чьи параметры выбраны для советника, выделена в списке зеленым цветом. Сохранение и печать результатов Вы можете сохранить в файл или вывести на принтер полный отчет по любому тесту из списка. Для этого выберите из контекстное меню на строке нужного теста пункт "Сохранить результаты в файл" либо "Печать полного отчета" соответственно. Полный отчет включает в себя название стратегии, тексты и значения условий для сделок всех типов включая раздел "Вычисления", список OPT-переменных, значения ограничений, параметры использованных данных и параметры тестирования, результаты выбранного теста, подробный отчет по тесту и уменьшенное изображение графика со знаками сделок и ордеров и кривой капитала. Подробный отчет по тесту Для каждого теста вычисляется подробный отчет, содержащий следующие параметры: Итоговая прибыль (Total net profit) = значение кривой капитала на Close последней свечки (открытая сделка, если есть, считается закрытой на последней свече) Валовая прибыль = сумма всех прибыльных сделок Валовой убыток = сумма всех убыточных сделок Максимальная просадка в пунктах = самая большая разница между максимальным и следующим за ним минимальным значением кривой капитала. Фактор восстановления (restoration factor, RF) = итоговая прибыль / максимальная просадка Профит фактор (profit factor, PF) = валовая прибыль / валовой убыток Достоверный профит фактор (Actual profit factor, APF) = (валовая прибыль – самая прибыльная сделка) / валовой убыток Общее число сделок Число прибыльных сделок Число убыточных сделок Средняя прибыль = валовая прибыль / число прибыльных сделок Средний убыток = валовой убыток / число убыточных сделок Средняя прибыль / Средний убыток Число прибыльных сделок / Число убыточных сделок Максимальная прибыль Максимальный убыток Максимальное число побед подряд Максимальное число потерь подряд Всего длинных позиций Всего коротких позиций Всего баров вне рынка Средняя продолжительность периода вне рынка Максимальная продолжительность периода вне рынка Список сделок Список сделок для теста отображается в отдельном немодальном окне. Номер теста, к которому относится данный список, указан в заголовке окна. Если на момент окончания тестирования была незакрытая сделка, то ее результат считается по значению Close последней свечки в выбранных для тестирования данных. Для каждой сделки указываются следующие параметры: Порядковый номер сделки Тип сделки (Long или Short) Дата и время открытия Цена открытия Причина открытия. Различаются следующие причины открытия: o выполнено условие открытия o исполнен ордер на открытие Дата и время закрытия Цена закрытия Причина закрытия. Различаются следующие причины закрытия: o выполнено условие закрытия LONG o выполнено условие закрытия SHORT o исполнен ордер на закрытие LONG o исполнен ордер на закрытие SHORT o исполнен StopLoss o исполнен TakeProfit o исполнено ограничение позиции по длительности o выполнено условие открытия LONG (при открытии в противоположную сторону) o выполнено условие открытия SHORT (при открытии в противоположную сторону) o исполнен ордер на открытие LONG (при открытии в противоположную сторону) o исполнен ордер на открытие SHORT (при открытии в противоположную сторону) Результат (с учетом спрэда, указанного в параметрах тестирования) Длительность (с учетом таймфрейма используемых свечек) Двойной клик на строке со сделкой вызывает отрисовку этой сделки на графике. Подробней об отрисовке сделок рассказано в разделе "График". Вы можете распечатать список сделок или экспортировать его в Excel. Для этого нажмите на соответствующие кнопки в окне списка сделок. Помимо самого списка будет также передано название стратегии и строка с результатами теста, к которому относится данный список сделок. Список событий Список событий отображается в отдельном немодальном окне. Номер теста, к которому относится данный список, указан в заголовке окна. Для каждого события указан его порядковый номер, дата и время события, тип сделок (условие), к которому относится событие и тип события. Различаются следующие типы событий: Сработало основное условие Сработало дополнительное условие (фильтр) Установлен ордер Перемещен ордер Условие снято (истекло время жизни) Ордер снят (истекло время жизни) Ордер отменен при открытии в противоположную сторону Открыта позиция Закрыта позиция Ордер исполнен Двойной клик на строке с событием вызывает отрисовку этого события на графике. Подробней об отрисовке событий рассказано в разделе "График". Вы можете распечатать список событий или экспортировать его в Excel. Для этого нажмите на соответствующие кнопки в окне списка событий. Помимо самого списка будет также передано название стратегии и строка с результатами теста, к которому относится данный список событий. Советники Все стратегии, хранящиеся в папке Strategy основного каталога Румус2, при запуске программы регистрируются в списке советников. Советники можно использовать так же как индикаторы – перетащив их на график со специальной закладки "Стратегии" на панели задач Румус2. Советники, в отличие от тестируемых стратегий, работают с реалтайм-данными, выдавая торговые сигналы в реальном времени с помощью системы алертов и отрисовки специальных знаков на графике. Кривая капитала при этом не вычисляется. Свойства советника содержат список используемых OPT-переменных и их значения. Здесь же можно включить или выключить алерты по сигналам на покупку и продажу. Алерты добавляются в систему автоматически при добавлении советника на график.