您现在的位置:程序化交易>> 股票公式>> 大智慧>> 大智慧公式>>正文内容

资金主图指标 公式 源码[大智慧公式]

指标公式源码分析及使用说明:

 分析总结与指标创建思路
 
 1. 绘制背景
背景绘制指标通过条件判断和颜色填充实现图表背景的动态变化。具体思路包括:
 
- 条件判断:通过条件`v>1`,决定是否绘制背景。
- 背景填充:使用`STRIP`函数指定不同RGB颜色的条纹样式。
 
 2. 帐户总数和户均持股
账户统计指标用于计算并显示账户总数和户均持股量。具体思路包括:
 
- 外部数据提取:使用`extradata`函数获取小股民线的数据。
- 财务数据计算:利用`FINANCE2`函数和账户总数计算户均持股量。
- 文本显示:使用`DRAWTEXTREL`函数在图表上显示账户总数和户均持股量。
 
 3. 我赢龙头
动能指标通过移动平均线和平滑处理来分析价格动向。具体思路包括:
 
- 移动平均线:计算当前价格的持续移动平均值。
- 平滑处理:多次平滑处理得到更稳定的动能线。
- 填充区域:用颜色区分动能线上下的区域。
 
 4. 高点和低点
高低点标识指标用于标识价格的近期高点和低点。具体思路包括:
 
- 高点检测:通过最高值函数`HHV`和时间序列函数`BARSLAST`标记价格的高点。
- 低点检测:通过最低值函数`LLV`和时间序列函数`BARSLAST`标记价格的低点。
- 突破信号:判断价格是否突破高低点,并进行标识。
 
 5. K线颜色填充
K线填充指标通过不同颜色填充K线柱体,区分开盘价与收盘价的涨跌情况。具体思路包括:
 
- 条件判断:根据开盘价与收盘价的关系,决定填充颜色。
- 颜色填充:使用`STICKLINE`函数设置不同颜色的K线。
 
 具体指标使用参考说明
 
 1. 绘制背景
 
```plaintext
DRAWGBKLAST(v>1,STRIP(RGB(0,150,130),RGB(0,0,0),1));
```
使用方法:
- 当变量`v`大于1时,绘制背景条纹;
- 条纹颜色为绿色(RGB(0,150,130))和黑色(RGB(0,0,0))交替。
 
 2. 帐户总数和户均持股
 
```plaintext
帐户总数:extradata('小股民线'),linethick0,PRECIS0;
户均持股:=(FINANCE2(37)/帐户总数)10000;
ZH3:=ref(帐户总数,3);
HJ3:=ref(户均持股,3);
DRAWTEXTREL(5,13,'帐户总数(户):'+NUMTOSTRN(帐户总数,0)),Color0000FF;
DRAWTEXTREL(170,13,'户均持股(股):'+NUMTOSTRN(户均持股,0)),Color0000FF;
```
使用方法:
- 提取小股民线的数据作为账户总数;
- 使用`FINANCE2`函数计算户均持股量;
- 将结果通过`DRAWTEXTREL`函数显示在图表上。
 
 3. 我赢龙头
 
```plaintext
我:=MA(CLOSE,1);
赢:=SMA(SMA(SMA(我,2,1),2,1),2,1);
龙:=MA(赢,3);
FILLRGN(赢,龙,赢>=龙),Color0000FF;
FILLRGN(赢,龙,赢<龙),Color008000;
我赢龙头:=(LOW+HIGH+C4)/6;
```
使用方法:
- 计算价格的移动平均线;
- 通过多次平滑处理得到动能线;
- 用颜色区分动能线上下的区域(蓝色和绿色)。
 
 4. 高点和低点
 
```plaintext
BDGD:=C=HHV(CLOSE,13);
GDSJ:=BARSLAST(FILTER(CROSS(0.8,BDGD),2))+1;
高点:REF(CLOSE,GDSJ),COLOR00FF00,POINTDOT,LINETHICK1;
突破:CROSS(CLOSE,REF(高点,1)),COLOR00FFFF,POINTDOT,LINETHICK0;
STICKLINE(GDSJ<=6,高点,高点,8,0),COLORFF00FF;
BDDD:=C=LLV(CLOSE,13);
DDSJ:=BARSLAST(FILTER(CROSS(0.8,BDDD),2))+1;
低点:REF(CLOSE,DDSJ),COLOR00FFFF,POINTDOT,LINETHICK1;
STICKLINE(DDSJ<=6,低点,低点,8,0),COLOR00FF00;
```
使用方法:
- 标记价格的13日高点和低点;
- 标记突破高点和低点的点;
- 在图表上用不同颜色标识高点(绿色)和低点(青色)。
 
 5. K线颜色填充
 
