Range Breakout System
Другая система, основанная на пробое волатильности рынка, называется Range Breakout System. Идея этой системы состоит в сопоставлении ценового диапазона за период с ценовым диапазоном внутри каждого бара. Используя оба этих показателя можно построить индикатор, который будет рассчитывать "чистую" волатильность рынка, т.е. дневную волатильность за вычетом внутридневных колебаний. В дальнейшем пробой волатильности будет считаться истинным только, если он выходит за пределы уровня этой "чистой" волатильности рынка.
Код торговой системы, использующей описанные выше принципы, для ProSuite выглядит так:
Vars: Counter(0), TN(0), TNRange(0), TNHigh(0), TNLow(0);
TNRange=Highest(High,5)-Lowest(Low,5);
{определяем максимальный диапазон за последние 5 баров}
Value2=0;
For Value1=0 to 4 begin
Value2=Value2+(TNRange-Range[Value1]);
{Value2 рассчитывается на основании кумулятивной разности ценового диапазона цен за период, содержащий n баров с ценовым диапазоном внутри каждого бара}
End;
If TNRange*2>Value2 then TN=1 else TN=0;
{если удвоенный диапазон цен за период больше значения Value2, т.е. волатильность за период выше внутридневной волатильности}
If TN=1 then begin
TNHigh=Highest(High,5);
TNLow=Lowest(Low,5);
End;
If MarketPosition=0 and Close>TNHigh and Range>Average(Range,8)*1.25 then Buy at Close;
{покупаем, когда цена пробила максимум диапазона TN, а Range или разность между High и Low на 25% больше своего среднего значения за 8 дней}
If MarketPosition=0 and Close<TNLow and Range>Average(Range,8)*1.25 then Sell at Close;
{продаем, когда цена пробила минимум диапазона TN, а Range или разность между High и Low на 25% меньше своего среднего значения за 8 дней}
If Close < Average(Low,8) then ExitLong at Close;
{выход из длинных позиций, когда цена закрытия опускается ниже средней минимальной цены за 8 дней}
If Close > Average(High,10) then ExitShort at Close;
{выход из коротких позиций, когда цена закрытия поднимается выше средней максимальной цены за 10 дней}
If MarketPosition<>0 then begin
TNHigh=9999;
TNLow=0;
{когда мы уже в позиции, то новых позиций не открываем}
End;
Оптимизированная на дневном графике РАО ЕЭС России за период с мая 97 г. по октябрь 2000 г., система показала следующий результат:
Annual Rate of Return (Доходность годовых): +62,79%
Return on Initial Capital (Доход на первоначально вложенный капитал): +250,28%,
Total Number of Trades (Количество сделок): 14,
Number of winning trades (Количество выигрышных сделок): 7,
Ratio avg. win/ avg. loss (Соотношение средний убыток/ ср. прибыль): 4,68.
Оптимизировались следующие параметры:
- количество дней при расчете TNRange, оптимальное значение (дающее максимальную прибыль) - 3 дня,
- количество дней при расчете пробоя Range>Average(Range,4)*1.25; 4 дня оказалось оптимальным значением.
При анализе системы размер комиссионных брокера и биржи не учитывались, все сделки осуществлялись фиксированной суммой - $10.000.
Рис.1