“创新高周期数与脚本控制”(股票公式高级教程)

创新高周期数

成交量创新高周期数脚本:

FV:=IF(BARSCOUNT(C)=0,9999999999,VOL);

量创新高周期数:SUMBARS(REF(FV,1)-FV,0);

{这里的关键是 REF(FV,1)-FV ,想想看写成 FV-REF(FV,1) 行不行?};

脚本控制

在通达信的公式脚本中没有专门的控制语句,一切都是变量(仅有输出与不输出的区别),所以要实现应用于多种情况的脚本也要依靠变量来控制。

系统函数中有几个重要的函数就是IF,IFF,IFN,TESTSKIP.请大家注意的是通达信的函数的参数都是先计算出结果然后将参数传给函数的。因此对于TESTSKIP,最好作为一条单独的语句来使用。

公式脚本1:FZMN分钟模拟

{用于通过几种分钟周期的数据模拟出当天对应于改周期的各项数据}

N:=IF(PERIOD=0,1,

IF(PERIOD=1,5,

IF(PERIOD=2,15,

IF(PERIOD=3,30,

IF(PERIOD=4,60,0)))));

CTRL:=TESTSKIP(N=0);{仅用于分钟周期}


TTIME1:=(TIME/100);

TTIME2:=IF(TTIME1<1000,TTIME1-930,

IF(TTIME1<1100,TTIME1-1000+30,

IF(TTIME1<1131,TTIME1-1100+90,

IF(TTIME1<1300,120,

IF(TTIME1<1400,TTIME1-1300+120,

IF(TTIME1<1500,TTIME1-1400+180,

240))))));


TTIME:=TTIME2/N;

YTC:="JBSJ.JYC#DAY";

YTDPC:="399300$CLOSE#DAY";

ZFS:=(C*1000/YTC)-1000;

AC:="399300$CLOSE";

ZFA:=(AC*1000/YTDPC)-1000;


DJC:(ZFS-ZFA)*YTC/1000+YTC;

DJH:IF(TTIME<2,DJC,HHV(DJC,TTIME-1));

DJL:IF(TTIME<2,DJC,LLV(DJC,TTIME-1));

DJO:REFV(DJC,TTIME-1);

{DRAWKLINE(DJH,DJO,DJL,DJC);};


公式脚本2:

在日线周期下,引用公式2中的数据(通过引用指标设置周期的方法来获得分钟周期的数据),通过K线绘制的函数就可以画出模拟 的K线了。

JH:="FZMN.DJH#MIN5";

JO:=" FZMN.DJO#MIN5";

JLC:=" FZMN.DJL#MIN5";

JC:=" FZMN.DJC#MIN5";

DRAWKLINE(JH,JO,JLC,JC);

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章