MACD背离指标通达信指标公式源码

合集下载

自动画MACD背离线通达信指标公式源码

自动画MACD背离线通达信指标公式源码

自动画MACD背离的指标:一共两个指标,一个是通达信用的,一个是大智慧用的{通达信自动划MACD指标背离线}DIFF:EMA(CLOSE,12) - EMA(CLOSE,26);DEA:EMA(DIFF,9);MACD:2*(DIFF-DEA), COLORSTICK;A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));底背离:=REF(CLOSE,A1+1)>CLOSE AND DIFF>REF(DIFF,A1+1) AND CROSS(DIFF,DEA); STICKLINE(底背离,0,0.1,8,0),COLORRED;DRAWLINE(A1=0,DEA,底背离,DEA,0),COLORRED,LINETHICK2;A2:=BARSLAST(REF(CROSS(DEA,DIFF),1));顶背离:=REF(CLOSE,A2+1)<CLOSE AND REF(DIFF,A2+1)>DIFF AND CROSS(DEA,DIFF); DRAWLINE(A2=0,DEA,顶背离,DEA,0),COLORGREEN,LINETHICK2;{大智慧自动划MACD指标背离线(适用于大智慧新一代)}DIF:EMA(CLOSE,12)-EMA(CLOSE,26);DEA:EMA(DIF,9);MACD:(DIF-DEA)*2,COLORSTICK;A:=SUMBARS(CROSS(DEA,DIF),2);B:=SUMBARS(CROSS(DEA,DIF),1);E:=REF(DIF,LLVBARS(DIF,A))<REF(DIF,LLVBARS(DIF,B)) AND LLVBARS(DIF,B)<LLVBARS(DIF,A) ANDCROSS(DIF,DEA);F:=COUNT(BACKSET(E,LLVBARS(DIF,A)+1),LLVBARS(DIF,A)+1)=1; G:=COUNT(BACKSET(E,LLVBARS(DIF,B)+1),LLVBARS(DIF,B)+1)=1; DRAWLINE(F,DIF,G,DIF,0),COLOERED;。

MACD顶底背离通达信指标公式源码

MACD顶底背离通达信指标公式源码

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;elsereturn 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; /*底背离*/elsereturn 2; /*顶背离*/}elsereturn 0; /*无背离*/上述代码是通达信公式语言的源码。

通达信指标公式源码好厉害的MACD背离(通达信副图指标)

通达信指标公式源码好厉害的MACD背离(通达信副图指标)

好厉害的MACD背离(通达信副图指标)DIF:EMA(CLOSE,12)-EMA(CLOSE,26),COLORRED,LINETHICK2;DEA:EMA(DIF,9),COLORWHITE,LINETHICK2;持仓段:=0,COLOR00CFFF;空仓段:=0,COLORFFCCFF;STICKLINE(DIF>DEA,-0.5,-0.6,10,1),COLOR00CFFF;STICKLINE(DIF<DEA,-0.5,-0.6,10,1),COLORFFCCFF;MACD:(DIF-DEA)*2,COLORSTICK;STICKLINE(((MACD<REF(MACD,1)) AND(MACD>0)),0,MACD,1,0),COLORLIBLUE,LINETHICK2;STICKLINE(((MACD>REF(MACD,1)) AND(MACD<0)),0,MACD,1,0),COLORFF00FF,LINETHICK2;建仓:IF(DIF<0,DIF,0),COLORYELLOW,LINETHICK2;加仓:IF(DIF<0,0,DIF),COLORRED,LINETHICK2;白线破仓:IF(DIF<DEA,DIF,DEA),COLORWHITE,LINETHICK2;趋势强弱:IF(DIF>DEA,DEA,DEA),COLORFF937F,LINETHICK2;AA:=COUNT(CROSS(DIF,DEA),BARSLAST(DEA>=0));二次金叉:=CROSS(DIF,DEA) AND DEA<0 AND COUNT(AA=2,21)=1; DRAWTEXT(二次金叉,0.2,' 二次金叉'),COLORYELLOW;A1:=BARSLAST(REF(CROSS(DIF,DEA),1));底背离:=REF(CLOSE,A1+1)>CLOSE AND DIF>REF(DIF,A1+1) AND CROSS(DIF,DEA); STICKLINE(底背离,0,0.03,6,0),COLOR00FF00;底背:DRAWLINE(A1=0,DEA,底背离,DEA,0),COLORRED,LINETHICK4; DRAWTEXT(底背离,0.12,' 底背离'),COLORFF00FF;A2:=BARSLAST(REF(CROSS(DEA,DIF),1));顶背离:=REF(CLOSE,A2+1)<CLOSE AND REF(DIF,A2+1)>DIF AND CROSS(DEA,DIF); 顶背:DRAWLINE(A2=0,DEA,顶背离,DEA,0),COLORGREEN,LINETHICK4;。

自动画MACD背离线通达信指标公式源码

自动画MACD背离线通达信指标公式源码

自动画MACD背离线通达信指标公式源码以下是通达信软件中计算MACD背离指标的源码:```/*功能:计算MACD背离线指标公式:当股价形成新高而MACD指标不形成新高时,出现向下背离当股价形成新低而MACD指标不形成新低时,出现向上背离参数:无返回值:无*/indicator fn_DEVIATION_MACDMA1:=EMA(CLOSE,12);MA2:=EMA(CLOSE,26);DIFF:=MA1-MA2;DEA:=EMA(DIFF,9);MACD:=2*(DIFF-DEA);PeakArr:=[];TroughArr:=[];PeakCount:=0;TroughCount:=0;//寻找股价的峰值和谷底Loop:=BARSSINCE(HIGHESTBARS(HIGH,9)) + 1;FOR i FROM Loop TO BARCOUNT-1BEGINIFHIGH[i]>REF(HIGH,1)[i]ANDHIGH[i]>HIGH[i+1]THENBEGINPeakCount := PeakCount + 1;PeakArr[PeakCount] := i;END;IFLOW[i]<REF(LOW,1)[i]ANDLOW[i]<LOW[i+1]THENBEGINTroughCount := TroughCount + 1;TroughArr[TroughCount] := i;END;END;//判断是否存在背离BEARTrend := IF(REF(MACD,1) > REF(MACD,2),1,-1); // 1表示下跌趋势,-1表示上涨趋势PeakPos := 0;TroughPos := 0;Signal := "";FOR i FROM 1 TO MIN(PeakCount, TroughCount) BEGINIF BEARTrend = 1 THENBEGINIF HIGH[PeakArr[i]] > HIGH[PeakArr[i-1]] THEN BEGINIF LOW[TroughArr[i]] > LOW[TroughArr[i-1]] THEN BEGINPeakPos := PeakArr[i];TroughPos := TroughArr[i];Signal := "向下背离";BREAK;END;END;END;ELSE IF BEARTrend = -1 THENBEGINIF HIGH[PeakArr[i]] < HIGH[PeakArr[i-1]] THENBEGINIF LOW[TroughArr[i]] < LOW[TroughArr[i-1]] THENBEGINPeakPos := PeakArr[i];TroughPos := TroughArr[i];Signal := "向上背离";BREAK;END;END;END;END;//输出背离信号IF PeakPos > 0 AND TroughPos > 0 THENBEGINDRAWICON(PeakPos, HIGH[PeakPos], CONCAT(Signal, "顶背离"),IC_TRIANGLE, 0, RED);DRAWICON(TroughPos, LOW[TroughPos], CONCAT(Signal, "底背离"), IC_TRIANGLE, 1, GREEN);END;//返回背离信号位置RETURN PeakPos, TroughPos;```以上代码使用通达信魔法公式语言编写,通过计算MACD指标的DIF、DEA、MACD三个值,并寻找股价的峰值和谷底来判断是否存在背离信号。

