Miscellaneous
0
Views
0
Downloads
0
Favorites
Predict_v3
//+------------------------------------------------------------------+
//| Created by Ronald Verwer. |
//| Predict.mq4 |
//| Copyright; 2006 © by Ronald Verwer/ROVERCOM |
//+------------------------------------------------------------------+
#property copyright "Copyright 2006 © Ronald Verwer / ROVERCOM"
//----
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Blue
#property indicator_color2 Magenta
#property indicator_color3 Orange
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
//----
extern int BuyLevel=56;
extern int SellLevel=56;
extern bool Use_Single_Arrows=false;//true;
//----
double Up[];
double Dn[];
double Fl[];
double Drctn[];
//+------------------------------------------------------------------+
//| Indicator Initialization Function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(4);
SetIndexStyle(0,DRAW_ARROW,0,2);
SetIndexArrow(0,233);
SetIndexStyle(1,DRAW_ARROW,0,2);
SetIndexArrow(1,234);
SetIndexStyle(2,DRAW_ARROW,0,2);
SetIndexArrow(2,159);
//
SetIndexBuffer(0,Up);
SetIndexBuffer(1,Dn);
SetIndexBuffer(2,Fl);
SetIndexBuffer(3,Drctn);
//
IndicatorShortName("Prediction");
SetIndexLabel(0,"Up");
SetIndexLabel(1,"Dn");
SetIndexLabel(2,"Flat");
//
SetIndexDrawBegin(0,10);
SetIndexDrawBegin(1,10);
SetIndexDrawBegin(2,10);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Indicator De-Initialization Function |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| EMA_Levels |
//+------------------------------------------------------------------+
int start()
{
int i,limit;
double D1,D2,Pr;
string Txt;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
if(counted_bars==0) limit-=1+5;
//----
for(i=limit;i>=0;i--)
{
Up[i]=EMPTY_VALUE;
Dn[i]=EMPTY_VALUE;
Fl[i]=EMPTY_VALUE;
D1=(Close[i+1]+Close[i+2])/2;
D2=(Close[i+1]+Close[i+2]+Close[i+3]+Close[i+4]+Close[i+5])/5;
if(Close[i+1]!=0)
Pr=((MathAbs(D1-D2)/Close[i+1]*125.75+0.54528)*10000)/100;
if(D1>D2 && Pr>BuyLevel)
{
Drctn[i]=1;
if(Drctn[i]!=Drctn[i+1] || !Use_Single_Arrows)
Up[i]=Low[i]-4*Point;
}
else if(D1<D2 && Pr>SellLevel)
{
Drctn[i]=-1;
if(Drctn[i]!=Drctn[i+1] || !Use_Single_Arrows)
Dn[i]=High[i]+4*Point;
}
else if(Pr>50 && Pr<60)
{
Drctn[i]=0;
if(Drctn[i+1]==1)
Fl[i]=Low[i]-4*Point;
else if(Drctn[i+1]==-1)
Fl[i]=High[i]+4*Point;
}
else
Drctn[i]=0;
}
if(Drctn[0]==-1) Txt="Short";
else if(Drctn[0]==1) Txt="Long";
else Txt="Flat";
Comment("Predictions: Pr = "+DoubleToStr(Pr,3)+" ; Current Signal = "+Txt);
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
---