Оглавление
Установка TradeStation 9.5.Виртуальный компьютер с TradeStation 9.5.
Установка TradeStation 9.5.
Текущая версия TradeStation 9.5 Update 28 обладает некоторыми весьма полезными для разработчика МТС возможностями:
Исследования возможностей TradeStation 9.5 Update 28 выявило следующий нюанс:
Для установки и запуска TradeStation 9.5 в режиме Offline вам потребуются следующие дистрибутивы: Перед установкой TradeStation 9.5 обратите внимание на следующие моменты:
- Многопоточная оптимизация, позволяющая загрузить все ядра процессора.
- API оптимизации, которое позволяет создавать "настраивающих МТС роботов".
- Более быстрый расчет по сравнению с TradeStation 9.1 за счет оптимизации платформы.
Исследования возможностей TradeStation 9.5 Update 28 выявило следующий нюанс:
- Многоядерная оптимизация при переборе большого числа вариантов может приводить к краху TradeStation, если используются DLL, которые недоработаны согласно требований для многоядерной оптимизации. Так использование Puls во время оптимизации может приводить к краху TradeStation. Пока нет времени на доработку Puls. Возможно, в будущем время для этого найдется.
Для установки и запуска TradeStation 9.5 в режиме Offline вам потребуются следующие дистрибутивы: Перед установкой TradeStation 9.5 обратите внимание на следующие моменты:
- Переключение между TradeStation 9.1 и TradeStation 9.5 работает медленно. Поэтому очень удобно ставить TradeStation 9.5 в виртуальную машину и использовать ее для многоядерной оптимизации. Возможность автоматически сохранять состояния виртуальной машины позволяет прерывать процесс оптимизации, смотреть интересные параметры и снова восстанавливать процесс оптимизации. Так же автосохранение состояний виртуальной машины позволяет защититься от потери результатов долгосрчной оптимизации из-за сбоев компьютера или ОС. Я использую виртуальную машину VmWare Workstation. Ее работой очень доволен.
- Если у вас уже установлена TradeStation 9.1, то во время установки TradeStation 9.5 не желательно использовать настройки среды TradeStation 9.1. Вместо этого перед установкой сделайте backup TradeStation 9.1 встроенными средствами TradeStation. После установки TradeStation 9.5 восстановите настройки из backup-а.
- Формат рабочих листов TradeStation 9.5 отличается от формата TradeStation 9.1. Поэтому если вы сохраните старые рабочие листы от TradeStation 9.1 в формате TradeStation 9.5, снова в TradeStation 9.1 вы их открыть не сможете.
- Установите базовый дистрибутив TradeStation 9.5.
Если у вас Windows 7 или новее, запускать инсталляцию и файлы обновлений надо с правами администратора!
В Windows 10 во время первоначальной инсталляции могут выдаваться ошибки: "Unable to register servers", "DDE Server Window: TSInst10.exe". После сообщения об ошибке инсталляция начинает откатываться и в итоге установка TradeStation не производится. Чтобы все же установить TradeStation, сразу после выдачи сообщения об ошибке программу инсталляции нужно закрыть через диспетчер задач или через панель задач, чтобы откат изменений инсталляции не произошел. После этого можно устанавливать последнее обновление. TradeStation будет нормально работать. - Установите Update 28.
- Если вы используете QuoteRoom, остановите в нем сервис TradeStation. Если вы планируете работать с TradeStation 9.5, отключите автозапуск этого сервиса.
- Если в качестве источника истории вы используете QuoteRoom, настройте в сервисе ASCII Maker экспорт истории в текстовые файлы в формате TradeStation.
- Распакуйте архив с активатором. В итоге вы получите базовую папку Start_TS_9.5, которая будет содержать в себе следующие папки:
- CAL - файлы из этой папки необходимо скопировать в вашу папку с путем вида "C:\Program Files (x86)\TradeStation 9.5\CAL".
- Cache - эту папку необходимо скопировать с перезаписью в вашу папку с путем вида "C:\Program Files (x86)\TradeStation 9.5\Program".
- Offline - в этой папке находится активатор, который необходимо запустить до запуска TradeStation 9.5. Его можно запускать с помощью файла Start_Activator.bat.
- History - эта папка содержит папаки с файлами attributes.INI, которые облегчают процесс построения графиков на базе текстовых файлов.
- Ознакомьтесь с инструкцией по построению графиков на базе текстовых файлов. Настройте экспорт истории в соответствующие папки и разместите в них соответсвующие файлы attributes.INI. Файлы attributes.INI необходимо править вручную.
- Запустите активатор "Start_TS_9.5 \ Offline \ Start_Activator.bat".
- Запустите TradeStation 9.5.
- Если у вас был сделан backup настроек TradeStation 9.1, восстановите из него настройки среды.
Полезная ссылка: Автоматическое обновление графиков TradeStation в режиме Offline.
Виртуальный компьютер с TradeStation 9.5.
Скачать актуальный образ виртуального компьютера для платформы VmWare можно отсюда: Порядок запуска и использования виртуального компьютера:- В настройках виртуального компьютера необходимо указать нужный вам объем оперативной памяти и число доступных виртуальному компьютеру ядер:
Больше 4 Gb памяти выделять виртуальному компьютеру нет смысла, так как TradeStation не может адресовать во время многоядерной оптимизации более 2 Gb оперативной памяти.
Если компьютер будет использоваться только для оптимизации стратегий, можно выделять ему все доступные ядра. Во время оптимизации без проблем будет работать удаленный контроль даже во время оптимизации с использованием всех ядер.
Если вы планируете оптимизировать стратегию и работать за компьютером, то желательно 2-4 ядра сделать недоступными для TradeStation во время оптимизации. Это можно сделать либо в настройках виртуального компьютера, либо в настройках TradeStation:
В настройки TradeStation надо зайти в любом случае, чтобы задать актуальное для вашего компьютера число доступных для оптимизации ядер. - В настройках виртуального компьютера желательно включить автозащиту:
Автозащита позволит не потерять результат многодневной оптимизации из-за зависания компьютера или его аварийного отключения. Так же возможность вернуться к нужному снимку из прошлого бывает крайне полезной. - После загрузки Windows автоматически будет запущен QuoteRoom, который обновляет историю в текстовых файлах каталога c:\History по основным валютам, нефти и индексам. Если вам нужна история по другим символам или интервалам, скачайте полную базу истории котировок для QuoteRoom.
После автоматического запуска TradeStation 9.5 будут открыты примеры рабочих листов из каталога c:\Chart:
Дождитесь загрузки графиков. Это займет время, так как подгружается одноминутная и пятиминутная история за большой период.
В первую версию виртуального компьютера добавил следующие рабочие листы:
- BTC-3W-03.tsw - торговая модель "Третья волна" на биткоине, на базе одноминутной истории. История за 2021 год. Поэтому параметры стратегии - это подгонка под кривую для оценки потенциала торговых сигналов.
Оптимальный размер стопа может быть меньше 200$. На мой взгляд меньшие стопы надо просчитывать на тиковой истории, потому что внутри минутного бара колебания могут быть больше размера стопа. Я проверял возможность использования стопов меньше 200$ на тиковой истории Binance. Это вполне возможно. - BTC-3W-03 - BigRev OFF.tsw - тоже модель "Третья волна", но без необходимости разворота трех волн относительно большего движения. Работает просто как трехволновая модель продолжения. История за 2021 год. Поэтому параметры стратегии - это подгонка под кривую для оценки потенциала торговых сигналов.
- GBP-CS.tsw - модель "Консолидация" на фунте. Стратегия настраивалась на истории [2012-2018] с интервалом проверки [2019-2020]. В 2021 году стратегия собрала серию стопов. Этот пример интересен тем, что вы можете посмотреть сколько бы сделок было убыточными при торговле четырехнедельными опционами с премией в районе 100 пунктов. Подавляющее большинство убыточных сделок на опционах можно было бы закрыть без убытка.
- GBP-SRB-SmallStop.tsw, GBP-SRB-BigStop.tsw - стратегия SRB несколько лет работала прибыльно на реале и в 2021 году принесла по итогу убыток. Можете изучить причину убытков в 2021 году. Возможно вам такой пример будет интересен.
Рабочие листы не содержат стратегии, по которым можно с ходу торговать. Примеры содержат интересные задачи, которые стоит решить, прежде чем торговать и зарабатывать. Так же на примере этих стратегий вы можете попробовать многоядерную оптимизацию TradeStation. - BTC-3W-03.tsw - торговая модель "Третья волна" на биткоине, на базе одноминутной истории. История за 2021 год. Поэтому параметры стратегии - это подгонка под кривую для оценки потенциала торговых сигналов.
- Для запуска многоядерной оптимизации необходимо задать интервал оптимизации для нужных параметров стратегии:
Если число тестов больше 2500, можно включить оптимизацию с помощью генетического алгоритма. Для этого выбираем метод оптимизации Genetic и далее жмем кнопку "Advanced Settings" для вызова окна с настройками генетического алгоритма:
В окне "Advanced Settings" жмем кнопку Suggest, чтобы TradeStation предложила оптимальные параметры настроек генетического алгоритма и включаем галочку "Terminate Optimization if population fitness did not improve for XX generations", чтобы оптимизация прервалась в том случае, если генетический алгоритм не будет находить лучшие наборы параметров 15 поколений:
Обычно хватает 15 холостых поколений для прерывания. Если вы хотите делать многодневную оптимизацию и боитесь упустить редкий набор эксклюзивных параметров, можно поставить 30 поколений вместо 15.
Обычно предложенные параметры настроек генетического алгоритма оптимальны. При тестировании большого набора параметров с миллиардами вариантов, TradeStation не может предложить оптимальные настройки, так как вариантов слишком много. В таких случаях ставлю Generations = 5000, Population = 500 и проверяю результат тестирования по ходу оптимизации. Чтобы это делать, необходимо сохранять снимок виртуальной машины с процессом оптимизации. Затем прерывать оптимизацию и смотреть, какие наборы параметров найдены. Если оптимизацию нужно продолжить, возвращаю виртуальную машину к последнему снимку с оптимизацией и расчет продолжается. Так можно оптимизировать хоть миллиарды вариантов неделями и в итоге TradeStation находит хорошие параметры даже при одновременной оптимизации 15 параметров с миллиардами вариантов возможных настроек.
В примере с настройкой BTC-3W-03.tsw оптимизация будет идти на истории за 2021 год и TradeStation будет искать максимальную доходность. Для того, чтобы избежать подгонки под кривую, делаю оптимизацию на большой истории, исключаю последние два года и с помощью параметра p_SF указываю последний год интервала настройки:
На скриншоте выше p_SF=18, что означает, что для оптимизации будет использоваться история [2012-2018], а история [2019-2021] будет интервалом проверки и во время оптимизации использоваться не будет.
Чтобы во время оптимизации не вышло так, что параметры подбираются под один лучший год за всю историю, результат оптимизации Gelium_Trader меняет так, чтобы поиск шел лучших параметров для худшего по доходности года. В итоге доходность всех остальных лет получается выше самого слабого года.
Задать собственный критерий оптимизации в TradeStation нельзя, поэтому платформу приходится обманывать с помощью хитрости и индикатора Gelium_Helper, который должен работать в отдельном окне с загрузкой последней истории того же символа и интервала, на котором работает стратегия. Этот индикатор так же используется для сохранения результатов оптимизации в текстовый файл для дальнейшего экспорта в Excel:
В Excel результат оптимизации может сохраняться двумя способами: напрямую из стратегии в Excel или через текстовый файл с последующим импортом с помощью утилиты !TS_OpExcel (на скриншоте обозначена стрелочкой).
Если записывать данные во время оптимизации напрямую в Excel, скорость оптимизации упадет и параллельные потоки будут мешать друг другу. Поэтому если вам нужно сохранить результаты многих тестов в Excel, делать это нужно через запись результатов оптимизации в текстовый файл с помощью включения следующих параметров Gelium_Trader:
На примере выше в текстовый файл будут сохраняться тесты в которых минимальная доходность за худший год будет 100 или больше процентов (p_Excel_MinYear=100). После завершения оптимизации вы можете запустить !Ts_OpExcel и все подходящие тесты из текстового файла будут добавлены для анализа в Excel.
Если подходящих тестов за время оптимизации найдено не было, можно вызвать окно с результатом оптимизации TradeStation:
Далее можно сортировать тесты по нужным колонкам, выбрать интересный набор параметров и через контекстное меню "Apply test to chart" применить набор параметров к стратегии на графике. После этого сразу увидите торговые сигналы согласно выбранному набору параметров и справа, в информационной панели Gelium_Trader, увидите торговую статистику стратегии по годам. Над статистикой торговли в панели Gelium_Trader есть две кнопки: "Save" и "Save: x". Первая кнопка сохраняет понравившийся вам набор параметров в память для последующей записи их в файл, который далее может быть импортирован в Excel. Можно просмотреть десяток тестов и лучшие сохранить в память. Вторая кнопка показывает сколько тестов было сохранено в памяти и нажатие её приводит к записи тестов из памяти в файл, который затем вы можете импортировать в Excel с помощью !TS_OpExcel.
Если в настройках стратегии параметр p_Excel_OverText=0, нажатие кнопки "Save" будет приводить сразу к записи параметров стратегии в Excel.
После оптимизации удобно собирать статистику сотен разных тестов в Excel для анализа и сравнения их между собой. Попробовав раз, отвыкнуть от этого уже не получится.
Вот в общем то и все про процесс оптимизации стратегий в TradeStation 9.5. Выглядит процесс может быть по началу и сложным, но после того как к нему привыкнешь, да еще и имея в результате всю мощь Excel для сравнения результатов разных тестов, потом без этого как без рук. MetaTrader 5 после TradeStation + Excel - это невероятное убожество, которое лично у меня вызывает жалость к тем трейдерам, которые работают с такой убогой платформой.
Если что забыл или что-то не понятно, задавайте вопросы в теме "Виртуальный компьютер с TradeStation 9.5 + Gelum_Trader_XXX". По мере возможности дополню материал. Развитие и обновление стратегий на базе Gelium_Trader тоже есть в плане.