Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Индикаторы

SFX Trend Or Range Indicator - индикатор для MetaTrader 4

Просмотров:
29684
Рейтинг:
(5)
Опубликован:
2011.07.12 08:38
Обновлен:
2014.04.21 14:55
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

The Trend Or Range Indicator (TOR)

A remarkably simple but very useful indicator. Earlier and clearer signals than ADX or VHF. More positive ranging signal than any other indicators.

Old conventional theory says when StdDev above ATR then market trending.

I say this idea may be OK for stocks & commodites but for the harmonics of Forex market we need something quicker and clearer. Also never forget time of day in relation to the pairs main movements.


Yellow = StdDev
Aqua = ATR
Red = Smoothed Moving Average of the StdDev


Usage:

Any pair, any time frame. Best used on majors and M15 period or higher

  • Yellow breaks above Red when below Aqua = Trend building
  • Yellow breaks below Red when above Aqua = Trend exhausting
  • Yellow below Red when below Aqua = Ranging/Sideways market

Details:

Code shows how to apply a Moving Average to almost any indicator.

Some sample code snippets below to show you how to call this indicator in an EA.

// Example EA code
extern int AgedPeriodSwitch = 5;   // 1=M1 2=M5 -- 9=MN1 Enables easy period value changing in optimizer ;)

// Settings for SFX TOR
 int TOR.ATR.Period=12;        // D1=20
 int TOR.StdDev.MA.Period=12;  // D1=20
 int TOR.StdDev.MA.Shift=0;    //
 int TOR.StdDev.MA.Method = 0; // 0=SMA 1=EMA 2=Smoothed 3=Linear Weighted
 int TOR.StdDev.MA.Price = 0;  // 0 Close price, 
                               // 1 Open price, 
                               // 2 High price, 
                               // 3 Low price, 
                               // 4 Median price, (high+low)/2, 
                               // 5 Typical price, (high+low+close)/3, 
                               // 6 Weighted close price, (high+low+close+close)/4

 int TOR.MA.Fast.Period = 3;
 int TOR.MA.Fast.Method = 2;   //  0=SMA 1=EMA 2=Smoothed 3=Linear Weighted
 int TOR.MA.Fast.Shift = 0;


bool bTrendEnd;


int start()
 {


 bTrendEnd = IsTrendFading(AgedPeriodSwitch);

 if (IsNewBar)
  if (bTrendEnd) CloseYourTrendingOrders();
   ....
   ....

 return (0);
 }


bool IsTrendFading(int iPeriodSwitch)
 {
  int iPeriodToUse;
  string strSymbol;
  
  strSymbol = Symbol();
   
  if (iPeriodSwitch == 0) iPeriodToUse = 0; // i.e. the current chart period of the EA
  else iPeriodToUse = PeriodSwitcher(iPeriodSwitch); 
  
 
  double Aqua_1 = iCustom(strSymbol, iPeriodToUse, "SFX TOR", strSymbol, TOR.ATR.Period,TOR.StdDev.MA.Period,TOR.StdDev.MA.Shift,
                          TOR.StdDev.MA.Method,TOR.StdDev.MA.Price,TOR.MA.Fast.Period,TOR.MA.Fast.Method,TOR.MA.Fast.Shift, 0, 1);
  double Yellow_1 = iCustom(strSymbol, iPeriodToUse, "SFX TOR", strSymbol, TOR.ATR.Period,TOR.StdDev.MA.Period,TOR.StdDev.MA.Shift,
                            TOR.StdDev.MA.Method,TOR.StdDev.MA.Price,TOR.MA.Fast.Period,TOR.MA.Fast.Method,TOR.MA.Fast.Shift, 1, 1);
  double Red_1 = iCustom(strSymbol, iPeriodToUse, "SFX TOR", strSymbol, TOR.ATR.Period,TOR.StdDev.MA.Period,TOR.StdDev.MA.Shift,
                            TOR.StdDev.MA.Method,TOR.StdDev.MA.Price,TOR.MA.Fast.Period,TOR.MA.Fast.Method,TOR.MA.Fast.Shift, 2, 1);
 
  if (Yellow_1 > Aqua_1)
   if (Red_1 > Aqua_1)
    if (Yellow_1 < Red_1) return (true);
 
  return (false);
 }
 
int PeriodSwitcher(int iSP)
 {
  // Takes a number 1-9 returns a chart period
  int iP=0;
 
   switch (iSP) 
   {
    case 1:
     iP=PERIOD_M1;
     break;
    
    case 2:
     iP=PERIOD_M5;
     break;
    
    case 3:
     iP=PERIOD_M15;
     break;
     
    case 4:
     iP=PERIOD_M30;
     break;
    
    case 5:
     iP=PERIOD_H1;
     break;
    
    case 6:
     iP=PERIOD_H4;
     break;
     
    case 7:
     iP=PERIOD_D1;
     break;
    
    case 8:
     iP=PERIOD_W1;
     break;
    
    case 9:
     iP=PERIOD_MN1;
     break;
   }  
 
 return(iP);
 }
 
 

Do not mail me if this EA sample code doesnt compile - is only pseudo-code!!!

e-PSI(at)PROC e-PSI(at)PROC

Система нескольких стратегий "в одной упаковке" с системой виртуальной торговли для определения рейтинга по каждой из стратегий (перед тем, как открывать рыночный ордер) и библиотекой управления инвест-капиталом.

Clock_bar Clock_bar

Вариация на тему - стрелочные часы для МТ4.

Универсальный звуковой индикатор для индикаторов + Alert Универсальный звуковой индикатор для индикаторов + Alert

Универсальный индикатор для звукового сообщения типа "Alert" и + играет звук.

Trailing_By_Object_Block Trailing_By_Object_Block

Три трендовых линии для модификации и закрытия ордеров.