Indicators Used
0
Views
0
Downloads
0
Favorites
iEnvelopes.Gap
/*
âûçîâ èç êîäîâ - ñòàíäàðòíûå ïîëÿ + ïîëå Gap
iCustom(
string symbol, // ñèìâîëüíîå èìÿ èíñòðóìåíòà (NULL- òåêóùèé)
int timeframe, // òàéì-ôðåéì (0- òåêóùèé)
"iEnvelopes.Gap", // èìÿ ýòîãî èíäèêàòîðà
//
int ma_period, // ïåðèîä MA
// 0 - MODE_SMA - ïðîñòàÿ
// 1 - MODE_EMA - ýêñïîíåíöèàëüíàÿ
// 2 - MODE_SMMA - ñãëàæåííàÿ
// 3 - MODE_LWMA - ëèíåéíî-âçâåøåííàÿ
int ma_shift, // ñäâèã MA
int applied_price, // òèï öåíû:
// 0 - PRICE_CLOSE - öåíà çàêðûòèÿ
// 1 - PRICE_OPEN - öåíà îòêðûòèÿ
// 2 - PRICE_HIGH - ìàêñ.öåíà
// 3 - PRICE_LOW - ìèí.öåíà
// 4 - PRICE_MEDIAN - ñðåäíÿÿ öåíà,(high+low)/2
// 5 - PRICE_TYPICAL - òèïè÷íàÿ öåíà,(high+low+close)/3
// 6 - PRICE_WEIGHTED - âçâåøåííàÿ öåíà çàêðûòèÿ,(high+low+close+close)/4
// 7 - îáúåì
double deviation // îòêëîíåíèå îò îñíîâíîé ëèíèè â %%
int GapPoints, // ïîðîã äëÿ èäåíòèôèêàöèè ãýïà â ïï;
// =0- ñòàíäàðíûé ðåæèì
// <0- âûâîä áåç ñìåùåíèÿ
//
int mode, // mode - íîìåð áóôåðà èíäèêàòîðà:
// 0- MA
// 1- âåðõíÿÿ ãðàíèöà
// 2- íèæíÿÿ ãðàíèöà
int shift // ñäâèã
);
==============
iCustom(NULL,0,"iEnvelopes.Gap",EnvelopPeriod,Method,Shift,Price,Deviation,GapPoints, 0,i); // MA
iCustom(NULL,0,"iEnvelopes.Gap",EnvelopPeriod,Method,Shift,Price,Deviation,GapPoints, 1,i); // âåðõíÿÿ ãðàíèöà
iCustom(NULL,0,"iEnvelopes.Gap",EnvelopPeriod,Method,Shift,Price,Deviation,GapPoints, 2,i); // íèæíÿÿ ãðàíèöà
*/
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 LightSeaGreen
#property indicator_style1 2
#property indicator_color2 Blue
#property indicator_color3 Red
// âõîäíûå ïàðàìåòðû
extern int EnvelopPeriod=14; // ïåðèîä MA
extern int Method=0; // òèï MA
extern int Shift=0; // ñäâèã
extern int Price=0; // òèï öåíû
extern double Deviation=0.1; // îòêëîíåíèÿ îò MA â %% ê öåíå
extern int GapPoints=0; // ïîðîã èäåíòèôèêàöèè ãýïà â ïï.
int GapHours=8; // ïîðîã ïî âðåìåíè â ÷àñàõ (>0) èëè â ìèíóòàõ (<0)
// èíä.áóôåðû
double MA[], // MA
Top[], // âåðõíÿÿ ãðàíèöà
Bot[], // íèæíÿÿ ãðàíèöà
price[], // ìàññèâ áóôåðà áåçãýïîâûõ êîòèðîâîê
base[]; // ìàññèâ áóôåðà ñìåùåíèÿ
void init() {
// êîðîòêîå èìÿ
string short_name="Env("+EnvelopPeriod+")";
IndicatorShortName(short_name);
// áóôåðû èíäèêàòîðà
SetIndexBuffer(0,MA); // MA
SetIndexLabel(0,short_name);
SetIndexBuffer(1,Top); // âåðõíÿÿ ãðàíèöà
short_name=DoubleToStr(Deviation,2)+"%";
SetIndexLabel(1,"Top+"+short_name);
SetIndexBuffer(2,Bot); // íèæíÿÿ ãðàíèöà
SetIndexLabel(2,"Bot-"+short_name);
// áóôåðû áåçãýïîâûõ êîòèðîâîê
IndicatorBuffers(5);
SetIndexBuffer(3,price); // êîòèðîâêè
SetIndexBuffer(4,base); // ñìåùåíèå
}
void start() {
// ãðàíèöà ïåðåñ÷åòà
int limit=Bars-IndicatorCounted()-1;
if(limit>1) limit=Bars-1;
// çàïîëíåíèå áóôåðîâ áåçãýïîâûìè êîòèðîâêàìè è ñìåùåíèåì
for(int i=limit; i>=0; i--) {
price[i]=iCustom(NULL,0,"KillGap",GapPoints,GapHours,Price, 0,i); // êîòèðîâêè
base[i] =iCustom(NULL,0,"KillGap",GapPoints,GapHours,Price, 1,i); // ñìåùåíèå
}
// ðàñ÷åò èíäèêàòîðà ïî ìàññèâó price[]
for(i=limit; i>=0; i--) {
double bs=base[i];
MA[i] =iEnvelopesOnArray(price,Bars,EnvelopPeriod,Method,Shift,Deviation,0,i)-bs;
Top[i]=iEnvelopesOnArray(price,Bars,EnvelopPeriod,Method,Shift,Deviation,1,i)-bs;
Bot[i]=iEnvelopesOnArray(price,Bars,EnvelopPeriod,Method,Shift,Deviation,2,i)-bs;
}
}
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---