Перейти к содержанию
Форекс Форум трейдеров Академии «MasterForex-V»

срльзящие. RSI.supertrend


Рекомендуемые сообщения

Идея системы не нова две средние LW с периодом 5 и 20. RSI c периодом 14 и уровнем 50. И supertrend для фильтрации сигналов. Я не зная как прикреплять файлы поэтому supertrend даю в таком виде

//+------------------------------------------------------------------+

//| Supertrend.mq4 |

//| Copyright © 2005, Jason Robinson (jnrtrading). |

//| http://www.jnrtrading.co.uk |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2005, Jason Robinson (jnrtrading)."

#property link "http://www.jnrtrading.co.uk"

 

#property indicator_chart_window

#property indicator_buffers 4

#property indicator_color1 Lime

#property indicator_color2 Red

 

 

double TrendUp[];

double TrendDown[];

int st = 0;

//extern int SlowerEMA = 6;

 

 

 

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators

 

SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2);

SetIndexBuffer(0, TrendUp);

SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2);

SetIndexBuffer(1, TrendDown);

 

/*SetIndexStyle(0, DRAW_ARROW, EMPTY);

SetIndexArrow(0, 159);

SetIndexBuffer(0, TrendUp);

SetIndexStyle(1, DRAW_ARROW, EMPTY);

SetIndexArrow(1, 159);

SetIndexBuffer(1, TrendDown);*/

 

/*for(int i = 0; i < Bars; i++) {

TrendUp = NULL;

TrendDown = NULL;

}*/

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custor indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

/*for(int i = 0; i < Bars; i++) {

TrendUp = NULL;

TrendDown = NULL;

}*/

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

 

int limit, i, counter;

double Range, AvgRange, cciTrendNow, cciTrendPrevious, var;

 

int counted_bars = IndicatorCounted();

//---- check for possible errors

if(counted_bars < 0) return(-1);

//---- last counted bar will be recounted

if(counted_bars > 0) counted_bars--;

 

limit=Bars-counted_bars;

 

for(i = limit; i >= 0; i--) {

cciTrendNow = iCCI(NULL, 0, 50, PRICE_TYPICAL, i);

cciTrendPrevious = iCCI(NULL, 0, 50, PRICE_TYPICAL, i+1);

 

//st = st * 100;

 

 

counter = i;

Range = 0;

AvgRange = 0;

for (counter = i; counter >= i-9; counter--) {

AvgRange = AvgRange + MathAbs(High[counter]-Low[counter]);

}

Range = AvgRange/10;

if (cciTrendNow >= st && cciTrendPrevious < st) {

TrendUp[i+1] = TrendDown[i+1];

}

 

if (cciTrendNow <= st && cciTrendPrevious > st) {

TrendDown[i+1] = TrendUp[i+1];

}

 

if (cciTrendNow >= st) {

TrendUp = Low - iATR(NULL, 0, 5, i);

if (TrendUp < TrendUp[i+1]) {

TrendUp = TrendUp[i+1];

}

}

else if (cciTrendNow <= st) {

TrendDown = High + iATR(NULL, 0, 5, i);

if (TrendDown > TrendDown[i+1]) {

TrendDown = TrendDown[i+1];

}

}

}

 

//----

 

//----

return(0);

}

//+------------------------------------------------------------------+

 

когда быстрая средняя пересекает медленную, RSI пересекает уровень, и supertrend меняет цвет, это не плохой сигнал на открытие позы. Если одно из условий не выполняется не открываемся. Просто и не замысловато но по истории выходит очень не плохо.

Буду рад услышать идеи на этот счет и конструктивную критику.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Привет и спасибо за идею!

Вопросы таие возникли:

1. Какой ТФ и валютная пара?

2. Каковы услвия выхода?

 

 

 

лично я предпочитаю 1 час на EURUSD, но вобщем система универсальна.

По поводу выхода, я использую сразу после открытия позы установленные стопы. к примеру на EURUSD 1час стопы по 15 пунктов.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...