торговая система представляет набор четких правил
В
своем окончательном виде торговая система представляет набор четких правил и
формул. Если торговая идея не может быть сведена к такому виду, то она не
является торговой системой. Торговая система, обсуждавшаяся в предыдущем
диалоге, может быть описана тремя способами: на обычном языке, посредством
правил и формул и компьютерным кодом.
На
обычном языке данная торговая система, основанная на скользящих средних, может
быть выражена следующим перечнем правил:
Правило 1. Покупайте, когда краткосрочная скользящая средняя пересекает
долгосрочную скользящую среднюю снизу вверх.
Правило 2. Находясь в покупке, оставайтесь в ней до тех пор, пока не появится
сигнал на продажу.
Правило 3. Продавайте, когда краткосрочная скользящая средняя пересекает
долгосрочную скользящую среднюю сверху вниз.
Правило 4. Находясь в продаже, оставайтесь в нем до тех пор, пока не появится
сигнал на покупку.
Эта
торговая система может быть определена следующим набором формул и правил:
Определение 1: C(t) — цена закрытия t-го дня, при этом, что сегодняшний день t
= 1.
Определение 2: х это период скользящей средней один (МА1).
Определение 3: у это период скользящей средней два (МА2).
Формула 1: MA1 = [C(f)+C(t+l)+...+C(t+x-l)]/x
Формула 2: МА2 = [C(t)+C(t+l)+...+C(t+y-l)]/y
Правило 1: у никогда не меньше двух х.
Правило 2: Если МА1(/)>МА2(0 и МА1(М)<МА2(М), то покупать.
Правило 3: Если вы находитесь в покупке и МА1 (/)>МА2(/), то не делать
ничего.
Правило 4: Если МА1(t)<МА2(/) и МА1(t-1)>МА2(М), то продавать.
Правило 5: Если вы находитесь в продаже и МА1(t)<МА2(t), то не делать
ничего.
На
языке программирования С эти же идеи выглядят несколько иначе. Программа на
языке С для вычисления значения скользящей средней показана ниже:
Для
сравнения, окончательная версия этой торговой системы на С учитывает все
описанные выше нюансы и состоит из 8187 строк. Она более точна, чем описание на
обычном английском. В такой форме она может быть точно протестирована на
ценовых данных.
Для
трейдеров, далеких от программирования, которые не владеют языком С или
каким-то другим языком программирования было специально разработано
дружественное по отношению к пользователю программное обеспечение. Эти
программы позволяют трейдеру описывать и тестировать торговые идеи, не имея
опыта программирования. Это не говорит о том, что от неправильно определенной
системы можно ожидать правильных результатов. Тем не менее, эти программы на
самом деле имеют несколько встроенных функций и операций, существенным образом
облегчающих спецификацию торговой системы.
В
примерах этой книги будет использована программа Advanced Trader; однако другие
доступные программы должны давать пользователю те же возможности определенно
выражать правила, а также тестировать и оптимизировать эти правила. Торговая
идея излагается на языке Скрипт (Script), являющимся языком торговли и
тестирования в программе Advanced Trader. На Скрипте предыдущая торговая
система, задаваемая двумя скользящими средними, выглядит следующим образом:
Как
вы видите, скрипт гораздо легче для понимания, чем код С. Он намного более
сжат, чем обычный английский, и очень напоминает вариант спецификации с помощью
определений и формул. Скрипт определяет «Период_1» как число «5», а «Период_2»
как число «20». Далее, он определяет «МА1_Сегодня» как простую скользящую
среднюю длины 5 на текущий день (то есть, sma[c:, Period_l,0,0]), и точно так
же для других значений этой скользящей средней по ценам закрытия.
Условие
покупки устанавливается с помощью команды, называемой «longif». Команда
«longif» — это способ использования условия — то есть, если выражение истинно,
то делай это; если оно ложно, то делай что-то другое. Когда эти условия
выполняются, выставляется ордер на покупку и переворот из текущей короткой
позиции с помощью приказа «рынок по открытию» (Market-on-open,
MOO) следующего дня. Условие продажи тоже
задается с помощью другой команды «longif». Когда эти условия выполняются,
выставляется ордер на продажу и переворот из текущей длинной позиции с помощью
МОО-приказа — «рынок по открытию» следующего дня.
С
помощью Скрипта достигается в точности тот же результат, что и с помощью С-программы,
с гораздо меньшими усилиями и намного быстрее, за счет всех встроенных
возможностей программы Advanced Trader. Некоторые из этих ключевых возможностей
включают управление данными, управление торговлей и сотни встроенных функций,
полезных в трейдинге.
Статья размещена в рубрике: Разработка, тестирование и оптимизация торговых систем для биржевого трейдера
|