Indicators Used
Moving average indicator
0 Views
0 Downloads
0 Favorites
iATR.Gap
/*
âûçîâ èç êîäîâ - ñòàíäàðòíûå ïîëÿ + ïîëå GapPoints
double iCustom(
   string symbol,       // ñèìâîëüíîå èìÿ èíñòðóìåíòà (NULL- òåêóùèé)
   int timeframe,       // òàéì-ôðåéì (0- òåêóùèé)
   "iATR.Gap",            // èìÿ ýòîãî èíäèêàòîðà
   //
   int period,          // ïåðèîä ATR
   int GapPoints,       // ïîðîã èäåíòèôèêàöèè ãýïà â ïï.
   //
   int mode,            // mode - íîìåð áóôåðà èíäèêàòîðà (0)
   int shift            // ñäâèã
   ) 

==============

iCustom(NULL,0,"iATR.Gap",ATRperiod,GapPoints, 0,i);
*/

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
// âõîäíûå ïàðàìåòðû
extern int ATRperiod=14; // ïåðèîä ATR
extern int GapPoints=0; // ïîðîã èäåíòèôèêàöèè ãýïà â ïï.
 int GapHours=8; // ïîðîã èäåíòèôèêàöèè ïî âðåìåíè ñìåæíûõ áàðîâ â ÷àñàõ
//
int limit;
#include <KillGap.mqh> // ïîäêëþ÷åíèå ô-èè KillGap 
// ìàññèâû áóôåðîâ
double Ind[]; // áóôåð èíäèêàòîðà
double tr[]; // áóôåð òîðãîâîãî äèàïàçîíà

void init() {
   // êîðîòêîå èìÿ
   string short_name="ATR("+ATRperiod+")";
   IndicatorShortName(short_name);   
   // áóôåðû
   IndicatorBuffers(2); 
   SetIndexBuffer(0,Ind); // áóôåð èíäèêàòîðà
   SetIndexLabel(0,short_name);
   SetIndexDrawBegin(0,ATRperiod);
   SetIndexBuffer(1,tr); // áóôåð òîðãîâîãî äèàïàçîíà
  }

void start() {
   // ãðàíèöà ïåðåñ÷åòà
   limit=Bars-IndicatorCounted()-1;  
   if(limit>1) limit=Bars-1; 
   // ðàñ÷åò èíäèêàòîðà 
   for(int i=limit; i>=0; i--) {
      // ïîäñòàíîâêà áåçãåïîâûõ çíà÷åíèé
      double base0=iCustom(NULL,0,"KillGap",GapPoints,GapHours,0,1,i); // ãýïîâûé ñäâèã
      double base1=iCustom(NULL,0,"KillGap",GapPoints,GapHours,0,1,i+1); // ãýïîâûé ñäâèã íà ïðåä.áàðå
      double c1=Close[i+1]+base1; // çíà÷åíèå Close[i]
      double h0=High[i]+base0; // çàìåíà High[i]
      double l0=Low[i]+base0; // çàìåíà Low[i]
      // òîðãîâûé äèàïàçîí
      tr[i]=MathMax(h0,c1)-MathMin(l0,c1);
     }
   // ñãëàæèâàíèå ïî ìàññèâó
   for(i=limit; i>=0; i--) Ind[i]=iMAOnArray(tr,Bars,ATRperiod,0,0,i);
  }

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 ---