```plaintext
N:=20;
STICKLINE(O>=C ,C ,O,8,0 ),COLOR008800;
STICKLINE(O>=C ,C ,O,5,0 ),COLOR00aa00;
STICKLINE(O>=C ,C ,O,3,0 ),COLOR00cc00;
STICKLINE(O>=C ,C ,O,1,0 ),COLOR00ee00;
STICKLINE(C>O,C,O,8,0),COLOR000088;
STICKLINE(C>O,C,O,5,0) ,COLOR0000aa;
STICKLINE(C>O,C,O,3,0),COLOR0000cc;
STICKLINE(C>O,C,O,1,0),COLOR0000ee;
```
使用方法:
- 根据开盘价与收盘价的关系,决定K线的颜色;
- 涨时(收盘高于开盘)使用蓝色系,跌时(收盘低于开盘)使用绿色系;
- 不同颜色深浅区分柱体宽度,增强视觉效果。
 
 结论
上述指标提供了多种技术分析工具,从背景绘制、账户统计、动能判断到高低点标识和K线填充,共同构成了一个全面的技术分析系统。建议在实际使用前,结合市场环境和个股特性进行回测和优化。

 

源码:

DRAWGBKLAST(v>1,STRIP(RGB(0,150,130),RGB(0,0,0),1));
帐户总数:extradata('小股民线'),linethick0,PRECIS0;
户均持股:=(FINANCE2(37)/帐户总数)*10000;
ZH3:=ref(帐户总数,3);
HJ3:=ref(户均持股,3);
DRAWTEXTREL(5,13,'帐户总数(户):'+NUMTOSTRN(帐户总数,0)),Color0000FF;
DRAWTEXTREL(170,13,'户均持股(股):'+NUMTOSTRN(户均持股,0)),Color0000FF;
{我赢}
我:=MA(C,1);
赢:=SMA(SMA(SMA(我,2,1),2,1),2,1);
龙:=MA(赢,3);
FILLRGN(赢,龙,赢>=龙),Color0000FF;
FILLRGN(赢,龙,赢<龙),Color008000;
我赢龙头:=(L+H+C*4)/6;
{立桩}
BDGD:=C=HHV(C,13);
GDSJ:=BARSLAST(FILTER(CROSS(0.8,BDGD),2))+1;
高点:REF(C,GDSJ),COLOR00FF00,POINTDOT,LINETHICK1;
突破:CROSS(C,REF(高点,1)),COLOR00FFFF,POINTDOT,LINETHICK0;
STICKLINE(GDSJ<=6,高点,高点,8,0),COLORFF00FF;
BDDD:=C=LLV(C,13);
DDSJ:=BARSLAST(FILTER(CROSS(0.8,BDDD),2))+1;
低点:REF(C,DDSJ),COLOR00FFFF,POINTDOT,LINETHICK1;
STICKLINE(DDSJ<=6,低点,低点,8,0),COLOR00FF00;
{填充}
N:=20;
STICKLINE(OPEN>=CLOSE ,CLOSE ,OPEN,8,0 ),COLOR008800;
STICKLINE(OPEN>=CLOSE ,CLOSE ,OPEN,5,0 ),COLOR00aa00;
STICKLINE(OPEN>=CLOSE ,CLOSE ,OPEN,3,0 ),COLOR00cc00;
STICKLINE(OPEN>=CLOSE ,CLOSE ,OPEN,1,0 ),COLOR00ee00;
STICKLINE(CLOSE>OPEN,CLOSE,OPEN,8,0),COLOR000088;
STICKLINE(CLOSE>OPEN,CLOSE,OPEN,5,0) ,COLOR0000aa;
STICKLINE(CLOSE>OPEN,CLOSE,OPEN,3,0),COLOR0000cc;
STICKLINE(CLOSE>OPEN,CLOSE,OPEN,1,0),COLOR0000ee;
aa:=(ref(close,1)+ref(close,2)+open)/3;

