官方教程内容
在通达信的公式脚本中没有专门的控制语句,一切都是变量(仅有输出与不输出的区别),所以要实现应用于多种情况的脚本也要依靠变量来控制。
系统函数中有几个重要的函数就是IF,IFF,IFN,TESTSKIP.请大家注意的是通达信的函数的参数都是先计算出结果然后将参数传给函数的。因此对于TESTSKIP,最好作为一条单独的语句来使用。
公式脚本1:同1.2中的JBSJ公式
{用于引用股票的基本数据。}
公式脚本2: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);};
公式脚本3:
在日线周期下,引用公式2中的数据(通过引用指标设置周期的方法来获得分钟周期的数据),通过K线绘制的函数就可以画出模拟 的K线了。
JH:="FZMN.DJH#MIN5"; JO:=" FZMN.DJO#MIN5"; JLC:=" FZMN.DJL#MIN5"; JC:=" FZMN.DJC#MIN5"; DRAWKLINE(JH,JO,JLC,JC);
官方来源:通达信公式平台
本站详细讲解
这类教程适合边看边在通达信里做一遍,重点不是背概念,而是把官方步骤变成自己的可测试公式。
- 先按官方步骤走 把菜单位置、调用方式和截图对应起来,确认自己能打开同一个功能。
- 再写一个小公式 用最少变量复现页面里的核心概念,确认公式能通过测试。
- 最后改成自己的规则 根据交易周期、信号位置和过滤条件,把示例扩展成自己的指标或选股公式。