Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
T3_Lnx
/* Äëÿ ðàáîòû èíäèêàòîðà ñëåäóåò ïîëîæèòü ôàéëû
T3Series.mqh
PriceSeries.mqh
â ïàïêó (äèðåêòîðèþ): MetaTrader\experts\include\
Heiken Ashi#.mq4
â ïàïêó (äèðåêòîðèþ): MetaTrader\indicators\ */
//+------------------------------------------------------------------+
//| T3.2Bollinger Bands.mq4 |
//| Copyright © 2006, Nikolay Kositsin |
//| Khabarovsk, farria@mail.redcom.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, Nikolay Kositsin"
#property link "farria@mail.redcom.ru"
//---- îòðèñîâêà èíäèêàòîðà â ãëàâíîì îêíå
#property indicator_chart_window
//---- êîëè÷åñòâî èíäèêàòîðíûõ áóôåðîâ
#property indicator_buffers 1
//---- öâåò èíäèêàòîðà
#property indicator_color1 Red
//---- ÂÕÎÄÍÛÅ ÏÀÐÀÌÅÒÐÛ ÈÍÄÈÊÀÒÎÐÀ --------------------------------------------------------------------------------------------------+
extern int T3Period= 14; // ïåðèîä óñðåäíåíèÿ T3Bollinger Bands
extern int MA_method=0; // ìåòîä óñðåäíåíèÿ
extern int MA_Smooth=20; // ãëóáèíà ñãëàæèâàíèÿ ïîëó÷åííîãî Moving Avereges
extern int Bands_Smooth=20; // ãëóáèíà ñãëàæèâàíèÿ ïîëó÷åííûõ Bollinger Bands
extern int Smooth_Curvature=100; // ïàðàìåòð ñãëàæèâàíèÿ, èçìåíÿþùèéñÿ â ïðåäåëàõ -100 ... +100, âëèÿåò íà êà÷åñòâî ïåðåõîäíîãî ïðîöåññà;
extern int Bands_Shift=0; // cäâèã èíäèêàòîðà âäîëü îñè âðåìåíè
extern int Input_Price_Customs=0; //Âûáîð öåí, ïî êîòîðûì ïðîèçâîäèòñÿ ðàñ÷¸ò èíäèêàòîðà
//(0-CLOSE, 1-OPEN, 2-HIGH, 3-LOW, 4-MEDIAN, 5-TYPICAL, 6-WEIGHTED, 7-Heiken Ashi Close, 8-SIMPL, 9-TRENDFOLLOW, 10-0.5*TRENDFOLLOW,
//11-Heiken Ashi Low, 12-Heiken Ashi High, 13-Heiken Ashi Open, 14-Heiken Ashi Close.)
//---- -------------------------------------------------------------------------------------------------------------------------------+
//---- èíäèêàòîðíûå áóôåðû
double T3MovingBuffer[];
double Series_buffer [];
//+------------------------------------------------------------------+
//----+ Ââåäåíèå ôóíêöèè T3Series
//----+ Ââåäåíèå ôóíêöèè T3SeriesResize
//----+ Ââåäåíèå ôóíêöèè T3SeriesAlert
//----+ Ââåäåíèå ôóíêöèè T3_ErrDescr
#include <T3Series.mqh>
//+------------------------------------------------------------------+
//----+ Ââåäåíèå ôóíêöèè PriceSeries
//----+ Ââåäåíèå ôóíêöèè PriceSeriesAlert
#include <PriceSeries.mqh>
//+------------------------------------------------------------------+
//| T3.2Bollinger Bands initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- îïðåäåëåíèå ñòèëÿ èñïîëíåíèÿ ãðàôèêà
SetIndexStyle(0,DRAW_LINE);
//---- 4 èíäèêàòîðíûõ áóôåðà èñïîëüçîâàíû äëÿ ñ÷¸òà
IndicatorBuffers(2);
SetIndexBuffer(0,T3MovingBuffer);
SetIndexBuffer(1,Series_buffer);
//---- óñòàíîâêà çíà÷åíèé èíäèêàòîðà, êîòîðûå íå áóäóò âèäèìû íà ãðàôèêå
SetIndexEmptyValue(0,0);
SetIndexEmptyValue(1,0);
//---- óñòàíîâêà íîìåðà áàðà, íà÷èíàÿ ñ êîòîðîãî áóäåò îòðèñîâûâàòüñÿ èíäèêàòîð
int drawbegin=100;
SetIndexDrawBegin(0,drawbegin);
//---- èìÿ äëÿ îêîí äàííûõ è ëýéáà äëÿ ñóáúîêîí
IndicatorShortName ("T3 Lnx( Period="+(string)T3Period+")");
string Moving;
switch(MA_method)
{
case 0: Moving= "T3SMA";break;
case 1: Moving= "T3EMA";break;
case 2: Moving="T3SSMA";break;
case 3: Moving="T3LWMA";break;
default: Moving="T3SMA";
}
SetIndexLabel (1, "T3 Moving Average "+Moving+" ");
//---- Óñòàíîâêà ôîðìàòà òî÷íîñòè îòîáðàæåíèÿ èíäèêàòîðà
IndicatorDigits(Digits);
//----+ Èçìåíåíèå ðàçìåðîâ áóôåðíûõ ïåðåìåííûõ ôóíêöèè T3Series, nT3.number=3(Òðè îáðàùåíèÿ ê ôóíêöèè T3Series)
if (Bands_Smooth<=1){if (T3SeriesResize(1)!=1)return(-1);}else if (T3SeriesResize(3)!=3)return(-1);
//---- óñòàíîâêà àëåðòîâ íà íåäîïóñòèìûå çíà÷åíèÿ âíåøíèõ ïåðåìåííûõ
T3SeriesAlert(0,"MA_Smooth",MA_Smooth);
T3SeriesAlert(0,"T3Period",T3Period);
if((MA_method<0)||(MA_method>3))
{Alert("Ïàðàìåòð MA_method äîëæåí áûòü îò 0 äî 3"+" Âû ââåëè íåäîïóñòèìîå "
+(string)MA_method+ " áóäåò èñïîëüçîâàíî 0");}
PriceSeriesAlert(Input_Price_Customs);
//---- êîðåêöèÿ íåäîïóñòèìîãî çíà÷åíèÿ ïàðàìåòðà T3Period
if(T3Period<1)T3Period=1;
//---- çàâåðøåíèå èíèöèàëèçàöèè
return(0);
}
//+------------------------------------------------------------------+
//| T3.2Bollinger Bands iteration function |
//+------------------------------------------------------------------+
int start()
{
//---- ïðîâåðêà êîëè÷åñòâà áàðîâ íà äîñòàòî÷íîñòü äëÿ ðàñ÷¸òà
if(Bars-1<=T3Period) return(0);
//---- Ââåäåíèå ïåðåìåííûõ ñ ïëàâàþùåé òî÷êîé
double Temp_Series,Resalt;
//----+ Ââåäåíèå öåëûõ ïåðåìåííûõ è ïîëó÷åíèå óæå ïîäñ÷èòàííûõ áàðîâ
int reset,MaxBar,MaxBarBB,bar,counted_bars=IndicatorCounted();
//---- ïðîâåðêà íà âîçìîæíûå îøèáêè
if (counted_bars<0)return(-1);
//---- ïîñëåäíèé ïîäñ÷èòàííûé áàð äîëæåí áûòü ïåðåñ÷èòàí
//---- (áåç ýòîãî ïåðåñ÷¸òà äëÿ counted_bars ôóíêöèÿ T3Series áóäåò ðàáîòàòü íåêîððåêòíî!!!)
if (counted_bars>0) counted_bars--;
//---- îïðåäåëåíèå íîìåðà ñàìîãî ñòàðîãî áàðà, íà÷èíàÿ ñ êîòîðîãî áóäåò ïðîèçåä¸í ïåðåñ÷¸ò íîâûõ áàðîâ
int limit=Bars-counted_bars-1;MaxBar=Bars-1-T3Period;MaxBarBB=MaxBar-30;
//----+ çàãðóçêà âõîäíûõ öåí â áóôåð äëÿ ðàñ÷¸òà
for(bar=limit;bar>=0;bar--)Series_buffer[bar]=PriceSeries(Input_Price_Customs,bar);
//---- ïðîâåðêà áàðà íà äîñòàòî÷íîñòü äëÿ ðàñ÷¸òà Bollinger Bands
//---- èíèöèàëèçàöèÿ íóëÿ
if (limit>MaxBar)
{
for(bar=limit;bar>=MaxBar;bar--)T3MovingBuffer[bar]=0;
limit=MaxBar;
}
//----+ öèêë ðàñ÷¸òà Moving Avereges
for(bar=limit;bar>=0;bar--)
{
//----+ ôîðìóëà äëÿ ðàñ÷¸òà Moving Avereges
Temp_Series=iMAOnArray(Series_buffer,0,T3Period,0,MA_method, bar);
//----+ ñãëàæèâàíèå ïîëó÷åííîãî Moving Avereges
//----+ îáðàùåíèå ê ôóíêöèè T3Series çà íîìåðîì 0. Ïàðàìåòðs nT3.Length íå ìåíÿtòñÿ íà êàæäîì áàðå (nT3.din=0)
Resalt=T3Series(0,0,MaxBar,limit,Smooth_Curvature,MA_Smooth,Temp_Series,bar,reset);
//----+ ïðîâåðêà íà îòñóòñòâèå îøèáêè â ïðåäûäóùåé îïåðàöèè
if(reset!=0)return(-1);
T3MovingBuffer[bar]=Resalt;
}
//---- çàâåðøåíèå âû÷èñëåíèé çíà÷åíèé èíäèêàòîðà
return(0);
}
//+---------------------------------------------------------------------------+
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
---