{资金}
TODAY:=DYNAINFO(7)=CLOSE and (ORDER(1)=0 and ORDER(2)=0);{判断是否有数据}
{TODAY:="ddx.ddx"=0;}{判断是否有正版数据}
Ddmr:=IF(TODAY,("DDEDATA@BIGORDER"(1,2)-"DDEDATA@BIGORDER"(2,2)),(bigorder(1,2)-bigorder(2,2)))*vol/capital*100;
Ddmrs:=sum(Ddmr,0);
Chb:=IF(TODAY,"DDEDATA@BIGORDER"(1,3),bigorder(1,3))*AMOUNT;
Dhb:=IF(TODAY,("DDEDATA@BIGORDER"(1,2)-"DDEDATA@BIGORDER"(1,3)),(bigorder(1,2)-bigorder(1,3)))*AMOUNT;
Zhb:=IF(TODAY,("DDEDATA@BIGORDER"(1,1)-"DDEDATA@BIGORDER"(1,2)),(bigorder(1,1)-bigorder(1,2)))*AMOUNT;
Xhb:=IF(TODAY,(1-"DDEDATA@BIGORDER"(1,1)),(1-bigorder(1,1)))*AMOUNT;
Chs:=IF(TODAY,"DDEDATA@BIGORDER"(2,3),bigorder(2,3))*AMOUNT;
Dhs:=IF(TODAY,("DDEDATA@BIGORDER"(2,2)-"DDEDATA@BIGORDER"(2,3)),(bigorder(2,2)-bigorder(2,3)))*AMOUNT;
Zhs:=IF(TODAY,("DDEDATA@BIGORDER"(2,1)-"DDEDATA@BIGORDER"(2,2)),(bigorder(2,1)-bigorder(2,2)))*AMOUNT;
Xhs:=IF(TODAY,(1-"DDEDATA@BIGORDER"(2,1)),(1-bigorder(2,1)))*AMOUNT;
散资:=(xhb-xhs)/10000;
中资:=(zhb-zhs)/10000;
大资:=(dhb-dhs)/10000;
超资:=(chb-chs)/10000;
超资增仓:=超资;
大资增仓:=大资;
中资增仓:=中资;
散资增仓:=散资;
BBD净额:=(超资+大资);
DRAWTEXTREL(5,85,'BBD (万):'+NUMTOSTRN(BBD净额,0)),LINETHICK1,Color0080FF;
DRAWTEXTREL(5,155,'超资(万):'+NUMTOSTRN(超资增仓,0)),LINETHICK1,COLORYELLOW;
DRAWTEXTREL(5,225,'大资(万):'+NUMTOSTRN(大资增仓,0)),LINETHICK1,Color62FFFF;
DRAWTEXTREL(5,295,'中资(万):'+NUMTOSTRN(中资增仓,0)),LINETHICK1,ColorACFFFF;
DRAWTEXTREL(5,365,'散资(万):'+NUMTOSTRN(散资增仓,0)),LINETHICK1,ColorFFFFFF;

