Общие понятия Выбор брокера Анализ рынка Торговые стратегии Книги по Forex
Общие понятия
Биржа Форекс
Игра на бирже
Валютный трейдинг
Управление валютным портфелем
Как стать трейдером
Выбор брокера
Брокерское обслуживание
Как выбрать брокера Форекс
Лучшие дилинговые центры
Анализ рынка
Технический анализ
Японские свечи
Индикатор Ишимоку
Волны Вульфа
Полосы Боллинджера
Скользящие средние
Линия тренда
Фундаментальный анализ
Механические торговые системы
Оценка эффективности механических торговых систем
Торговые сигналы
Лучшие
дилинговые центры:
Дилинговый центр EXNESS
Дилинговый центр Forex4you
Дилинговый центр Alpari

Эффективность симулятора

Торговые симуляторы могут сильно различаться по таким показателям, как мощность, емкость и скорость. Скорость важна при выполнении многих тестов или проведении сложных оптимизаций, например генетических. Скорость также важна при разработке систем для портфельной торговли или при использовании длинных внутридневных серий данных с тысячами сделок и сотнями тысяч числовых данных. В некоторых случаях от скорости симулятора зависит сама возможность проведения анализа: ряд задач требует поистине огромного объема расчетов, недоступного для «медленных» программ. Емкость симуляторов определяет ограничения объема задач (количество баров данных, которое может загружаться или объем кода самой системы). Мощность симулятора — показатель, определяющий, как сложные тесты и задания могут выполняться на базах данных цен товаров или на целых портфелях, что важно для серьезной профессиональной торговли. Достаточно мощный симулятор требуется, например, для использования многих торговых моделей, приведенных в этой книге.

Скорость

Наиболее важный фактор, влияющий на скорость работы системы, — природа используемого языка: скриптовый или программный, т. е. определение, является ли программа скриптом или используется в интерпретаторе. Современные компиляторы языков общего назначения, таких как C++, FORTRAN и Pascal/Delphi, переводят написанную пользователем программу в высокоэффективный машинный код, пригодный для прямого исполнения процессором; это делает пакеты с использованием таких языков и компиляторов весьма быстрыми. С другой стороны, собственные интерпретируемые языки, такие как Visual Basic for Applications и Easy Language, должны переводиться и подаваться в процессор построчно при исполнении сложного, насыщенного циклами исходного кода. Каков же возможный выигрыш в скорости для компилируемого языка по сравнению с интерпретируемым? Мы слышали о системах, которые после перевода с собственного языка на C++ стали работать в 50 раз быстрее!

Емкость

Если скорость в основном зависит от работы с языком (интерпретируемым или компилируемым), то емкость главным образом от используемого 16- или 32-битного программного обеспечения. Старые 16-битные программы часто зависят от предела в 64 кбайт, т. е. практически для тестирования системы может быть загружено не более 15000 баров данных (около 4 дней тиковых или 7 недель 5-минутных данных S&P 500). Кроме того, если у системы код большого объема, будьте готовы получить сообщение, что программа с ней не может справиться. Современные продукты, написанные на FORTRAN или C++, работают с соответствующими компиляторами, что позволяет, например, загрузить для тестирования всю историю тиков S&P 500 с появления индекса в 1983 г., если, конечно, у компьютера достаточно памяти. Кроме того, практически нет ограничений на количество сделок, принимаемых системой, или на сложность и размер самой системы. Все современные компиляторы для FORTRAN, C+ +, Pascal/Delphi — полностью 32-битные программы, работающие под 32-битными операционными системами, такими как Windows 95, Windows NT или LINUX/UNIX. Любой симулятор, работающий на основе таких компиляторов, способен работать с огромными объемами данных без труда. Поскольку большинство программных пакетов постоянно совершенствуется, проблема емкости становится все менее и менее принципиальной.

Мощность

Различия в мощности симуляторов главным образом зависят от языка программирования. Для начала рассмотрим язык, но не в аспекте скорости компилируемых и интерпретируемых языков, а в аспекте его возможностей. Можно ли изящно и обстоятельно запрограммировать самую сложную торговую идею? Как правило, примитивные языки не дают всех возможностей, необходимых для кодирования наиболее сложных торговых стратегий. К сожалению, наиболее мощные языки сложнее всего изучать. Но если человеку удалось овладеть таким языком, как C++, возможным становится практически все. Ваш текстовый процессор, программа работы с таблицами, броузер и сама операционная система, скорее всего, были исходно написаны на C++ или его предшественнике — Си. Такие языки, как C++ и Object Pascal (основа Borland Delphi), расширяемы и могут легко быть приведены в соответствие с требованиями разработки торговых систем с помощью использования библиотек и дополнительных компонентов. Языки Visual Basic и Easy Language, хотя и не обладают мощностью многоцелевых объектно-ориентированных языков вроде C++ и Object Pascal, более легки в изучении и имеют большинство необходимых возможностей. Гораздо слабее и не вполне достаточны для разработчика продвинутых систем макроязыки, встроенные в ряд популярных программ построения графиков, например MetaStock. Как правило, чем мощнее используемый язык, тем мощнее симулятор.

Вопросы оформления также влияют на мощность симулятора, особенно важна модульность и расширяемость. Симуляторы, использующие C++ или Delphi (Object Pascal) как основной язык, чрезвычайно расширяемы и модульны, поскольку таковы сами языки, спроектированные «снизу вверх». Библиотеки классов позволяют определять новые типы данных и операторов. Компоненты могут обеспечивать функции в готовых блоках, например управление базами данных или построение графиков. Даже «старинные» библиотеки, такие как Numerical Algorithms Group Library, International Mathematics and Statistics Library и Numerical Recipes Library, могут обеспечить самые разнообразные потребности. Модули, называемые User Functions могут быть написаны на Easy Language, а функции, написанные на других языках (включая C++), могут быть вызваны, если они записаны в виде DLL (динамической библиотеки ссылок). Макроязыки, с другой стороны, не столь гибки, что сильно лимитирует их эффективность для разработки продвинутых систем. С нашей точки зрения, возможность использования модулей, написанных на другом языке, абсолютно необходима: у разных языков разные «акценты», и даже при использовании мощного языка вроде C++ имеет порой смысл обратиться к модулям, созданным на другом языке, например таком, как Prolog (язык, разработанный для написания экспертных систем).

Еще одно важное свойство симуляторов, не связанное с языками программирования, — способность симулятора работать не только с индивидуальными финансовыми инструментами, но и с портфелями. Многие продукты не имеют возможности выполнять оптимизацию целых портфелей, хотя порой это достижимо при помощи дополнительных модулей. С другой стороны, хорошо организованный симулятор, как правило, позволяет моделировать торговлю портфелем различных финансовых инструментов.

Далее

Вернуться к оглавлению

Торговые стратегии
Скальпинг
Стратегия "Середина"
Позиционная среднесрочная
Система ATCF
Стратегия по Moving Average, ADX и Фракталам
Стратегия разворотного периода
Стратегия "теней"
Стратегия "Серфинг"
Стратегия Trend Finder Daily
Стратегия на внутреннем баре
Скальпинг M1 GBPJPY
Стратегия "4 средних"
Торговая стратегия The Bat
Книги по Forex
А.Фарлей "Мастерство свинг-трейдинга"
B. Сафонов "Практическое использование волн Эллиотта в трейдинге"
Кац Дж.О., МакКормик Д.Л. "Энциклопедия торговых стратегий"
Лучшие
дилинговые центры:
Дилинговый центр EXNESS
Дилинговый центр Forex4you
Дилинговый центр Alpari
Торговые стратегии