//+-------------------------------------------------------------------------------------------------------------+
//| 外汇行情综合预测分析.mq4 |
//| Copyright 2017, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+-------------------------------------------------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property indicator_chart_window //主窗口进行指标显示
#property indicator_buffers 1 //指标运用到数值的个数
#property indicator_color1 Red //指标显示颜色
//指标用到的三个参数(画趋势线)
extern int ExtDepth=12; // 用于设置高低点是相对与过去多少个Bars(价格图形中的一个柱子)而言。Mt4中默认是12。
extern int ExtDeviation=5; // 用于设置重新计算高低点时,与前一高低点的相对点差。默认值是5, 也就是说如果
// 当前高点>上个高点 5 ,或者,当前低点<上个低点 - 5的情况下,则会对之前计算过的ExtBacksteps个Bars值的高低点进行重新计算。
extern int ExtBackstep=3; // 用于设置回退计算的Bars的个数。
extern bool pivots = true; // 轴心指标
extern bool camarilla = False;
extern bool midpivots = true;
double day_high=0;
double day_low=0;
double yesterday_high=0;
double yesterday_open=0;
double yesterday_low=0;
double yesterday_close=0;
double today_open=0;
double today_high=0;
double today_low=0;
double P=0;
double Q=0;
double R1,R2,R3;
double M0,M1,M2,M3,M4,M5;
double S1,S2,S3;
double H4,H3,L4,L3;
double nQ=0;
double nD=0;
double D=0;
double rates_d1[2][6];
double jaw_va;
//指标的数值存储变量
double ZigzagBuffer[]; // 拐点
double HighMapBuffer[]; // 高点的临时变量数组
double LowMapBuffer[]; // 低点的临时变量数组
int level=3; // 最近已知的三个拐点
bool downloadhistory=false; //是否第一次计算
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
// Mt4指标第一次载入之后运行的初期化函数
int OnInit()
{
//--- indicator buffers mapping
IndicatorBuffers(3); // 对于缓冲储存器分配记忆应用自定义指标计算,用F1可以看到该函数的帮助和解释
SetIndexStyle(0,DRAW_SECTION); // 划线的风格为线段
SetIndexBuffer(0,ZigzagBuffer); // 表示前面定义的数组 ZigzagBuffer 的画线数值对应到索引号为0的缓存上
SetIndexBuffer(1,HighMapBuffer); // 表示前面定义的数组 HighMapBuffer 的极高数值对应到索引号为1的缓存上
SetIndexBuffer(2,LowMapBuffer); // 表示前面定义的数组 LowMapBuffer 的极低数值对应到索引号为2的缓存上
SetIndexEmptyValue(0,0.0); // 设置图表画线空值,设置的值不绘出或不显示在数据窗口。默认值为 EMPTY VALUE。
IndicatorShortName("ZigZag("+ExtDepth+","+ExtDeviation+","+ExtBackstep+")"); //设置指标的简称。
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
c
//| 外汇行情综合预测分析.mq4 |
//| Copyright 2017, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+-------------------------------------------------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property indicator_chart_window //主窗口进行指标显示
#property indicator_buffers 1 //指标运用到数值的个数
#property indicator_color1 Red //指标显示颜色
//指标用到的三个参数(画趋势线)
extern int ExtDepth=12; // 用于设置高低点是相对与过去多少个Bars(价格图形中的一个柱子)而言。Mt4中默认是12。
extern int ExtDeviation=5; // 用于设置重新计算高低点时,与前一高低点的相对点差。默认值是5, 也就是说如果
// 当前高点>上个高点 5 ,或者,当前低点<上个低点 - 5的情况下,则会对之前计算过的ExtBacksteps个Bars值的高低点进行重新计算。
extern int ExtBackstep=3; // 用于设置回退计算的Bars的个数。
extern bool pivots = true; // 轴心指标
extern bool camarilla = False;
extern bool midpivots = true;
double day_high=0;
double day_low=0;
double yesterday_high=0;
double yesterday_open=0;
double yesterday_low=0;
double yesterday_close=0;
double today_open=0;
double today_high=0;
double today_low=0;
double P=0;
double Q=0;
double R1,R2,R3;
double M0,M1,M2,M3,M4,M5;
double S1,S2,S3;
double H4,H3,L4,L3;
double nQ=0;
double nD=0;
double D=0;
double rates_d1[2][6];
double jaw_va;
//指标的数值存储变量
double ZigzagBuffer[]; // 拐点
double HighMapBuffer[]; // 高点的临时变量数组
double LowMapBuffer[]; // 低点的临时变量数组
int level=3; // 最近已知的三个拐点
bool downloadhistory=false; //是否第一次计算
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
// Mt4指标第一次载入之后运行的初期化函数
int OnInit()
{
//--- indicator buffers mapping
IndicatorBuffers(3); // 对于缓冲储存器分配记忆应用自定义指标计算,用F1可以看到该函数的帮助和解释
SetIndexStyle(0,DRAW_SECTION); // 划线的风格为线段
SetIndexBuffer(0,ZigzagBuffer); // 表示前面定义的数组 ZigzagBuffer 的画线数值对应到索引号为0的缓存上
SetIndexBuffer(1,HighMapBuffer); // 表示前面定义的数组 HighMapBuffer 的极高数值对应到索引号为1的缓存上
SetIndexBuffer(2,LowMapBuffer); // 表示前面定义的数组 LowMapBuffer 的极低数值对应到索引号为2的缓存上
SetIndexEmptyValue(0,0.0); // 设置图表画线空值,设置的值不绘出或不显示在数据窗口。默认值为 EMPTY VALUE。
IndicatorShortName("ZigZag("+ExtDepth+","+ExtDeviation+","+ExtBackstep+")"); //设置指标的简称。
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
c