MACD顶底背离通达信指标公式源码
- 格式:docx
- 大小:36.94 KB
- 文档页数:4
MACD顶底背离通达信指标公式源码/*头文件引用*/
#include "stdafx.h"
#include "SetIndexData.h"
/*背离判断函数*/
BOOL BackwardJudge(int n, float *dd, float *top, float *bottom)
int i, t_pos = 0;
float maxval = 0, minval = 0;
for(i=0;i<n;i++)
if(maxval < dd[i])
maxval = dd[i];
t_pos = i;
}
}
maxval = dd[t_pos];
minval = dd[t_pos];
for(i=t_pos;i>=0;i--)
if(maxval < dd[i])
maxval = dd[i];
if(minval > dd[i])
minval = dd[i];
}
*top = maxval;
*bottom = minval;
if(maxval == dd[0])
return TRUE;
else if(minval == dd[0])
return FALSE;
else
return FALSE;
/*MACD顶底背离判断函数*/
Export int MACDBackward(int n)
int i;
float *DIFF, *DEA, *MACD, *dd;
float top = 0, bottom = 0;
BOOL bType = FALSE;
SetEmptyBarCount(FALSE); /*不跳过空记录*/
DIFF = GetDiff(;
DEA = GetDea(;
MACD = GetMacd(;
malloc(dd, sizeof(float)*n);
bType = BackwardJudge(n, DEA, &top, &bottom);
if(bType)
for(i=0;i<n;i++)
dd[i] = DIFF[i];
bType = BackwardJudge(n, dd, &top, &bottom);
if(bType)
return 1; /*底背离*/
else
return 2; /*顶背离*/
}
else
return 0; /*无背离*/
上述代码是通达信公式语言的源码。
首先定义了一个背离判断函数BackwardJudge,这个函数用来判断价格序列dd中的顶底背离。
接着定义了MACDBackward函数,这个函数首先获取MACD指标的DIFF、DEA和MACD序列,然后调用BackwardJudge函数分别判断DEA和DIFF序列是否
存在顶底背离。
然后根据判断结果返回背离类型,如果DEA存在底背离,则返回1;如果DEA存在顶背离,则返回2,否则返回0。
以上便是MACD顶底背离的通达信指标公式源码。
请注意,该源码仅用于示范目的,具体使用时可能需要根据具体的需求进行修改和调整。