MACD顶底背离通达信指标公式源码

MACD顶底背离通达信指标公式源码

MACD顶底背离通达信指标公式源码```text/*MACD顶底背离指标*//*输入参数说明:bsPeriod: 顶底背离周期,默认为9macdFastPeriod: MACD快线周期,默认为12macdSlowPeriod: MACD慢线周期,默认为26macdSignalPeriod: MACD信号线周期,默认为9*/_VAR1:=BSPeriod;_VAR2:=MACDSPERIOD;_VAR3:=MACDPERIOD;_VAR4:=MACDFPARRAY[1];_VAR5:=CLOSE>REF(HHV(HIGH,_VAR2),1);_VAR6:=CLOSE<REF(LLV(LOW,_VAR2),1);_VAR7:=HHV(HIGH,_VAR3)<HHV(HIGH,_VAR3+1)&&REF(HHV(HIGH,_VAR3 +1),1)<REF(HHV(HIGH,HHV(_VAR3,_VAR3)),-1);_VAR8:=LLV(LOW,_VAR3)>LLV(LOW,_VAR3+1)&&REF(LLV(LOW,_VAR3+1) ,1)>REF(LLV(LOW,LLV(_VAR3,_VAR3)),-1);_VAR9:=IF(_VAR4<0,(_VAR4-CLOSE),IF(_VAR4>0,(_VAR4+CLOSE),CLOSE));_VAR10:=REF(_VAR9,1);_TR:=IF(_VAR5,_VAR1,IF(_VAR6,-_VAR1,0));_IF9:=IF(_VAR7,_VAR9,IF(_VAR8,-_VAR9,0));VAR11:=IF(_TR>BARSCOUNT,_TR,IF(_TR<BARSCOUNT,-_TR,0));_VAR12:=ABS(_IF9);_VAR13:=IF(_VAR12>BARSCOUNT,0,_VAR12);VAR14:EMA(IF(_TR>0,_TR,IF(_TR<0,ABS(_TR),0)),_VAR1*2-1);VAR15:EMA(_IF9,_VAR1*2-1);VAR16:EMA(VAR14,2);VAR17:EMA(VAR15,2);SWING:IF((_TR>VAR14&&VAR14>VAR16),(_TR<VAR14&&VAR14<VAR16),VAR14,IF((_TR<_IF9&&_IF9<VAR15),(_TR>_IF9&&_IF9>VAR15),_IF9,0));DVB:IF(VAR14<1,VAR15,0);DVS:IF(VAR14>1,VAR15,0);DVFH:IF(VAR15>VAR17&&VAR15!=MAX,VAR15,0);DVFL:IF(VAR15<VAR17&&VAR15!=MIN,VAR15,0);DVFHB:=IF(VAR15>VAR17&&VAR15>REF(VAR15,1),VAR15,0);DVFHS:=IF(VAR15>VAR17&&VAR15<REF(VAR15,1),VAR15,0);DVFLB:=IF(VAR15<VAR17&&VAR15<REF(VAR15,1),VAR15,0);DVFHS:CCOLOR==VOLUME?COLORBLUE:IF(CC:,COLORFF0000,0);DVFHB:DVFLB:CCOLOR==VOLUME?COLORBLUE:IF(CC:,COLOR00AAFF,0);FORMULA:=0;```以上是通达信公式语言的源码,用于计算MACD顶底背离指标。

MACD背离自动画线通达信指标公式源码

MACD背离自动画线通达信指标公式源码

MACD背离自动画线通达信指标公式源码MACD(Moving Average Convergence Divergence)是一种常用的股票技术指标,用于分析股票的趋势和交易信号。

MACD背离是一种常见的技术分析方法,用于判断趋势的反转点,即价格走势与MACD指标走势不一致的情况。

下面是使用通达信编写MACD背离自动画线指标的源码。

```c/*MACD背离自动画线指标*功能:自动识别MACD背离点并在图表中标注出来*/#include "stdafx.h"#include "stdio.h"#include "string.h"#include "windows.h"//确定最低点、最高点时使用的价格周期数#define MIN_PRICE_DURATION 9#define MAX_PRICE_DURATION 10/**输入参数:*MACD:一个包含MACD数据的数组* price:一个包含价格数据的数组*返回值:*0:没有背离*1:向上背离*-1:向下背离*/int CheckDivergence(float *MACD, float *price) int i, j, k;int start, end;int low_index, high_index;float min_price, max_price;int MACD_bottom, MACD_top;int price_bottom, price_top;float MACD_bottom_value, MACD_top_value;float price_bottom_value, price_top_value;/**阶段1:寻找MACD底背离*/start = MAX_PRICE_DURATION + 1;end = start + MIN_PRICE_DURATION;low_index = -1;high_index = -1;min_price = price[start];max_price = price[start];for (i = start; i < end; i++)//查找最低点if (price[i] < min_price)low_index = i;min_price = price[i];}//查找最高点if (price[i] > max_price)high_index = i;max_price = price[i];}}//无法找到底背离点if (low_index == -1 , high_index == -1)}MACD_bottom = 0;price_bottom = 0;//寻找MACD底背离for (i = start; i < end; i++)if (i == low_index)//找到最低点对应的MACD数值MACD_bottom = i;MACD_bottom_value = MACD[i];}if (i == high_index)//找到最高点对应的MACD数值price_bottom = i;price_bottom_value = price[i];}}//如果最低点出现在最高点之后,则没有底背离if (MACD_bottom > price_bottom)}/**阶段2:寻找MACD顶背离*/start = MAX_PRICE_DURATION + 1; end = start + MIN_PRICE_DURATION; low_index = -1;high_index = -1;min_price = price[start];max_price = price[start];for (i = start; i < end; i++)//查找最低点if (price[i] < min_price)low_index = i;min_price = price[i];}//查找最高点if (price[i] > max_price)max_price = price[i];}}//无法找到顶背离点if (low_index == -1 , high_index == -1) return 0;}MACD_top = 0;price_top = 0;//寻找MACD顶背离for (i = start; i < end; i++)if (i == low_index)//找到最低点对应的MACD数值MACD_top = i;MACD_top_value = MACD[i];}if (i == high_index)//找到最高点对应的MACD数值price_top_value = price[i];}}//如果最高点出现在最低点之后,则没有顶背离if (MACD_top > price_top)return 0;}//判断背离类型if (price_bottom_value < price_top_value && MACD_bottom_value > MACD_top_value)return 1; // 向上背离}if (price_bottom_value > price_top_value && MACD_bottom_value < MACD_top_value)return -1; // 向下背离}return 0;int mainfloat MACD[100] = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 4.0, 3.0, 2.0, 1.0};float price[100] = {1.0, 2.0, 3.0, 4.0, 3.0, 2.0, 1.0, 0.0, -1.0, -2.0};int result = CheckDivergence(MACD, price);printf("Result: %d\n", result);return 0;```该源码实现了一个简单的MACD背离自动画线指标。

