Программирование симулятора 2





Эта система открывает длинную позицию (один контракт) при открытии на следующий день, когда цена закрытия пересекает скользящую среднюю вверх, и короткую позицию (один контракт), когда цена закрытия пересекает скользящую среднюю вниз. Каждому приказу присваивается имя или идентификатор: А — на покупку, В — на продажу. Длина скользящей средней (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++ можно использовать любое количество симулируемых счетов; это важно при работе с портфелями и метасистемами (системами, управляющими счетами другой системы) и при разработке моделей, включающих скрытую адаптацию с движением вперед.




Книжный магазин