DRAWRECTABS(0,118,270,0,1),COLOR00FF00;
zln:=REF(IF(TODAY,IF(TODAY,"DDEDATA@BIGORDER"(1,2),SELFDATA('特大买入')+SELFDATA('大单买入')),bigorder(1,2)),0);
zlm:=REF(IF(TODAY,IF(TODAY,"DDEDATA@BIGORDER"(2,2),SELFDATA('特大卖出')+SELFDATA('大单卖出')),bigorder(2,2)),0);
tdn:=REF(IF(TODAY,IF(TODAY,"DDEDATA@BIGORDER"(1,3),SELFDATA('特大买入')),bigorder(1,3)),0);
tdm:=REF(IF(TODAY,IF(TODAY,"DDEDATA@BIGORDER"(2,3),SELFDATA('特大卖出')),bigorder(2,3)),0);
ddn:=REF(IF(TODAY,IF(TODAY,("DDEDATA@BIGORDER"(1,2)-"DDEDATA@BIGORDER"(1,3)),SELFDATA('大单买入')),(bigorder(1,2)-bigorder(1,3))),0);
ddm:=REF(IF(TODAY,IF(TODAY,("DDEDATA@BIGORDER"(2,2)-"DDEDATA@BIGORDER"(2,3)),SELFDATA('大单卖出')),(bigorder(2,2)-bigorder(2,3))),0);
zdn:=REF(IF(TODAY,IF(TODAY,("DDEDATA@BIGORDER"(1,1)-"DDEDATA@BIGORDER"(1,2)),SELFDATA('中单买入')),(bigorder(1,1)-bigorder(1,2))),0);
zdm:=REF(IF(TODAY,IF(TODAY,("DDEDATA@BIGORDER"(2,1)-"DDEDATA@BIGORDER"(2,2)),SELFDATA('中单卖出')),(bigorder(2,1)-bigorder(2,2))),0);
sdn:=REF(IF(TODAY,IF(TODAY,1-("DDEDATA@BIGORDER"(1,1)),1-(SELFDATA('特大买入')+SELFDATA('大单买入')+SELFDATA('中单买入'))),1-(bigorder(1,1))),0);
sdm:=REF(IF(TODAY,IF(TODAY,1-("DDEDATA@BIGORDER"(2,1)),1-(SELFDATA('特大卖出')+SELFDATA('大单卖出')+SELFDATA('中单卖出'))),1-(bigorder(2,1))),0);
tdj:=tdn-tdm;
ddj:=ddn-ddm;
zdj:=zdn-zdm;
sdj:=sdn-sdm;
zlj:=zln-zlm;
DRAWTEXTREL(140,85,'占'+numtostrn(((zlj))*100,1)+'%'),Color0080FF;
DRAWTEXTREL(140,155,'占'+numtostrn((tdj)*100,1)+'%'),COLORYELLOW;
DRAWTEXTREL(140,225,'占'+numtostrn((ddj)*100,1)+'%'),Color62FFFF;
DRAWTEXTREL(140,295,'占'+numtostrn((zdj)*100,1)+'%'),ColorACFFFF;
DRAWTEXTREL(140,365,'占'+numtostrn((sdj)*100,1)+'%'),ColorFFFFFF;
DRAWTEXTREL(200,85,numtostrn(((zlj))*V,0)+'手'),Color0080FF;
DRAWTEXTREL(200,155,numtostrn((tdj)*V,0)+'手'),COLORYELLOW;
DRAWTEXTREL(200,225,numtostrn((ddj)*V,0)+'手'),Color62FFFF;
DRAWTEXTREL(200,295,numtostrn((zdj)*V,0)+'手'),ColorACFFFF;
DRAWTEXTREL(200,365,numtostrn((sdj)*V,0)+'手'),ColorFFFFFF;
DRAWTEXTREL(280,85,'仓 '+NUMTOSTRN(50+Sum((VOL/CAPITAL)*100*((zlj)),0),1)+'%'),Color0080FF;
DRAWTEXTREL(280,155,'仓 '+NUMTOSTRN(25+Sum((VOL/CAPITAL)*100*(tdj),0),1)+'%'),COLORYELLOW;
DRAWTEXTREL(280,225,'仓 '+NUMTOSTRN(25+Sum((VOL/CAPITAL)*100*(ddj),0),1)+'%'),Color62FFFF;
DRAWTEXTREL(280,295,'仓 '+NUMTOSTRN(25+Sum((VOL/CAPITAL)*100*(zdj),0),1)+'%'),ColorACFFFF;
DRAWTEXTREL(280,365,'仓 '+NUMTOSTRN(25+Sum((VOL/CAPITAL)*100*(sdj),0),1)+'%'),ColorFFFFFF;{程序化交易 www.cxh99.com }

 

公式导入教程: 【通达信公式源码导入方法教程】 【同花顺公式源码导入方法教程】 【大智慧新一代公式源码导入方法教程

 

 

有思路,想编写各种指标公式,交易模型,选股公式,还原公式的朋友

可联系技术人员 QQ: 262069696  点击在线交流或微信:cxhjy888 进行 有偿收费 编写!(注:由于人数限制,QQ或微信请选择方便的一个联系我们就行,加好友时请简单备注下您的需求,否则无法通过。谢谢您!)

怎么收费,代编流程等详情请点击查阅!

(注:由于人数限制,QQ或微信请选择方便的一个联系我们就行,加好友时请简单备注下您的需求,否则无法通过。谢谢您!)

 


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容