通达信软件指标公式源码常用的MACD三次背离副图指标通达信源码.docx

通达信软件指标公式源码常用的MACD三次背离副图指标通达信源码.docx

常用的MACD三次背离副图指标通达信源码自己常用的MACD,严重底背离红柱子和底背离绿柱子,三次背离底部划线等, 主要看图比较清晰!DIFIF1:(EMA(CLOSE,12) - EMA(CLOSE,26))*100/EMA(CLOSE Z26); DEAEA1:EMA(DIFIF1,9);MACD1:=2*(DIFIF1-DEAEA1),STICK;MACD2:=EMA(MACD1,3);STICKLINE(MACD 1 >MACD2 AND MACD1>0,0,MACD1,3,0),COLORRED; STICKLINE(MACD 1 >MACD2 AND MACD1<O Z O,MACD1,3,0),COLORGREEN; STICKLINE(MACD1<MACD2,0,MACD1Z3,0),COLORCBCBCO;STICKLINE(MACDl>=0 OR MACDl<=O z O z O z50,l)z COLORWHITE;DIFIF1,COLOR33FF33,LINETHICK2;DEAEAl’COLORYELLOW 丄INETHICK2;MACD: MACD1,NODRAW,COLORMAGENTA;强:IF(DIFIF1>=DEAEA1,DIFIF1QRAWNULL),COLORRED 丄INETHICK2;弱:IF(DEAEA1>=DIFIF1Z DEAEA1,DRAWNULL)Z COLORFF9900,LINETHICK2; DRAWICON(CROSS(DIFIF1,DEAEA1),DIFIF1+O.l,l);DRAWICON(CROSS(DEAEA1,DIFIF1),0.4,2);Al:=BARSLAST(REF(CROSS(n MACD. DIF H z n MACD. DEA n)z 1));B1:=REF(C,A1+1)>C AND REF(H MACD.DIF,,,Al+l)<H MACD.DIF n AND CROSS(n MACD.DIF,,,n MACD.DEA n);DRAWTEXT(Bl>0z-0.8;MACD 底背'),COLORFFOOFF;A2:=BARSLAST(REF(CROSS(,,KDJ.K,,/,,KDJ.D,,)Z1));B2:=REF(C,A2+1)>C AND REF(^^KDJ.K^,,A24-1)<^^KDJ.K,, ANDCROSS(,,KDJ.K,,z,,KDJ.D n);DRAWTEXT(B2z-0.6;KDJ 底离'),COLORYELLOW;{KDJ 底背离};A3:=BARSLAST(REF(CROSS(,,RSLRSI1,,Z,,RSI.RSI2,,),1));B3:=REF(C,A3+1)>C AND REF(,,RSLRSIl,,z A3+l)<,,RSI.RSir,AND CROSS(”RSI・RSI1TRSI・RSI2J;DRAWTEXT(B3>0,-0.3z'RSI 底离'),COLORCYAN;{RSI 底背离};C1:=BARSLAST(REF(CROSS(,,MACD.DEA,,/,MACD.DIF,,),1));Dl:=REF(C,Cl+l)vC AND [^=(“1^。

MACD三背离通达信指标公式源码

MACD三背离通达信指标公式源码

MACD三背离通达信指标公式源码以下是通达信软件中MACD三背离指标的公式源码:```python#定义变量VAR1:=CLOSE-REF(CLOSE,1);VAR2:=EMA(VAR1,12);VAR3:=EMA(VAR1,26);VAR5:=(VAR2-VAR3)/VAR2*100;VAR6:=EMA(VAR5,9);VAR7:=IF(VAR5>0,VAR5,VAR6);VAR8:=EMA(VAR7,9);VAR4:=(VAR7-VAR8);#计算背离判断DIVERGENCE1:=IF(VAR5>0,IF(CROSS(VAR7,VAR8),1,-1),0);DIVERGENCE2:=IF(VAR5>0,IF(CROSS(VAR7,0),-1,IF(CROSS(VAR4,0),1,0)),0);DIVERGENCE:=IF(DIVERGENCE1==-1ORDIVERGENCE2==-1,-1,0);#输出背离信号DRAWTEXT(DIVERGENCE,'背离',60,DIVERGENCE);```该源码主要是计算MACD三背离的指标,其中包括了MACD线和信号线的计算,以及背离的判断和输出。

首先,VAR1是计算当日收盘价与前一日收盘价的差值。

VAR2和VAR3分别是VAR1的12日指数移动平均值和26日指数移动平均值。

然后,VAR5是MACD线的计算,即VAR2和VAR3的差值除以VAR2后乘以100。

接下来,VAR6是VAR5的9日指数移动平均值,并通过IF语句将VAR5和VAR6的较大值赋给VAR7,以确保VAR7始终大于零。

VAR8是VAR7的9日指数移动平均值。

最后,VAR4是VAR7和VAR8的差值,即MACD柱。

DIVERGENCE1和DIVERGENCE2分别计算第一类背离和第二类背离。

第一类背离是根据MACD线和信号线的交叉情况判断,如果MACD线由上方向下穿信号线,则为1,反之为-1、第二类背离是根据MACD柱的变化情况判断,如果MACD柱由正值变为负值,则为-1,反之如果MACD柱由负值变为正值,则为1最后,根据背离的判断结果,使用DRAWTEXT函数在图表上绘制背离信号。

MACD顶底背离通达信指标公式源码

MACD顶底背离通达信指标公式源码

MACD顶底背离通达信指标公式源码```pascal{MACD指标的顶底背离}{参数:N(计算的周期)}MA1:=MA(CLOSE,5);MA2:=MA(CLOSE,35);DIF:EMA1-EMA2;DEA:EMA(DIF,5);MACD:(DIF-DEA);TopSignal:(REF(HIGH<N,1) AND HIGH[1]>HIGH[2] ANDHIGH[1]>HIGH) AND REF(DEA,1)<0 AND DEA>0;BottomSignal:(REF(LOW<N,1) AND LOW[1]<LOW[2] AND LOW[1]<LOW) AND REF(DEA,1)>0 AND DEA<0;{ 在图表上画出TopSignal和BottomSignal的信号 }IF TopSignal THEN DRAWICON(TopSignal,'↑');IF BottomSignal THEN DRAWICON(BottomSignal,'↓');```源码的主要部分如下所示:-首先定义了两个移动平均线MA1和MA2,分别计算了收盘价的5日和35日均线。

-然后计算了MACD指标的快线(DIF)和慢线(DEA),采用了指数平滑移动平均线(EMA)的计算方法。

-最后根据顶底背离的条件判断,通过比较前一日和当前日的最高价和最低价,以及前一日和当前日的DEA值,来确定顶底背离的信号。

在图表上,通过DRAWICON函数可以绘制出顶底背离的箭头标志,上箭头表示顶背离,下箭头表示底背离。

请注意,这只是一个简化版的MACD顶底背离指标公式,具体的实现还需要根据具体的需求和市场情况进行调整和优化。

对于股票投资和分析,建议综合考虑多个指标和因素,进行综合分析和判断。

MACD顶底背离通达信指标公式源码

MACD顶底背离通达信指标公式源码

MACD顶底背离通达信指标公式源码
MACD顶底背离通达信指标公式源码
软件介绍
本公式在日线,小时线,半小时线等周期中根据MACD红柱的缩小都能及时给我们的操作做出风险提示,尤其是在短周期中提示更有效。

此公式不是万能的,还需要结合其他操盘指标才更有效。

DIF:EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:EMA(DIF,9);
MACD:(DIF-DEA)*2,COLORSTICK;
H1:=REF(MACD,1)&lt;0 AND MACD&gt;0,NODRAW;
H1T:=BARSLAST(H1)+1,NODRAW;
H2:=IF(MACD&gt;0,H1T,0),NODRAW;
H3:=HHV(MACD,H2),NODRAW;
L1:=REF(MACD,1)&gt;0 AND MACD&lt;0,NODRAW;
L1T:=BARSLAST(L1)+1,NODRAW;
HJ:=(H1T+L1T),NODRAW;
H4:=REF(H3,HJ),NODRAW;
顶背离:H3&lt;H4 AND C&gt;REF(C,HJ) AND MACD&gt;0 AND MACD&lt;REF(MACD,1),COLORGREEN,NODRAW; STICKLINE(顶背离,0,MACD,2,0),COLORGREEN;
下载地址。

MACD双背离通达信指标公式源码

MACD双背离通达信指标公式源码

macd双背离DIFF: EMA(CLOSE,12) - EMA(CLOSE,26);DEA: EMA(DIFF,9);MACD: 2*(DIFF-DEA),COLORSTICK;JC:=DEA-DIFF;绿柱面积:=IF(MACD<0,SUM(MACD,BARSLAST(JC<0)),0);红柱面积:=IF(MACD>0,SUM(MACD,BARSLAST(JC>0)),0);本次最低价:=LLV(L,BARSLAST(JC<0));本次最高价:=HHV(H,BARSLAST(JC>0));X1:=IF (MACD<0,BARSLAST(CROSS(DIFF,DEA)),0);前次绿柱面积:=REF(绿柱面积,X1+1);前次最低价:=REF(本次最低价,X1+1);Y1:=IF((绿柱面积<0 AND ABS(绿柱面积)<ABS(前次绿柱面积)AND 本次最低价<前次最低价),1,0);RS1:= MACD<0 AND REF(MACD,1)<0 AND C<前次最低价AND ABS(绿柱面积)<ABS(前次绿柱面积) AND ABS(MACD)<ABS(REF(MACD,1)); 底背驰:= IF (CROSS(DIFF,DEA),REF(Y1,1),0);DRAWTEXT(底背驰,-0.01,'积底'),COLORRED;{DRAWBAND(DIFF,RGB(200,50,55),DEA,RGB(50,100,10));}X2:=IF (MACD>0,BARSLAST(CROSS(DEA,DIFF)),0);前次红柱面积:=REF(红柱面积,X2+1);前次最高价:=REF(本次最高价,X2+1);Y2:=IF((红柱面积>0 AND 红柱面积<前次红柱面积AND 本次最高价>前次最高价),1,0); RS2:= MACD>0 AND REF(MACD,1)>0 AND C>前次最高价AND ABS(红柱面积)<ABS(前次红柱面积) AND ABS(MACD)<ABS(REF(MACD,1));顶背驰:= IF (CROSS(DEA,DIFF),REF(Y2,1),0);DRAWTEXT(顶背驰,0.01,'积顶'),COLORGREEN;A11:=BARSLAST(REF(CROSS(DIFF,DEA),1));JCCOUNT:=COUNT(CROSS(DIFF,DEA),BARSLAST(DEA>=0));底背离:=REF(CLOSE,A11+1)>CLOSE AND DIFF>REF(DIFF,A11+1) ANDCROSS(DIFF,DEA);DRAWTEXT(底背离,DEA,' 线底'),COLORRED;A22:=BARSLAST(REF(CROSS(DEA,DIFF),1));顶背离:=REF(CLOSE,A22+1)<CLOSE AND REF(DIFF,A22+1)>DIFF ANDCROSS(DEA,DIFF);DRAWTEXT(顶背离,DEA,'线顶'),COLORGREEN;A1:=DIFF<0 AND DEA<0;A2:=A1>REF(A1,1);A3:=BARSLAST(A2);。

MACD背离自动画线通达信指标公式源码

MACD背离自动画线通达信指标公式源码

DIF:MACD.DIF(12,26,9),LINETHICK2;DEA:MACD.DEA(12,26,9);MACD:(DIF-DEA)*2,COLORSTICK;DRAWICON(REF(DIF,1)>REF(DIF,2) AND DIF<REF(DIF,1) AND DIF>0 AND DIF>DEA,DIF*1.1,2),COLORGREEN;DRAWICON(CROSS(DEA,DIF) AND DIF>0,DIF,37),COLORGREEN;DRAWICON(REF(DIF,1)<REF(DIF,2) AND DIF>REF(DIF,1) AND DIF<0 AND DIF<DEA,DIF*1.1,1),COLORRED;DRAWICON(CROSS(DIF,DEA) AND DIF<0,DIF,36),COLORRED;XA_1:=MACD<0 AND MACD>REF(MACD,1) AND REF(MACD,1)<REF(MACD,2) AND REF(MACD,2)<REF(MACD,3) AND REF(MACD,3)<REF(MACD,4);STICKLINE(XA_1,0,MACD,0.3,0),COLORRED;XA_2:=MACD>0 AND MACD<REF(MACD,1) AND REF(MACD,1)>REF(MACD,2) AND REF(MACD,2)>REF(MACD,3) AND REF(MACD,3)>REF(MACD,4);STICKLINE(XA_2,0,MACD,0.3,0),COLORGREEN;XA_3:=100-100*(HHV(HIGH,34)-CLOSE)/(HHV(HIGH,34)-LLV(LOW,34))-50;XA_4:=EMA(XA_3,3);NOTEXTLU:IF(XA_4>24.99,DIF,DRAWNULL),COLORRED,LINETHICK2;NOTEXTLU2:IF(XA_4<(-40.009998),DIF,DRAWNULL),COLORGREEN,LINETHICK2; NOTEXT0:0,DOTLINE,COLORLIGRAY;XA_5:=IF(PERIOD=0,0.7,IF(PERIOD=1,1.2,IF(PERIOD=2,2,IF(PERIOD=3,2.5,IF(PERIOD =4,3,IF(PERIOD=5,5.5,IF(PERIOD=6,6,IF(PERIOD=7,7,IF(PERIOD=8,3.5,4)))))))));XA_6:=BARSLAST(CROSS(MACD,0));XA_7:=REF(XA_6,1)>0 AND XA_6=0;XA_8:=BARSLAST(XA_7);XA_9:=REF(XA_6,XA_8+1);XA_10:=HHVBARS(MACD,XA_8+XA_9);XA_11:=IF(XA_10>XA_8,REF(MACD,XA_10),0);XA_12:=IF(XA_10>XA_8,REF(HIGH,XA_10),0);XA_13:=IF(REF(HIGH,1)=HHV(HIGH,XA_8+XA_9),REF(HIGH,1),0);XA_14:=(XA_13-XA_12)/XA_12*100;XA_15:=COUNT(CROSS(0,MACD),XA_8+XA_9);XA_16:=MACD>0 AND MACD<XA_11 AND HIGH=HHV(HIGH,XA_8+XA_9) AND XA_11>0 AND XA_15=1;XA_17:=REF(XA_16,1) AND HIGH<REF(HIGH,1) AND MACD>0 AND XA_11>0;XA_18:=LLVBARS(MACD,XA_8+XA_9);XA_19:=IF(XA_18>XA_8,REF(MACD,XA_18),0);XA_20:=IF(XA_18>XA_8,REF(LOW,XA_18),0);XA_21:=IF(REF(LOW,1)=LLV(LOW,XA_8+XA_9),REF(LOW,1),0);XA_22:=(XA_20-XA_21)/XA_20*100;XA_23:=COUNT(CROSS(MACD,0),XA_8+XA_9);XA_24:=MACD<0 AND MACD>XA_19 AND LOW=LLV(LOW,XA_8+XA_9) AND XA_19<0 AND COUNT(CROSS(MACD,0),XA_8+XA_9)<=3;XA_25:=REF(XA_24,1) AND LOW>REF(LOW,1) AND MACD<0 AND XA_19<0;前高:IF(XA_17,XA_12,DRAWNULL),NODRAW,COLOR7FFF00;现高:IF(XA_17,XA_13,DRAWNULL),NODRAW,COLORGREEN;幅度_顶:IF(XA_17,XA_14,DRAWNULL),NODRAW,COLORYELLOW;原低:IF(XA_25,XA_20,DRAWNULL),NODRAW,COLORLIMAGENTA;现低:IF(XA_25,XA_21,DRAWNULL),NODRAW,COLORRED;幅度_底:IF(XA_25,XA_22,0),NODRAW,COLORYELLOW;DRAWICON(XA_25,MACD,26);DRAWICON(XA_17,MACD,27);XA_26:=BACKSET(XA_17,XA_10+1);XA_27:=BACKSET(XA_25,XA_18+1);NOTEXTMACDL:DRAWLINE(REF(XA_27,1)=0 AND XA_27=1 AND MACD<0,MACD,XA_25,MACD,0),COLORRED;NOTEXTMACDH:DRAWLINE(REF(XA_26,1)=0 AND XA_26=1 AND MACD>0,MACD,XA_17,MACD,0),COLORGREEN;涨家数:INDEXADV,NODRAW,COLORRED;跌家数:INDEXDEC,NODRAW,COLORGREEN;正量能:涨家数/(涨家数+跌家数)*100,NODRAW,COLORMAGENTA;负量能:跌家数/(涨家数+跌家数)*100,NODRAW,COLORYELLOW;。

通达信指标公式源码MACD底背离

通达信指标公式源码MACD底背离

通达信指标公式源码MACD底背离MACD(Moving Average Convergence Divergence)是一种常用的技术指标,用于衡量市场的动量和趋势。

其中,底背离是MACD指标中的一种特殊形态,它在市场底部形成,提示市场可能出现反转。

首先,我们需要了解MACD指标的计算公式。

MACD由两个指数移动平均线(EMA)的差值构成,其中包括了一个快速线(快线),一个慢速线(慢线)和一个信号线。

它们的计算公式如下:快线=12日EMA-26日EMA慢线=9日快线EMA信号线=9日慢线的EMA接下来,我们将讨论如何使用MACD指标检测底背离。

底背离是指价格形成新的低位,但MACD的低点却比前一低点高,这表明市场下跌动力减弱,可能即将反转向上。

以下是通达信公式源码实现MACD底背离的示例:```python#引入所需的库import pandas as pdimport talib#读取历史数据data = pd.read_csv('historical_data.csv') # 假设数据以csv格式保存,包含时间、开盘价、最高价、最低价、收盘价等列#计算MACD指标macd, signal, hist = talib.MACD(data['close'], fastperiod=12, slowperiod=26, signalperiod=9)#寻找底背离divergence = [] # 存储背离信号for i in range(1, len(data)):if (data['close'][i] < data['close'][i-1] and hist[i] >hist[i-1]) or (data['close'][i] > data['close'][i-1] and hist[i] < hist[i-1]):divergence.append(i)#输出背离信号print("底背离信号出现在以下日期:")for idx in divergence:print(data['date'][idx])```在上述代码中,我们首先使用pandas库读取历史数据。

常用到的背离指标通达信指标公式源码

常用到的背离指标通达信指标公式源码

结合你自己的指标抄底逃顶自由把握妖股不算中线:18.5,COLORLIRED;AA1:=BARSLAST(REF(CROSS("MACD.DIF","MACD.DEA"),1));MACD底背离:=REF(C,AA1+1)>C AND REF("MACD.DIF",AA1+1)<"MACD.DIF" AND CROSS("MACD.DIF","MACD.DEA")>0;AA2:=BARSLAST(REF(CROSS("KDJ.K","KDJ.D"),1));KDJ底背离:=REF(C,AA2+1)>C AND REF("KDJ.K",AA2+1)<"KDJ.K" ANDCROSS("KDJ.K","KDJ.D");AA3:=BARSLAST(REF(CROSS("RSI.RSI1","RSI.RSI2"),1));RSI底背离:=REF(C,AA3+1)>C AND REF("RSI.RSI1",AA3+1)<"RSI.RSI1" AND CROSS("RSI.RSI1","RSI.RSI2")>0;AA4:=BARSLAST(REF(CROSS("BIAS.BIAS1","BIAS.BIAS2"),1));BIAS底背离:=REF(C,AA4+1)>C AND REF("BIAS.BIAS1",AA4+1)<"BIAS.BIAS1" AND CROSS("BIAS.BIAS1","BIAS.BIAS2")>0;CC1:=BARSLAST(REF(CROSS("MACD.DEA","MACD.DIF"),1));MACD顶背离:=REF(C,CC1+1)<C AND REF("MACD.DIF",CC1+1)>"MACD.DIF" AND CROSS("MACD.DEA","MACD.DIF")>0;CC2:=BARSLAST(REF(CROSS("KDJ.D","KDJ.K"),1));KDJ顶背离:=REF(C,CC2+1)<C AND REF("KDJ.K",CC2+1)>"KDJ.K" ANDCROSS("KDJ.D","KDJ.K")>0;CC3:=BARSLAST(REF(CROSS("RSI.RSI2","RSI.RSI1"),1));RSI顶背离:=REF(C,CC3+1)<C AND REF("RSI.RSI1",CC3+1)>"RSI.RSI1" AND CROSS("RSI.RSI2","RSI.RSI1")>0;CC4:=BARSLAST(REF(CROSS("BIAS.BIAS2","BIAS.BIAS1"),1));BIAS顶背离:=REF(C,CC4+1)<C AND REF("BIAS.BIAS1",CC4+1)>"BIAS.BIAS1" AND CROSS("BIAS.BIAS2","BIAS.BIAS1")>0;{CCI}N:=60;DD:=C=LLV(C,N);{60日最低点}DDSJ:=BARSLAST(REF(DD,1));{上一低点时间}DDGJ:=REF(CLOSE,DDSJ+1)>CLOSE;{股价趋势}GD:=C=HHV(C,N);{60日最高点}GDSJ:=BARSLAST(REF(GD,1));{上一高点时间}GDGJ:=REF(CLOSE,GDSJ+1)<CLOSE;{股价趋势}TYP:=(HIGH + LOW + CLOSE)/3;CCI:=(TYP-MA(TYP,N))/(0.015*AVEDEV(TYP,N));CDZB:=REF(CCI,DDSJ+1)<CCI;{CCI指标趋势}CCI底背离:=DDGJ AND CDZB;CGZB:=REF(CCI,GDSJ+1)>CCI;CCI顶背离:=GDGJ AND CGZB;K值:="KDJ.K";KDZB:=REF(K值,DDSJ+1)<K值;{KDJ.K指标趋势}K底背离:=DDGJ AND KDZB{ AND K超卖};KGZB:=REF(K值,GDSJ+1)>K值;K顶背离:=GDGJ AND KGZB;MACD:="MACD.MACD";MDZB:=REF(MACD,DDSJ+1)<MACD;{MACD指标趋势}M底背离:=DDGJ AND MDZB;MGZB:=REF(MACD,GDSJ+1)>MACD;M顶背离:=GDGJ AND MGZB;RSI:="RSI.RSI1";RDZB:=REF(RSI,DDSJ+1)<RSI;{RSI指标趋势}R底背离:=DDGJ AND RDZB;RGZB:=REF(RSI,GDSJ+1)>RSI;R顶背离:=GDGJ AND RGZB;BIAS:="BIAS.BIAS1";BDZB:=REF(BIAS,DDSJ+1)<BIAS;{BIAS指标趋势}B底背离:=DDGJ AND BDZB;BGZB:=REF(BIAS,GDSJ+1)>BIAS;B顶背离:=GDGJ AND BGZB;DRAWTEXT(ISLASTBAR,19,' CCI底背离'),LINETHICK2,COLORGREEN;DRAWTEXT(CCI底背离,IF(ISLASTBAR,19,19),'I'),LINETHICK2,COLORGREEN; DRAWTEXT(ISLASTBAR,16,' RSI底背离'),LINETHICK2,COLORWHITE; DRAWTEXT(R底背离,IF(ISLASTBAR,16,16),'I'),LINETHICK2,COLORWHITE; DRAWTEXT(RSI底背离,IF(ISLASTBAR,16,16),'-'),LINETHICK2,COLORWHITE; DRAWTEXT(ISLASTBAR,13,' MACD底背离'),LINETHICK2,COLORMAGENTA; DRAWTEXT(M底背离,IF(ISLASTBAR,13,13),'I'),LINETHICK2,COLORMAGENTA; DRAWTEXT(MACD底背离,IF(ISLASTBAR,13,13),'-'),LINETHICK2,COLORMAGENTA; DRAWTEXT(ISLASTBAR,10,' KDJ底背离'),LINETHICK2,COLORRED; DRAWTEXT(K底背离,IF(ISLASTBAR,10,10),'I'),LINETHICK2,COLORRED; DRAWTEXT(KDJ底背离,IF(ISLASTBAR,10,10),'-'),LINETHICK2,COLORRED; DRAWTEXT(ISLASTBAR,7,' BIAS底背离'),LINETHICK2,COLORYELLOW; DRAWTEXT(B底背离,IF(ISLASTBAR,7,7),'I'),LINETHICK2,COLORYELLOW; DRAWTEXT(BIAS底背离,IF(ISLASTBAR,7,7),'-'),LINETHICK2,COLORYELLOW; DRAWTEXT(ISLASTBAR,4,' BIAS底背离'),LINETHICK2,COLORYELLOW; DRAWTEXT(ISLASTBAR,34,' BIAS顶背离'),LINETHICK2,COLORYELLOW; DRAWTEXT(B顶背离,IF(ISLASTBAR,34,34),'I'),LINETHICK2,COLORYELLOW; DRAWTEXT(BIAS顶背离,IF(ISLASTBAR,34,34),'-'),LINETHICK2,COLORYELLOW; DRAWTEXT(ISLASTBAR,31,' KDJ顶背离'),LINETHICK2,COLORRED; DRAWTEXT(K顶背离,IF(ISLASTBAR,31,31),'I'),LINETHICK2,COLORRED; DRAWTEXT(KDJ顶背离,IF(ISLASTBAR,31,31),'-'),LINETHICK2,COLORRED; DRAWTEXT(ISLASTBAR,28,' MACD顶背离'),LINETHICK2,COLORMAGENTA; DRAWTEXT(M顶背离,(ISLASTBAR,28,28),'I'),LINETHICK2,COLORMAGENTA; DRAWTEXT(MACD顶背离,(ISLASTBAR,28,28),'-'),LINETHICK2,COLORMAGENTA; DRAWTEXT(ISLASTBAR,25,' RSI顶背离'),LINETHICK2,COLORWHITE; DRAWTEXT(R顶背离,(ISLASTBAR,25,25),'I'),LINETHICK2,COLORWHITE; DRAWTEXT(RSI顶背离,(ISLASTBAR,25,25),'-'),LINETHICK2,COLORWHITE; DRAWTEXT(ISLASTBAR,22,' CCI顶背离'),LINETHICK2,COLORGREEN; DRAWTEXT(CCI顶背离,(ISLASTBAR,22,22),'I'),LINETHICK2,COLORGREEN;{超买超卖}K超买:="KDJ.K">=80 OR "KDJ.D">=80 OR "KDJ.J">=100;K超卖:="KDJ.K"<=20 OR "KDJ.D"<=30 OR "KDJ.J"<0;{RSI:="RSI.RSI1"; }R超买:=RSI>=80;R超卖:=RSI<=20;C超买:="I">=100;C超卖:="I"<=-100;{BIAS:="BIAS.BIAS1";}B超买:="BIAS.BIAS1">3.5 OR "BIAS.BIAS2">5;B超卖:="BIAS.BIAS1"<-3 OR "BIAS.BIAS2"<-4;{超卖超买显示}{DRAWTEXT(B超买,IF(ISLASTBAR,34,34),'○'),LINETHICK2,COLORYELLOW; DRAWTEXT(K超买,IF(ISLASTBAR,31,31),'○'),LINETHICK2,COLORRED; DRAWTEXT(R超买,(ISLASTBAR,25,25),'○'),LINETHICK2,COLORWHITE; DRAWTEXT(C超买,(ISLASTBAR,22,22),'○'),LINETHICK2,COLORGREEN;} {DRAWTEXT(C超卖,IF(ISLASTBAR,19,19),'○'),LINETHICK2,COLORGREEN; DRAWTEXT(R超卖,IF(ISLASTBAR,16,16),'○'),LINETHICK2,COLORWHITE; DRAWTEXT(K超卖,IF(ISLASTBAR,10,10),'○'),LINETHICK2,COLORRED; DRAWTEXT(B超卖,IF(ISLASTBAR,7,7),'○'),LINETHICK2,COLORYELLOW;} {BAIS买入}BIAS5:=(C-MA(C,6))/MA(C,6)*100;BIAS6:=(C-MA(C,12))/MA(C,12)*100;BIAS7:=(C-MA(C,24))/MA(C,24)*100;BIAS8:=(BIAS5+2*BIAS6+3*BIAS7)/6;乖离:=MA(BIAS8,6);STICKLINE(CROSS(BIAS8,乖离) AND 乖离<-9,18,20,1,0),COLORRED;超卖O背离I:1,NODRAW,COLORWHITE;顶背比底背更准:1,NODRAW,COLORGREEN;红方点BIAS买点:1,NODRAW,COLORRED;。

通达信指标公式源码 顶底背离MACD副图指标

通达信指标公式源码 顶底背离MACD副图指标

VAR1:=EMA(SLOPE(C,21)+C,55);VAR2:=EMA(SLOPE(O,21)+O,55);VAR3:=EMA(SLOPE(H,21)+H,55);VAR4:=EMA(SLOPE(L,21)+L,55);VAR5:=EMA(C,3);VAR6:=EMA(O,3);VAR7:=EMA(H,3);VAR8:=EMA(L,3);VAR9:=VAR1-VAR5,LINETHICK2;VAR10:=VAR2-VAR6,LINETHICK2;VAR11:=VAR3-VAR7,LINETHICK2;VAR12:=VAR4-VAR8,LINETHICK2;ZJC:=REVERSE(VAR9);ZJO:=REVERSE(VAR10);ZJH:=REVERSE(VAR11);ZJL:=REVERSE(VAR12);DIF:EMA(ZJC*5,12)-EMA(ZJC*5,26);DEA:EMA(DIF,9);MACD:(DIF-DEA)*2,COLORSTICK;STICKLINE(MACD>REF(MACD,1) AND MACD>0,0,MACD,0,0),COLORRED; STICKLINE(MACD<REF(MACD,1) AND MACD>0,0,MACD,0,0),COLORMAGENTA;STICKLINE(MACD>REF(MACD,1) AND MACD<0,0,MACD,0,0),COLORYELLOW;STICKLINE(MACD<REF(MACD,1) AND MACD<0,0,MACD,0,0),COLORLIGREEN; STICKLINE(ZJC> ZJO,ZJH,ZJL,0.0,0),COLORFF66FF;STICKLINE(ZJC> ZJO,ZJC,ZJO,2.1,0),COLORAA00AA;STICKLINE(ZJC> ZJO,ZJC,ZJO,1.9,0),COLORCC11CC;STICKLINE(ZJC> ZJO,ZJC,ZJO,1.6,0),COLORFF22FF;STICKLINE(ZJC> ZJO,ZJC,ZJO,1.2,0),COLORFF44FF;STICKLINE(ZJC> ZJO,ZJC,ZJO,0.7,0),COLORFF66FF;STICKLINE(ZJC> ZJO,ZJC,ZJO,0.2,0),COLORFF99FF;STICKLINE(ZJC<=ZJO,ZJL,ZJC,0.0,0),COLORGREEN;STICKLINE(ZJC<=ZJO,ZJO,ZJC,2.1,0),COLOR005500;STICKLINE(ZJC<=ZJO,ZJO,ZJC,1.9,0),COLOR007700;STICKLINE(ZJC<=ZJO,ZJO,ZJC,1.6,0),COLOR009900;STICKLINE(ZJC<=ZJO,ZJO,ZJC,1.2,0),COLOR00BB00;STICKLINE(ZJC<=ZJO,ZJO,ZJC,0.7,0),COLOR00DD00;STICKLINE(ZJC<=ZJO,ZJO,ZJC,0.2,0),COLOR44FF00;ZTB:=(C-REF(C,1))/REF(C,1)*100>9.9;DRAWTEXT(ZTB,IF(ZJC<0,ZJC*0.9,ZJC*1.1),'涨停板')COLORYELLOW; STICKLINE(ZTB,ZJC,ZJO,2.1,0),COLOR006666;STICKLINE(ZTB,ZJC,ZJO,1.9,0),COLOR008888;STICKLINE(ZTB,ZJC,ZJO,1.6,0),COLOR00AAAA;STICKLINE(ZTB,ZJC,ZJO,1.2,0),COLOR00CCCC;STICKLINE(ZTB,ZJC,ZJO,0.7,0),COLOR00EEEE;STICKLINE(ZTB,ZJC,ZJO,0.2,0),COLOR33FFFF;DTB:=(C-REF(C,1))/REF(C,1)*100<-9.9;DRAWTEXT(DTB,IF(ZJC>0,ZJC*0.9,ZJC*1.1),'跌停板')COLORFF8800; STICKLINE(DTB,ZJO,ZJC,2.1,0),COLORFF0000;{蓝色}STICKLINE(DTB,ZJO,ZJC,1.9,0),COLORFF2200;STICKLINE(DTB,ZJO,ZJC,1.6,0),COLORFF4400;STICKLINE(DTB,ZJO,ZJC,1.2,0),COLORFF6600;STICKLINE(DTB,ZJO,ZJC,0.7,0),COLORFF8800;STICKLINE(DTB,ZJO,ZJC,0.2,0),COLORFFAA00;。

MACD背离自动画线通达信指标公式源码

MACD背离自动画线通达信指标公式源码

MACD背离自动画线通达信指标公式源码通达信(MetaStock)是一种常用的股票分析软件,提供了丰富的指标库。

在通达信中编写指标公式可以使用通达信自带的公式语言-支持C语言语法。

为了实现MACD背离自动画线指标,我们首先要计算MACD指标的数值,并判断是否出现背离。

接下来,我们可以使用通达信的画线函数实现在背离点位置上自动画线。

下面是该指标的示例源码:```javascript/*时间:2024-01-01*/#include "stdio.h"#include "stdlib.h"#include "string.h"#include "windows.h"/*定义MACD指标相应变量*/double EMA_SHORT;double EMA_LONG;double DIFF;double DEA;double MACD;/*初始化操作,在指标开始计算之前调用*/void InitEMA_SHORT=0;EMA_LONG=0;DIFF=0;DEA=0;MACD=0;/*计算MACD指标的数值*/void CalculateMACD(double close[], int n, int shortPeriod, int longPeriod, int signalPeriod)double EMA_SHORT_SMOOTH = 2.0 / (shortPeriod + 1);double EMA_LONG_SMOOTH = 2.0 / (longPeriod + 1);//计算短期EMAdouble emaShortPrev = close[0];for (int i = 0; i < shortPeriod; i++)emaShortPrev = emaShortPrev * (1 - EMA_SHORT_SMOOTH) +close[i] * EMA_SHORT_SMOOTH;}//计算长期EMAdouble emaLongPrev = close[0];for (int i = 0; i < longPeriod; i++)emaLongPrev = emaLongPrev * (1 - EMA_LONG_SMOOTH) + close[i] * EMA_LONG_SMOOTH;}//计算DIFF和DEADIFF = emaShortPrev - emaLongPrev;DEA=0;double DEA_SMOOTH = 2.0 / (signalPeriod + 1);for (int i = 0; i < signalPeriod; i++)DEA=DEA*(1-DEA_SMOOTH)+DIFF*DEA_SMOOTH;}//计算MACDMACD=(DIFF-DEA)*2;/*判断是否出现背离*/int IsDivergence(double close[], int n, int direction)for (int i = 2; i < n; i++)double prevClose1 = close[i - 2];double prevClose2 = close[i - 1];double currentClose = close[i];if (direction == 1) // 上涨背离:前两个低点价格下降,当前高点价格上升if (prevClose1 > prevClose2 && prevClose2 > currentClose) return i;}}else if (direction == -1) // 下跌背离:前两个高点价格上升,当前低点价格下降if (prevClose1 < prevClose2 && prevClose2 < currentClose)return i;}}}return -1;/*自动画线函数,在背离位置上自动画线*/void AutoDrawLine(int barIndex, int direction)//自动画线的相关处理,这里仅做示例printf("在第 %d 根K线上画上涨背离线。

MACD柱线均势和背离通达信指标公式源码

MACD柱线均势和背离通达信指标公式源码

MACD柱线均势和背离通达信指标公式源码1)MACD柱线均势公式:MAVL:MA(CLOSE,VOL);//计算成交量的均值,VOL表示成交量REFMAVL:REF(MAVL,1);//取上一周期的成交量均值DIFF:EMA(CLOSE,12)-EMA(CLOSE,26);//计算DIFFDEA:EMA(DIFF,9);//计算DEAMACD:(DIFF-DEA)*2;//计算MACDCROSS(DIFF,0)ANDCROSS(DEA,0)ANDCROSS(MACD,0)ANDREF(MACD,1)<0 ANDMACD>=0;//当MACD柱线向上穿过0轴,且DIFF、DEA均为正值,且上一周期的MACD值小于0时,产生买入信号CROSS(0,DIFF)ANDCROSS(0,DEA)ANDCROSS(0,MACD)ANDREF(MACD,1)>0 ANDMACD<=0;//当MACD柱线向下穿过0轴,且DIFF、DEA均为负值,且上一周期的MACD值大于0时,产生卖出信号2)MACD柱线背离公式:RELDIFF(REF(DIFF,1),DIFF,REF(CLOSE,1),CLOSE)-RELDIFF(REF(DIFF,1),DIFF,REFMAVL,MAVL)>0;//判断DIFF和股价或成交量的背离情况(即趋势不一致),并且上一周期的DIFF和股价或成交量的背离情况为负值时,产生卖出信号RELDIFF(REF(DIFF,1),DIFF,REF(CLOSE,1),CLOSE)-RELDIFF(REF(DIFF,1),DIFF,REFMAVL,MAVL)<0;//判断DIFF和股价或成交量的背离情况(即趋势不一致),并且上一周期的DIFF和股价或成交量的背离情况为正值时,产生买入信号以上代码是MACD柱线均势和背离的通达信指标公式源码。

其中,DIFF表示快线指标,DEA表示慢线指标,MACD表示柱线,MAVL表示成交量均值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

{MACD背离指标}
DIFF: EMA(CLOSE,12) - EMA(CLOSE,26),COLORWHITE;
DEA: EMA(DIFF,9),COLORYELLOW;
MACD: 2*(DIFF-DEA), COLORSTICK;
STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,0,0),COLORYELLOW; STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,0,0),COLORGREEN;
低位金叉:=CROSS(DIFF,DEA) AND DIFF<-0.1;
STICKLINE(低位金叉,0,0.08,6,0),COLORYELLOW;
DRAWTEXT(低位金叉,0.16,' 低金叉'),COLORWHITE;
JCCOUNT:=COUNT(CROSS(DIFF,DEA),BARSLAST(DEA>=0));
二次金叉:=CROSS(DIFF,DEA) AND DEA<0 AND COUNT(JCCOUNT=2,21)=1; STICKLINE(二次金叉,0,0.06,6,0),COLORFF00FF;
DRAWICON(二次金叉,DEA*0.9,1) ;
DRAWTEXT(二次金叉,0.2,' 二次金叉'),COLORYELLOW;
A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));
底背离:=REF(CLOSE,A1+1)>CLOSE AND DIFF>REF(DIFF,A1+1) AND CROSS(DIFF,DEA); STICKLINE(底背离,0,0.03,6,0),COLOR00FF00;
底背:DRAWLINE(A1=0,DEA,底背离,DEA,0),COLORRED,LINETHICK4;
DRAWTEXT(底背离,0.12,' 底背离'),COLORFF00FF;
A2:=BARSLAST(REF(CROSS(DEA,DIFF),1));
顶背离:=REF(CLOSE,A2+1)<CLOSE AND REF(DIFF,A2+1)>DIFF AND CROSS(DEA,DIFF); 顶背:DRAWLINE(A2=0,DEA,顶背离,DEA,0),COLORGREEN,LINETHICK4;
DRAWTEXT(低位金叉AND 二次金叉AND 底背离,0.25,'三全项'),COLOR0000FF,LINETHICK2;
IF(DIFF<0,DIFF,0),COLORRED,LINETHICK1;
IF(DIFF<0,0,DIFF),COLORRED,LINETHICK1;
IF(DIFF<DEA,DIFF,DEA),COLOR00FF00,LINETHICK1;
IF(DIFF>DEA,DEA,DEA),COLORWHITE,LINETHICK1;
金叉:CROSS(DIFF,DEA) AND DIFF<0.3;。

相关文档
最新文档