Fisher_org_v12_v3

Author: Copyright � 2005, TrendLaboratory Ltd.
Fisher_org_v12_v3
Indicators Used
Moving average indicator
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
Fisher_org_v12_v3
//+------------------------------------------------------------------+
//|                                                Fisher_org_v1.mq4 |
//|                           Copyright © 2006, TrendLaboratory Ltd. |
//|            http://finance.groups.yahoo.com/group/TrendLaboratory |
//|                                       E-mail: igorad2004@list.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, TrendLaboratory Ltd."
#property link      "http://finance.groups.yahoo.com/group/TrendLaboratory"

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int Length = 10;
extern int Price = 4;
extern int NumBars = 0; 
//---- buffers
double Buffer[]; 
double Value [];
double Fisher[];   
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int init()
  {
   IndicatorBuffers(3);
//----
   SetIndexStyle(0,DRAW_LINE);
   SetIndexStyle(1,DRAW_LINE);
//----
   SetIndexBuffer(0,Buffer);
   SetIndexBuffer(1,Fisher);
   SetIndexBuffer(2,Value);
//----
   IndicatorShortName ("FisherTransform(" + Length + "," + Price + ")");
   SetIndexLabel (0, "Fish");
   SetIndexLabel (1, "Trigger");
//----
   SetIndexDrawBegin(0,Length);
   SetIndexDrawBegin(1,Length);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Fisher_org_v1                                                    |
//+------------------------------------------------------------------+
int start()
  {
   int shift;
   double smin = 0, smax = 0;                    
//----
   if(NumBars > 0) 
       int NBars = NumBars; 
   else 
       NBars = Bars;
//----
   for(shift = NBars; shift >= 0; shift--)
     {	
       Buffer[shift] = 0.0;
       Value [shift] = 0.0;
       Fisher[shift] = 0.0;   
     }
//----
   for(shift = NBars - 2 - Length; shift >= 0; shift--)
     {	
       smax = High[Highest(NULL, 0, MODE_HIGH, Length, shift)];
       smin = Low[Lowest(NULL, 0, MODE_LOW, Length, shift)];
       double price = iMA(NULL, 0, 1, 0, 0, Price, shift);   
       //----
       if(smax == smin) 
           smax = smin + Point; 
       double wpr = (price - smin) / (smax - smin);         
       Value[shift] = (wpr - 0.5) + 0.67*Value[shift+1];     
       //----
       if(Value[shift] > 0.99) 
           Value[shift] = 0.999; 
       //----
       if(Value[shift] < -0.99) 
           Value[shift] = -0.999; 
       Fisher[shift] = 0.5*MathLog((1.0 + Value[shift]) / (1.0 - Value[shift])) + 
                       0.5*Fisher[shift+1];
       Buffer[shift] = Fisher[shift+1];       
 
     }
   return(0);
  }
//+------------------------------------------------------------------+

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---