Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
BB_Sqz_sBar_mtf_sw
//+------------------------------------------------------------------+
//| bbsqueeze.mq4 |
//| Copyright © 2005, Nick Bilak, beluck[AT]gmail.com |
//|BBSqz sidebar(overlay) keris f-la mtf |
//+------------------------------------------------------------------+
//2008fxtsd ki
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Gold
#property indicator_width1 2
#property indicator_maximum 77
#property indicator_minimum 1
extern int TimeFrame=0;
extern int BolPrd = 20;
extern int BolMethod = 0;
extern int BolPrice = 0;
extern double BolDev = 2.0;
extern int KeltPrd = 20;
extern double KeltFactor = 1.5;
extern int SqzBarLevel = 5;
extern int MaxBarsToCount = 1500;
extern string note_Price = "0C1O 2H3L 4Md 5Tp 6WghC: Md(HL/2)4,Tp(HLC/3)5,Wgh(HLCC/4)6";
extern string MA_Method = "SMA0 EMA1 SMMA2 LWMA3";
extern string TimeFrames = "M1;5,15,30,60H1;240H4;1440D1;10080W1;43200MN";
double ExtMapBuffer1[];
//+------
int init()
{
SetIndexStyle(0,DRAW_ARROW,EMPTY);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexEmptyValue(0,EMPTY_VALUE);
SetIndexArrow(0,158);//159
SetIndexLabel(0,"BBSqz");
TimeFrame = MathMax (TimeFrame,Period());
switch(TimeFrame)
{
case 1 : string TimeFrameStr= "M1"; break;
case 5 : TimeFrameStr= "M5"; break;
case 15 : TimeFrameStr= "M15"; break;
case 30 : TimeFrameStr= "M30"; break;
case 60 : TimeFrameStr= "H1"; break;
case 240 : TimeFrameStr= "H4"; break;
case 1440 : TimeFrameStr= "D1"; break;
case 10080 : TimeFrameStr= "W1"; break;
case 43200 : TimeFrameStr= "MN1"; break;
default : TimeFrameStr= "TF0";
}
IndicatorShortName("BBSqz sB("+BolPrd+","+DoubleToStr(BolDev,2)+") ("+KeltPrd+","+DoubleToStr(KeltFactor,2)+") ["+TimeFrameStr+"] ");
return(0);
}
//+---------
int start()
{
datetime TimeArray[];
int i,y,limit,counted_bars=IndicatorCounted();
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);
double diff, std,bbs;
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit = Bars-counted_bars;
limit = MathMax (limit,TimeFrame/Period());
limit = MathMin (limit,MaxBarsToCount);
for(i=0,y=0;i<limit;i++)
{
if (Time[i]<TimeArray[y]) y++;
diff = iATR(NULL,TimeFrame,KeltPrd,y)*KeltFactor;
std = iStdDev(NULL,TimeFrame,BolPrd,BolMethod,0,BolPrice,y);
if (diff != 0)
bbs = BolDev * std / diff;
else bbs = 0;
if(bbs<1) ExtMapBuffer1[i]= SqzBarLevel;
else ExtMapBuffer1[i]= EMPTY_VALUE;
}
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
---