欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [分享]茎叶图(直方图)代码分享

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2903人关注过本帖树形打印复制链接

主题:[分享]茎叶图(直方图)代码分享

帅哥哟,离线,有人找我吗?
lizhi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:134 积分:0 威望:0 精华:0 注册:2016/12/8 15:07:32
[分享]茎叶图(直方图)代码分享  发帖心情 Post By:2018/4/9 18:25:46    Post IP:60.31.255.238[只看该作者]

RUNMODE:0;//逐K线计算模式
INPUT:CYC(30,1,120,1);//统计期间
VARIABLE:ARR_COUNT[7]=0;//统计期间内的价格区间数组
//价格区间1内的期间价格经过次数
VAR1:=0;
VAR2:=0;//
VAR3:=0;//
VAR4:=0;//
VAR5:=0;//
VAR6:=0;//
VAR7:=0;//价格区间7内的期间价格经过次数

K线数:BARPOS,NODRAW,COLORYELLOW;
H_TEMP:=REF(HHV(H,CYC),1),COLORWHITE;//
L_TEMP:=REF(LLV(L,CYC),1),COLORWHITE;//
//计算价格区间划分线
IF BARPOS>CYC THEN BEGIN
        MAXH:=H_TEMP;
        MINL:=L_TEMP;
END

RANG:=(MAXH-MINL)/7;//区间间隔值
L6:=MINL+6*RANG,LINEDOT;//区间分割线六
L5:=MINL+5*RANG,LINEDOT;//区间分割线五
L4:=MINL+4*RANG,LINEDOT;//区间分割线四
L3:=MINL+3*RANG,LINEDOT;//区间分割线三
L2:=MINL+2*RANG,LINEDOT;//区间分割线二
L1:=MINL+RANG,LINEDOT;//区间分割线一

//次数:统计价格区间包含经过价格的次数
FOR I=1 TO CYC DO BEGIN
        IF H[BARPOS-I]<L1 OR L[BARPOS-I]<L1 THEN VAR1:=VAR1+1;//区间一
        IF L[BARPOS-I]>=L1 AND L[BARPOS-I]<L2 THEN VAR2:=VAR2+1;//区间二
        IF L[BARPOS-I]>=L2 AND L[BARPOS-I]<L3 THEN VAR3:=VAR3+1;//区间三
        IF L[BARPOS-I]>=L3 AND L[BARPOS-I]<L4 THEN VAR4:=VAR4+1;//区间四
        IF L[BARPOS-I]>=L4 AND L[BARPOS-I]<L5 THEN VAR5:=VAR5+1;//区间五
        IF L[BARPOS-I]>=L5 AND L[BARPOS-I]<L6 THEN VAR6:=VAR6+1;//区间六
        IF L[BARPOS-I]>=L6 OR H[BARPOS-I]>=L6 THEN VAR7:=VAR7+1;//区间七
END
//把次数写入数组
ARR_COUNT[1]:=VAR1;
ARR_COUNT[2]:=VAR2;
ARR_COUNT[3]:=VAR3;
ARR_COUNT[4]:=VAR4;
ARR_COUNT[5]:=VAR5;
ARR_COUNT[6]:=VAR6;
ARR_COUNT[7]:=VAR7;
//显示次数到图表进行检查验证
A1:ARR_COUNT[1],COLORRED,NODRAW;
A2:ARR_COUNT[2],COLORYELLOW,NODRAW;
A3:ARR_COUNT[3],COLORRED,NODRAW;
A4:ARR_COUNT[4],COLORYELLOW,NODRAW;
A5:ARR_COUNT[5],COLORRED,NODRAW;
A6:ARR_COUNT[6],COLORYELLOW,NODRAW;
A7:ARR_COUNT[7],COLORRED,NODRAW;

统计大图片点击可在新窗口打开查看ARGE(ARR_COUNT,7,1),COLORYELLOW,NODRAW;
统计小:SMALL(ARR_COUNT,7,1),COLORRED,NODRAW;
//=================求出最大值及其索引号、轴心线====================
TEMP_MAX:=0;
FOR J=1 TO 7 DO BEGIN
        IF ARR_COUNT[J]>TEMP_MAX THEN BEGIN
                TEMP_MAX:=ARR_COUNT[J];//求出次数中的最大值
                SY_MAX:J,COLORYELLOW;//求出最大值的索引号
        END
END
//索引号对应的轴线值
IF SY_MAX=7 THEN PRICE_MAX:=(MAXH+L6)/2;//
IF SY_MAX=6 THEN PRICE_MAX:=(L5+L6)/2;//
IF SY_MAX=5 THEN PRICE_MAX:=(L4+L5)/2;//
IF SY_MAX=4 THEN PRICE_MAX:=(L3+L4)/2;//
IF SY_MAX=3 THEN PRICE_MAX:=(L2+L3)/2;//
IF SY_MAX=2 THEN PRICE_MAX:=(L1+L2)/2;//
IF SY_MAX=1 THEN PRICE_MAX:=(L1+MINL)/2;//

IF BARPOS>CYC THEN 轴心线图片点击可在新窗口打开查看RICE_MAX,COLORYELLOW;//轴心线值
//=================求出最小值及其索引号、趋势线====================
TEMP_MIN:=30;
FOR K=1 TO 7 DO BEGIN
        IF ARR_COUNT[K]<=TEMP_MIN THEN BEGIN
                TEMP_MIN:=ARR_COUNT[K];//
                SY_MIN:K,COLORYELLOW;//求出最大值的索引号
        END
END

IF SY_MIN=7 THEN PRICE_MIN:=(MAXH+L6)/2;//
IF SY_MIN=6 THEN PRICE_MIN:=(L5+L6)/2;//
IF SY_MIN=5 THEN PRICE_MIN:=(L4+L5)/2;//
IF SY_MIN=4 THEN PRICE_MIN:=(L3+L4)/2;//
IF SY_MIN=3 THEN PRICE_MIN:=(L2+L3)/2;//
IF SY_MIN=2 THEN PRICE_MIN:=(L1+L2)/2;//
IF SY_MIN=1 THEN PRICE_MIN:=(L1+MINL)/2;//

//IF BARPOS>CYC THEN 趋势线图片点击可在新窗口打开查看RICE_MIN,COLORRED;//趋势线
//===================计算标准差====================================
CC:C,LINETHICK0;
NN:O,LINETHICK0;
SS:=0;
FOR X=1 TO CYC DO BEGIN
        NN[BARPOS-X]:=(CC[BARPOS-X]-轴心线[BARPOS])^2;
END
FOR Y=1 TO CYC DO BEGIN
        SS:=NN[BARPOS-Y]+SS;
END
BZC图片点击可在新窗口打开查看SS/(CYC-1))^0.5,COLORWHITE,LINETHICK0;

UPLINE:轴心线+2*BZC,COLORWHITE;//布林线上轨
DOWNLINE:轴心线-2*BZC,COLORRED;//布林线下轨

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:茎叶图系统.zip


 回到顶部
帅哥哟,离线,有人找我吗?
lizhi
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:134 积分:0 威望:0 精华:0 注册:2016/12/8 15:07:32
  发帖心情 Post By:2018/4/9 18:29:50    Post IP:60.31.255.238[只看该作者]

申请加精,因为里面有数组使用、控制语句使用方法

 回到顶部