Главная | Новости FX CLUB | Торговые условия | Торговые платформы | Обучение трейдингу
О компании
Торговые условия
Открыть демо-счет
Открыть реальный счет
Ввод средств на счет
Вывод средств со счета
Торговая платформа
  Торговые платформы
Платформа Libertex
Платформа MetaTrader4™
Платформа Rumus
  Аналитика
Видеообзор рынков
Видео от FX CLUB
Аналитика Forex
Экономический календарь
  Обучающие материалы
Обучение Forex
Статьи форекс
Статьи forex











 





Поиск информации по сайту:
Пользовательского поиска

ПРОГРАММИРОВАНИЕ СИМУЛЯТОРА

Вне зависимости от устройства (интегрированный или основанный на компонентах симулятор) в него должна быть введена логика системы, используемой пользователем. Язык программирования может быть или многоцелевым языком программирования, как C++ или FORTRAN, или собственным языком скриптов программы. Без содействия формального языка невозможно выразить торговые правила системы с достаточной для симуляции точностью. Необходимость в программировании того или иного вида не следует рассматривать как неизбежное зло — пользователь может приобрести много опыта, поскольку программирование заставляет выражать свои идеи упорядочение и целенаправленно.

В качестве примера программирования логики торговой системы рассмотрим TradeStation, популярный интегрированный пакет от Omega Research, содержащий интерпретатор для собственного языка программирования, называемого Easy Language, обеспечивающий проведение тестов на исторических данных. Easy Language — собственный язык фирмы, основанный на Pascal (многоцелевом языке программирования). Как выглядит простая торговая система, запрограммированная на Easy Language? В качестве примера предлагаем код для системы простого пересечения скользящей средней:

{Простая система пересечения скользящей средней в Easy Language}

Inputs: Len(4); {параметр длины скользящей средней)

If {Close > Average{Close, Len)) And

{Close[1] <= Average(Close, Len)[1]} Then

Buy ("A") 1 Contract At Market; {покупает на открытии следующего дня}

If (Close <= Average(Close, Len)) And

(Close[1] > Average{Close, Len}[1]) Then

Sell ("B") 1 Contract At Market; {продает на открытии следующего дня}

Эта система открывает длинную позицию (один контракт) при открытии на следующий день, когда цена закрытия пересекает скользящую среднюю вверх, и короткую позицию (один контракт), когда цена закрытия пересекает скользящую среднюю вниз. Каждому приказу присваивается имя или идентификатор: А — на покупку, В — на продажу. Длина скользящей средней (Len) может задаваться пользователем или оптимизироваться программой.

Ниже та же система, запрограммированная на языке C++ с помощью набора инструментов C- Trader от Scientific Consultant Services, в состав которого входит торговый симулятор C++:

//простая система пересечения скользящих средних в C++

len = parms[l]; // параметр длины скользящей средней

if (cls [cb] > Average(cls, len, cb} &&

cls [cb- 1] <= Average(cls, len, cb- 1))

ts.buyopen ('A', 1); // покупает на открытии следующего дня

if (cls[cb] <= Average(cls, len, cb) &&

cls [cb- 1] > Average(cls, len, cb- 1))

ts.sellopen ('B', 1); // продает на открытии следующего дня

За исключением синтаксиса и обозначений, различия в применении C++ и EasyLanguage невелики. Наиболее важны сноски на текущий бар (cb) и на данный симулируемый торговый счет или ссылку на класс симулятора (ts) в версии на C++. Так, на C++ можно использовать любое количество симулируемых счетов; это важно при работе с портфелями и метасистемами (системами, управляющими счетами другой системы) и при разработке моделей, включающих скрытую адаптацию с движением вперед.

Статья размещена в рубрике: Анализ входов и выходов в сделки на финансовых рынках



 

Главная Софт Литература Читайте на сайте Советы новичкам Контакты

Copyright © 2007 fx-trader.ru