Miscellaneous
0
Views
0
Downloads
0
Favorites
TrendContinuation_v4
//+------------------------------------------------------------------+
//| Trend continuation factor 2 mt4 .mq4|
//| |
//| |
//| Conversion only Doc Gaines |
//| dr_richard_gaines@yahoo.com |
//| |
//+------------------------------------------------------------------+
#property copyright " Copyright © 2004, MetaQuotes Software Corp."
#property link " http://www.metaquotes.net/"
//----
#property indicator_separate_window
#property indicator_color1 Blue
#property indicator_buffers 2
#property indicator_color2 Red
#include <stdlib.mqh>
//+------------------------------------------------------------------+
//| External variables |
//+------------------------------------------------------------------+
extern double n=20;
extern double CountBars=5000;
extern double t3_period=5;
extern double b=0.618;
//+------------------------------------------------------------------+
//| Special Convertion Functions |
//+------------------------------------------------------------------+
int LastTradeTime;
int shift;
double ExtHistoBuffer[];
double ExtHistoBuffer2[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void SetLoopCount(int loops)
{
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void SetIndexValue(int shift, double value)
{
ExtHistoBuffer[shift]=value;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void SetIndexValue2(int shift, double value)
{
ExtHistoBuffer2[shift]=value;
}
//+------------------------------------------------------------------+
//| End |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Initialization |
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0, DRAW_LINE, STYLE_SOLID);
SetIndexBuffer(0, ExtHistoBuffer);
SetIndexStyle(1, DRAW_LINE, STYLE_SOLID);
SetIndexBuffer(1, ExtHistoBuffer2);
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
//+------------------------------------------------------------------+
//| Local variables |
//+------------------------------------------------------------------+
//double shift = 0;
int cnt=0;
double k_n=0;
double k_p=0;
int shiftt=0;
double ch_p=0;
double ch_n=0;
double cff_p=0;
double cff_n=0;
double AccountedBars=0;
double CF_p[5001];
double CF_n[5001];
double Change_p[5001];
double Change_n[5001];
double t3=0;
double t32=0;
double A1=0;
double A2=0;
double b2=0;
double b3=0;
double c1=0;
double c2=0;
double c3=0;
double c4=0;
double e1=0;
double e2=0;
double e3=0;
double e4=0;
double e5=0;
double e6=0;
double n1=0;
double w1=0;
double w2=0;
double e12=0;
double e22=0;
double e32=0;
double e42=0;
double e52=0;
double e62=0;
//----
b2=b*b;
b3=b2*b;
c1=-b3;
c2=(3*(b2+b3));
c3=-3*(2*b2+b+b3);
c4=(1+3*b+b3+3*b2);
n1=t3_period;
if(n1<1)n1=1;
n1=1 + 0.5*(n1-1);
w1=2/(n1 + 1);
w2=1 - w1;
SetLoopCount(0);
// loop from first bar to current bar (with shift=0)
if(AccountedBars==0)AccountedBars=Bars-CountBars;
for(cnt =AccountedBars;cnt <=Bars-1 ;cnt ++)
{
shift=Bars - 1 - cnt;
{
if(Close[shift] > Close[shift+1])
{ Change_p[shift]=Close[shift]- Close[shift+1];
CF_p[shift]= Change_p[shift] + CF_p[shift+1];
Change_n[shift]=0;
CF_n[shift]= 0;
}
else
{ Change_p[shift]=0;
CF_p[shift]=0;
Change_n[shift] =Close[shift+1]- Close[shift];
CF_n[shift]=Change_n[shift]+ CF_n[shift+1];
}
}
for(shiftt=shift+n;shiftt>=shift ;shiftt--)
{
ch_p=Change_p[shiftt] +ch_p;
ch_n=Change_n[shiftt]+ch_n ;
cff_p= CF_p[shiftt]+cff_p;
cff_n= CF_n[shiftt]+cff_n;
}
k_p=ch_p-cff_n;
k_n=ch_n-cff_p;
A1=k_p;
e1=w1*A1 + w2*e1;
e2=w1*e1 + w2*e2;
e3=w1*e2 + w2*e3;
e4=w1*e3 + w2*e4;
e5=w1*e4 + w2*e5;
e6=w1*e5 + w2*e6;
t3=c1*e6 + c2*e5 + c3*e4 + c4*e3;
SetIndexValue(shift,t3);
A2=k_n;
e12=w1*A2 + w2*e12;
e22=w1*e12 + w2*e22;
e32=w1*e22 + w2*e32;
e42=w1*e32 + w2*e42;
e52=w1*e42 + w2*e52;
e62=w1*e52 + w2*e62;
t32=c1*e62 + c2*e52 + c3*e42 + c4*e32;
SetIndexValue2(shift,t32);
AccountedBars=AccountedBars+1;
ch_p=0;
ch_n=0;
cff_p=0;
cff_n=0;
}
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
---