Индикаторы: Коэффициент ранговой корреляции Спирмена - Spearman's Rank Correlation

 

Коэффициент ранговой корреляции Спирмена - Spearman's Rank Correlation:

Коэффициент ранговой корреляции Спирмена - это непараметрический метод, который используется с целью статистического изучения связи между явлениями. В этом случае определяется фактическая степень параллелизма между двумя количественными рядами чисел.

Author: MetaQuotes Software Corp.

 
Спасибо, Rosh. Очень интересная разработка.   
 
Вообще-то я не с нуля разработал этот индикатор, а просто реализовал его для MetaTrader 4.
 
Ув. Rosh попытка воткнуть этот индикатор в таком виде
iCustom(NULL,0,"SpearmanRankCorr",14,100,30,0,1)
в советник не удалась, предварительно параметр direction был сделан внутренним с параметром "истинно",
чтоб не указывать его в вызываемой функции.
в журнале пишет-
2007.02.17 17:03:59 2006.12.01 00:00 SpearmanRankCorr EURUSD,M5: incorrect start position 0 for ArraySort function
2007.02.17 17:03:59 2006.12.01 00:00 SpearmanRankCorr EURUSD,M5: incorrect start position 0 for ArrayCopy function
 
Я сделал для проверки совтеник

//+------------------------------------------------------------------+
//|                                                CheckSpearman.mq4 |
//|                                                             Rosh |
//|                                        https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Rosh"
#property link      "https://www.metaquotes.net/"
 
//---- input parameters
extern int       rangeN=14;
extern int       CalculatedBars=0;
extern int       Maxrange=30;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   double Value;
   Value=iCustom(NULL,0,"SpearmanRankCorr",rangeN,CalculatedBars,Maxrange,0,1);
   Print("SpearmanRankCorr=",Value);
//----
   return(0);
  }
//+------------------------------------------------------------------+


Прогнална интервале с начальной датой 01 января 2005 на EURUSD H1



15:15:32 CheckSpearman inputs: rangeN=14; CalculatedBars=300; Maxrange=30;
15:15:32 2005.01.03 00:00 SpearmanRankCorr EURUSD,H1: loaded successfully
15:15:32 2005.01.03 00:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.5571
15:15:32 2005.01.03 01:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.7286
15:15:32 2005.01.03 02:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.7802
15:15:32 2005.01.03 03:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.8505
15:15:32 2005.01.03 04:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.8945
15:15:32 2005.01.03 05:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.9121
15:15:32 2005.01.03 06:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.9077
15:15:32 2005.01.03 07:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.8989
15:15:32 2005.01.03 08:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.8725
15:15:32 2005.01.03 09:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.8066
15:15:32 2005.01.03 10:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.7143
15:15:32 2005.01.03 11:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.5615
15:15:32 2005.01.03 12:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.5033
15:15:32 2005.01.03 13:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.3626
15:15:32 2005.01.03 14:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.1868
15:15:32 2005.01.03 15:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.0681
15:15:32 2005.01.03 16:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.1033
15:15:32 2005.01.03 17:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.2484
15:15:32 2005.01.03 18:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.2132
15:15:32 2005.01.03 19:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.0022
15:15:32 2005.01.03 20:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.3187
15:15:32 2005.01.03 21:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.5945
15:15:32 2005.01.03 22:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.8055
15:15:32 2005.01.03 23:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.8055
15:15:32 2005.01.04 00:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.7879
15:15:32 2005.01.04 01:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.7396
15:15:32 2005.01.04 02:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.7396
15:15:32 2005.01.04 03:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.644
15:15:32 2005.01.04 04:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.2967
15:15:32 2005.01.04 05:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.0297
15:15:32 2005.01.04 06:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.3396
15:15:32 2005.01.04 07:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.3791
15:15:32 2005.01.04 08:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.1769
15:15:32 2005.01.04 09:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.1429
15:15:32 2005.01.04 10:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.0374
15:15:32 2005.01.04 11:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.1956
15:15:32 2005.01.04 12:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.3363
15:15:32 2005.01.04 13:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.5121

 
С параметром CalculatedBars=100 тоже работает:

15:21:43 2007.01.26 22:00 SpearmanRankCorr EURUSD,H1: removed
15:23:07 CheckSpearman inputs: rangeN=14; CalculatedBars=100; Maxrange=30;
15:23:07 2006.12.29 00:00 SpearmanRankCorr EURUSD,H1: loaded successfully
15:23:07 2006.12.29 00:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.0165
15:23:07 2006.12.29 01:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.278
15:23:07 2006.12.29 02:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.6484
15:23:07 2006.12.29 03:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.7363
15:23:07 2006.12.29 04:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.578
15:23:07 2006.12.29 05:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=-0.3418
15:23:07 2006.12.29 06:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.0099
15:23:07 2006.12.29 07:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.0253
15:23:07 2006.12.29 08:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.2769
15:23:07 2006.12.29 09:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.6154
15:23:07 2006.12.29 10:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.7879
15:23:07 2006.12.29 11:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.8363
15:23:07 2006.12.29 12:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.833
15:23:07 2006.12.29 13:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.8769
15:23:07 2006.12.29 14:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.8505
15:23:07 2006.12.29 15:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.7967
15:23:07 2006.12.29 16:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.7967
15:23:07 2006.12.29 17:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.7967
15:23:07 2006.12.29 18:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.7967
15:23:07 2006.12.29 19:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.7923
15:23:07 2006.12.29 20:00 CheckSpearman EURUSD,H1: SpearmanRankCorr=0.7912

 
Интересные дела , просто скопировал представление индикатора из вашего советника и мой советник заработал. СТРАННО ЭТО.Спасибо, Rosh.
 

Ув. Rosh , я нигде не встречал индикатора построенного на касательной к функции, если в каждой точке этого индикатора провести касательную - она отлично будет показывать будущее направление движения цены. А угол наклона касательной - отличный показатель для входа в рынок.

 
Была такая попытка , не так уж и давно - http://forum.alpari-idc.ru/thread19405-13.html ; :)
 
Рош - респект.
 
Респект