Miscellaneous
0
Views
0
Downloads
0
Favorites
ZZ_MTF_XO_2
//+------------------------------------------------------------------+
//| ZZ_MTF_XO_2.mq4 |
//| |
//+------------------------------------------------------------------+
#property copyright "AHGDP"
#property link " ZZ_MTF_XO_2 "
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Teal
#property indicator_color2 Orange
#property indicator_color3 Lime
#property indicator_color4 Red
#property indicator_width1 3
#property indicator_width2 3
#property indicator_width3 3
#property indicator_width4 3
#property indicator_maximum 2.5
#property indicator_minimum -2.5
extern double KirPER1=4.5;
extern double KirPER2=6.5;
extern int TF1= 240 ;
extern int LineSize1=3;
extern int CountBars=5000;
double xoup1 , xodn1 ;
double xoup2 , xodn2 ;
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_HISTOGRAM,EMPTY,LineSize1);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_HISTOGRAM,EMPTY,LineSize1);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexStyle(2,DRAW_HISTOGRAM,EMPTY,LineSize1);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexStyle(3,DRAW_HISTOGRAM,EMPTY,LineSize1);
SetIndexBuffer(3,ExtMapBuffer4);
string ThisName = "ZZ_MTF_XO_2";
string Text=ThisName;
Text=Text+" ("+TF1;
Text=Text+")";
Text=Text+"(";
Text=Text+" "+DoubleToStr(KirPER1,1);
Text=Text+", "+DoubleToStr(KirPER2,1);
Text=Text+") ";
IndicatorShortName(Text);
}
//----
return(0);
//+------------------------------------------------------------------+
//| MTF Parabolic Sar |
//+------------------------------------------------------------------+
int start()
{
int i,limit,y=0,counted_bars=IndicatorCounted();
limit=Bars-counted_bars;
limit=Bars-counted_bars;
limit=Bars-counted_bars;
limit=Bars-counted_bars;
if(counted_bars>0) limit++; else if (limit>100) limit=CountBars;
SetIndexDrawBegin(0,Bars-CountBars);
SetIndexDrawBegin(1,Bars-CountBars);
SetIndexDrawBegin(2,Bars-CountBars);
SetIndexDrawBegin(3,Bars-CountBars);
int lastp15=0, lastp30=0, lastp60=0;
for(i=0,y=0;i<limit;i++)
{
int p1;
p1 = iBarShift( NULL, TF1, Time[i], false );
//========================================================================================
double xo1a = iCustom(NULL,TF1,"XO",KirPER1,0,p1);
double xo1b = iCustom(NULL,TF1,"XO",KirPER1,1,p1);
if ((xo1a > 0)){ xoup1 = 1; xodn1 = 0; }
if ((xo1b < 0)){ xoup1 = 0; xodn1 = 1; }
double xo2a = iCustom(NULL,TF1,"XO",KirPER2,0,p1);
double xo2b = iCustom(NULL,TF1,"XO",KirPER2,1,p1);
if ((xo2a > 0)){ xoup2 = 1; xodn2 = 0; }
if ((xo2b < 0)){ xoup2 = 0; xodn2 = 1; }
//========================================================================================
double TF1Up = 0.0;
double TF1Down = 0.0;
double TF2Up = 0.0;
double TF2Down = 0.0;
if ( (xoup1 + xoup2 ) == 2 ) TF1Up = 2 ;
if ( (xodn1 + xodn2 ) == 2 ) TF1Down = - 2 ;
if ( TF1Up == 2 || TF1Down == - 2 )
{
ExtMapBuffer3[i] = TF1Up;
ExtMapBuffer4[i] = TF1Down;
}
//=========================================================================================
if ( ( xoup2) == 1 ) TF2Up = 1 ;
if ( ( xodn2) == 1 ) TF2Down = - 1 ;
if ( TF2Up == 1 || TF2Down == - 1 )
{
ExtMapBuffer1[i] = TF2Up;
ExtMapBuffer2[i] = TF2Down;
}
//==================================================================
}
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
---