Автор Тема: Комбинирование полос Боллинджера и RSI. Индикатор и стратегия  (Прочитано 4509 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ПиарщикАвтор темы

  • Thank You
  • -Given:
  • -Receive:
  • Сообщений: 488
  • +109/-4
    • Просмотр профиля
Существует множество статей, посвященных использованию Полос Боллинджера и Индекса относительной силы. У обоих индикаторов есть своих плюсы и минусы. В этой статье мы собираемся скомибинировать оба. Мы собираемся создать стратегию на основе двух указанных индикаторов.

Существует множество способов использования Полос Боллинджера, однако, как правило, при помощи их торгуют двумя основными способами. Первый способ: использование их в качестве индикатора перекупленности и перепроданности.



На рисунке 1 мы видим, как Полосы Боллинджера используются в качестве индикатора прекупленности/перепроданности.

Уровни риска при использовании ВВ для работы в боковом диапазоне.

Вход с большим риском
Продаем, когда пара выше верхней границы диапазона (А).
Покупаем, когда пара ниже нижней границы.

Вход со средним риском.
Продаем, когда пара пересекла верхнюю границу вниз (В).
Покупаем, когда пара пересекла нижнюю границу вверх.

Вход с низким риском.
Продаем, когда пара пересекла верхнюю границу вниз, закрытие бара должно быть ниже, чем открытие предыдущего бара (С).
Покупаем, когда пара пересекла нижнюю границу вверх, закрытие бала должно быть выше, чем открытие предыдущего бара.

Второй способ использование Полосы Болленджера в качестве индикатора тренда. На рисунке 2 мы видим пример использования ВВ в качестве трендового индикатора.



Уровни риска при использовании ВВ в качестве трендового индикатора.

Вход с высоким уровнем риска.
Покупаем, когда пара пересекла верхнюю границу вверх (А).
Продаем, когда пара пересекла нижнюю границу вниз.

Вход с низким уровнем риска.
Покупаем, когда 2 последовательных бара закрылись над верхней границей (В).
Продаем, когда 2 последовательных бара закрылись под нижней границей.

Вход с низким риском.
Покупаем, когда пара сначала пересекла верхнюю границу вверх, а затем откатилась от средней линии (С).
Продаем, когда пара сначала пересекла нижнюю границу вниз, а затем откатилась от средней линии.

Существует два способа использования индекса относительно силы. Первый способ в качестве индикатора перепроданности/перекупленности.

Уровни риска при использовании RSI в боковом диапазоне.

Высокий уровень риска.
Продаем, когда индикатор пересек вверх верхнюю линию.
Покупаем, когда индикатор пересек вниз нижнюю линию.

Средний уровень риска.
Продаем, когда индикатор пересек верхнюю линию вниз.
Покупаем, когда индикатор пересек нижнюю линию вверх.

Низкий уровень риска. 
Продаем, когда индикатор пресек верхнюю линию вниз, и пара закрылась ниже уровня открытия предыдущего бара.
Покупаем, когда индикатор пересек нижнюю линию вверх, и пара закрылась выше уровня открытия предыдущего бара.

Уровни риска при использовании RSI в качестве индикатора тренда.

Низкий уровень риска.
Покупаем, когда RSI пересек вверх нулевую линию.
Продаем, когда RSI пересек вниз нулевую линию.

Средний уровень риска.
Покупаем, когда RSI пересек вверх нулевую линию и предыдущий RSI был также выше нулевой линии.
Продаем, когда RSI пересек вниз нулевую линию и предыдущий RSI был также ниже нулевой линии.

Низкий уровень риска.
Покупаем, когда RSI пересек нулевую линию вверх, и закрытие текущего бара > закрытия предыдущего бара.
Продаем, когда RSI пересек вниз нулевую линию, и закрытие текущего бара < уровня закрытия предыдущего бара.

Теперь давайте посмотрим, как можно использовать комбинацию ВВ и RSI. Внизу вы видите рисунок и код индикатора.



indicator Bollinger_RSI;
/*written by ctlprogrammer*/
/*Warning for demonstration purpose only, no live trading please*/
/*you can freely copy the code but plz leave this header*/
/*www.ctltrading.blogspot.com*/
input period_rsi = 14, period_bbs = 20;
draw rsi("rsi",solid_line,green,2),
     line_mid("mid",solid_line,red,1),
     line_upper("upper",solid_line,purple,1),
     line_lower("lower",solid_line,blue,1);
begin
number dif;
integer i,f;
series u,d,au,ad,tmp;
  f := front(close);
  u[f] := 0;
  d[f] := 0;
  for i := f + 1 to back(close) do begin
    dif := ((close[i]+close[i]+high[i]+low[i])/4) - ((close[i - 1]+close[i - 1]+high[i - 1]+low[i - 1])/4);
    if dif > 0 then begin
      u[i] := dif;
      d[i] := 0;
    end else begin
      u[i] := 0;
      d[i] := -dif;
    end;
  end;
  au := mma(u, period_rsi);
  ad := mma(d, period_rsi);
  rsi := 100 * au / (au + ad);
  line_mid := displace(sma(rsi, period_bbs), 0);
  tmp := displace(2 * stddev(rsi, period_bbs), 0);
  line_upper := line_mid + tmp;
  line_lower := line_mid - tmp;
end.

Мы можем использовать этот новый индикатор двумя способами. Первый способ – идеален для работы на боковом рынке, в этом случае мы используем индикатор в качестве индикатора перекупленности/перепроданности. Второй способ лучше работает во время трендов. Давайте напишем стратегию, которую можно применять в обоих способах. Ниже приведен ее код.


[b]strategy BBSRSI_v1;[/b]

/*written by ctlprogrammer*/
/*Warning for demonstration purpose only, no live trading please*/
/*you can freely copy the code but plz leave this header*/
/*www.ctltrading.blogspot.com*/

input periodbbs = 20,periodrsi=14,ranging=true,rsi_high_level=75,rsi_low_level=25,lots = 1;

begin
  integer currentbar;
  if back(close) <  front(close) + max(periodbbs,periodrsi) + 1 then return;
  Bollinger_RSI(periodrsi,periodbbs);
  currentbar := back(close);

{entry conditions ranging market} 
if ranging=true and crossup(Bollinger_RSI.rsi,Bollinger_RSI.line_upper) and Bollinger_RSI.rsi[currentbar]>rsi_high_level and
   not long() and not short() then sell(lots);
   
if ranging=true and crossdown(Bollinger_RSI.rsi,Bollinger_RSI.line_lower) and Bollinger_RSI.rsi[currentbar]<rsi_low_level and
   not long() and not short() then buy(lots);

 {entry conditions trending market} 
if ranging=false and crossup(Bollinger_RSI.rsi,Bollinger_RSI.line_upper) and
   not long() and not short() then buy(lots);
   
if ranging=false and crossdown(Bollinger_RSI.rsi,Bollinger_RSI.line_lower) and
   not long() and not short() then sell(lots);
 
{exit conditions trending market}
if ranging=false and long() and crossdown(Bollinger_RSI.rsi,Bollinger_RSI.line_mid) then sell(lots);
if ranging=false and short() and crossup(Bollinger_RSI.rsi,Bollinger_RSI.line_mid) then buy(lots);

{exit conditions ranging market}
if ranging=true and short() and crossdown(Bollinger_RSI.rsi,Bollinger_RSI.line_lower) then buy(lots);
if ranging=true and long() and crossup(Bollinger_RSI.rsi,Bollinger_RSI.line_upper) then sell(lots); 
 
end.

Как использовать стратегию:

periodbbs = 20 => 20 это значение по умолчанию, вы можете попробовать изменить его
periodrsi=14 => 14 это значение по умолчанию, вы можете попробовать изменить его
ranging=true => меняем на  false, если ожидаем тренда
rsi_high_level=80 => параметр важен только во время бокового движения = true
rsi_low_level=20 => параметр важен только во время бокового движения = true
lots = 1 => количество лотов может меняться.

Итоги тестирования.
Евро/доллар, 1-часовой график, тренд, 2-месячный бэк-тест 1 лот  =>  + 233 пипса.
Евро/доллар, 1-часовой график, боковое движение, 2-месячный бэк-тест, верхний уровень RSI 65, нижний уровень 35, 1 лот => 94 пипса.


© Оригинал статьи здесь
Возгласы типа «Система галимая!» или «Где ты такие системы отстойные берешь!» - не отзывы, а бытовое хамство. Хамам – бан пожизненно!

Оффлайн freezzy

  • Thank You
  • -Given:
  • -Receive:
  • Сообщений: 29
  • +1/-0
    • Просмотр профиля
Низкий уровень риска. 
Продаем, когда индикатор пресек верхнюю линию вниз, и пара закрылась ниже уровня открытия предыдущего бара.
Покупаем, когда индикатор пересек нижнюю линию вверх, и пара закрылась выше уровня открытия предыдущего бара.


После дивера РСИ ,сигнал еще лучше .например седня на м5 на евре было в 10-25 мск ,при риске 10 п. можно 60 было взять (а может и больше ,вдруг до 1.4600 дойдет ? :D).

Спасибо за интересную стратегию  :mrgreen:

Оффлайн freezzy

  • Thank You
  • -Given:
  • -Receive:
  • Сообщений: 29
  • +1/-0
    • Просмотр профиля
хотя поторопился я  с выводом наверно :-( , посмотрел последний месяц на евро  – не очень смотрится на истории  :-P