Алгоритм комбинированной торговой системы
Структурно комбинированная система представляет собой три идентичных параллельных ветви, каждая для своей ценовой гармоники. Отличаются они только константами алгоритмов. В любой из перечисленных ветвей каждая из двух стратегий оформляется, в свою очередь, в виде своей параллельной ветви, состоящей из блока прогноза и блока сделки. Эти частные параллельные ветви объединяются в пределах данной гармоники в блоке расчета прибыли. На рисунке 1 приведена укрупненная структурная схема комбинированной системы, а на рисунке 2 - подробная схема одной ветви этой системы - для одной гармоники.
На схеме приняты следующие обозначения:
• X(t) - текущий рыночный индикатор (котировка пары валют Pr(t) или ее приращение за один такт APr(t));
• X (t) - прогнозируемый показатель (экстремум ценовой волны или тренд цены);
• Z(t)- запас открытых позиций в лотах;
• Рп(t), P(t) - потенциальная прибыль открытых позиций и фиксированная прибыль при закрытии позиций, соответственно;
• ZP(t) - суммарная прибыль по всем гармоникам. В алгоритме все промежуточные переменные имеют индекс номера гармоники 1, 2 или 3.
На рисунке 2:
• Pr(t), R(t) - текущая рыночная цена (котировка валютной пары) и прогнозируемый признак ее
экстремума;
• Pr(t), X(t) - приращение цены за один такт и его прогноз;
• Zр(t), Zн(t) - текущий запас открытых позиций по релейной и непрерывной стратегии, соответственно;
• Z(t)=Zр(t)+Zн(t) - суммарный текущий запас позиций для данной гармоники;
• Rпр(t) - признак принудительного закрытия убыточных позиций.
1. Блок прогноза по релейной стратегии. По алгоритму этого блока прогнозируются линия минимума цен (линия поддержки) Хн(t) и линия максимума цен (линия сопротивления) Хв(t). Расстояние между этими линиями Хв(^-Хн(г)- есть, по существу, удвоенная амплитуда ценовой волны A(t). Указанные линии рассчитываются не по принятому в теории трейдинга скользящему усреднению текущей цены Pr(t), а непосредственно по математическому оператору минимума min{} или максимума max{}. В скобках {} перечисляются аргументы оператора, из которых и выбирается соответственно минимальный или максимальный аргумент. Формулы данного блока прогноза имеют вид:
(1а)...... Хн(t=Хн(t-1)+min{Хн(t-1)+A(t-1)/T; Pr(t)},
(1б)...... Хв(t)=Хв(t- 1)+max{Хв(t-1)-A(t-1)/T; Pr(t)},
(1в)...... A(t)=Хв(t)-Хн(t).
Далее, по величинам Xн(t) и Хв(t)через их значения в три соседние моменты времени t-2, t-1, t диагностируется, наступил ли в данный момент минимум или максимум одной из этих величин по формулам:
(2а)...... если min{ Хн(t-2), Хн(t-1), Хн(t}=Хн(М), то минимум в t-1,
(2б)...... если max{ Xв(t-2), Xв(t-1), Xв(t)}=Xв(t-1), то максимум в t-1,
(2в)...... в противном случае в t-1 экстремума нет.
Наличие экстремума фиксируется признаком R(t). R(t)=-1 в случае минимума, R(t)=+1 в случае максимума и R(t)=0 в противном случае.
2. Блок прогноза по непрерывной стратегии. Прогноз тренда X^(t) реализуется типовым апериодическим звеном по
формуле:
(3)....... X^(t)=X^(t-1)+(APr(t)-X^(t-1))/T
Здесь константы T в обоих блоках 1и 2 могут быть близкими по величине или одинаковыми.
3. Блок сделки по релейной стратегии. Текущий запас открытых позиций по этой стратегии вычисляется по значению
признака R(t) по формуле:
(3)...... Zр(t)=(1-|R(t)|)*Zр(t-1)+R(t)*Zmр).
Здесь Zmр - максимально допустимый запас открытых позиций по релейной стратегии.
4. Блок сделки по непрерывной стратегии. Текущий запас открытых позиций по этой стратегии вычисляется по
формуле:
(4)..... Zh(t)=K*X^(t),
где K - константа алгоритма данного блока. Найденная величина Zh(t) округляется до целого числа лотов и ограничивается допустимым запасом открытых позиций для непрерывной стратегии Zmh, т. е. -Zmh
5. Блок «запас открытых позиций». Этот блок является объединяющим для релейной и непрерывной стратегий.
Общий запас открытых позиций Z(t) определяется как сумма запасов по каждой стратегии. Кроме этого, в данном
блоке реализуется принудительное закрытие всех убыточных позиций по сигналу из блока «принуд. закрытие» в
виде признака Rпр(t). Формула для вычисления Z(t) следующая:
(5)..... Z(t)=Zр(t)+Zh(t))*(1-Rпр(t)).
При изменении запаса открытых позиций формируется команда на совершение сделки купли/продажи: закрытие соответствующей части открытых позиций и/или открытие новых позиций.
6. Блок расчета прибыли. Предварительно вычисляется начальная цена открытых позиций (цена в момент их
открытия) Xz(t) по формуле:
(6а)...... если Z(t)=Z(t-1), то Xz(t)=Pr(t), иначе Xz(t)=Xz(t-1).
Через нее вычисляется потенциальная прибыль открытых позиций Pп(t) по формуле:
(6б)...... Pп(t)=(Pr(t)-Xz(t-1))*Z(t-1)-AX*|Z(t-1)|)*L,
где AX - маржа (разница цен продажи и покупки), L - стоимость одного лота. Затем вычисляется фиксированная прибыль при закрытии позиций P(t) по формуле:
(6в)...... если Z(t)+Z(t-Y), то P(t)=Pп(t), иначе P(t)=0.
7. Блок «принудительное закрытие». Здесь вычисляется признак принудительного закрытия убыточных позиций
Rпр(t) по формуле:
(7)...... если PП(T)<-AP*|Z(T-1)|, ТО Rпр(t)=1, иначе Rпр(t)=0.
Здесь AP - порог закрытия убыточных позиций в расчете на 1 лот (настроечная константа).
После того как вы
посмотрели Алгоритм комбинированной торговой системы, рекомендуем прочитать еще на тему:
Алгоритм комбинированной торговой системы
Стратегии и алгоритмы торговых системТестирование комбинированной торговой системыМодель разворота Forex Magazine №248Как не попасть в западню экстремальной цены?Внутренние и внешние помехи на пути к получению прибыли