Cool2_v1
Indicators Used
Moving average indicator
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
Cool2_v1
//+------------------------------------------------------------------+
//|                                                        Cool2.mq4 |
//|                                        Ramdass - Conversion only |
//+------------------------------------------------------------------+

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
//----
extern int ndot = 5;
extern int CountBars = 300;
//---- buffers
double cfl[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   IndicatorBuffers(1);
   SetIndexStyle(0, DRAW_LINE);
   SetIndexBuffer(0, cfl);
//----
   if(CountBars >= Bars) 
       CountBars = Bars;
   SetIndexDrawBegin(0, Bars - CountBars + ndot + 1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Cool2                                                              |
//+------------------------------------------------------------------+
int start()
  {
   int i, shift, cnt, ndot1, counted_bars = IndicatorCounted();
   double TYVar, ZYVar, TIndicatorVar, ZIndicatorVar, M, N, AY, AIndicator;
//----
   if(Bars <= ndot) 
       return(0);
//----
   shift = CountBars - ndot - 1;
//----
   while(shift >= 0)
     {
       TYVar = 0;
	      ZYVar = 0;
	      N = 0;
	      M = 0;
	      TIndicatorVar = 0;
	      ZIndicatorVar = 0;
	      ndot1 = ndot;
	      if(shift + 1 < ndot1) 
	          ndot1 = shift + 1;
	      for(cnt = ndot; cnt >= 1; cnt--) // n=5 -  ïî ïÿòè òî÷êàì
	        { 
		         N = N + cnt*cnt;  //ðàâíî 55
		         M = M + cnt;      //ðàâíî 15
	        }
	      for(cnt = ndot1; cnt >= 1; cnt--) // n=5 -  ïî ïÿòè òî÷êàì
	        {
		         ZYVar = ZYVar + (High[shift-cnt+1] + Low[shift-cnt+1]) / 2*(ndot+1-cnt);
		         TYVar = TYVar + (High[shift-cnt+1] + Low[shift-cnt+1]) / 2;
		         ZIndicatorVar = ZIndicatorVar + iMA(NULL, 0, 5, 3, MODE_SMMA, PRICE_MEDIAN, 
		                                             shift - cnt + 1)*(ndot + 1 - cnt);
		         TIndicatorVar = TIndicatorVar + iMA(NULL, 0, 5, 3, MODE_SMMA, PRICE_MEDIAN,  
		                                             shift - cnt + 1);
	         }
	      AY = (TYVar + (N - 2*ZYVar)*ndot / M) / M;
	      AIndicator = (TIndicatorVar + (N - 2*ZIndicatorVar)*ndot / M) / M;
	      cfl[shift] = Close[shift] + ((-1000)*MathLog(AY / AIndicator) / 500);
	      shift--;
     }
   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 ---