[文华财经教程一]语法与函数
(2014-01-12 16:51:48)
标签:
文华财经教程程序化交易自动交易股票 |
分类: 文华财经交易软件 |
自编公式支持的操作符:
⒈+操作符,表示“加法运算”。
⒉-操作符,表示“减法运算”。
⒊* 操作符,表示“乘法运算”。
⒋/ 操作符,表示“除法运算”。
例如:
CLOSE+OPEN表示求收盘价及开盘价的和。
CLOSE-OPEN表示求收盘价及开盘价的差。
CLOSE*OPEN 表示求收盘价及开盘价的积。
CLOSE/OPEN 表示求收盘价及开盘价的商。
⒍||(OR)操作符,表示“或运算”。
⒎> 操作符,表示“大于运算”。
⒏< 操作符,表示“小于运算”。
⒐>=操作符,表示“大于等于运算”。
⒑<=操作符,表示“小于等于运算”。
⒒<>操作符,表示“不等于运算”。
⒓= 操作符,表示“等于操作符”。
例如:
CLOSE>OPEN表示判断当前周期是否收阳。
CLOSE=OPEN表示判断当前周期是否平盘。
⒕: 操作符,表示声明了一个变量,并且在画图时画出它并且按这个名字显示。
例如:
TMP1:=(OPEN+CLOSE)/2;
MA(TMP1,10);
上面的公式的第一个语句定义了一个局部变量TMP1,在下面一行中引用了这个局部变量,但是要注意的是这
个公式在画图的时候只画了第二条语句所求出的结果。
相反下面这个公式则需要画出两条线,第一条是自己定义的均价线,同时显示了均价的名称为AVP,第二条线
是均价的简单移动平均线。
AVP:(OPEN+CLOSE)/2;
MA(AVP,10);
自编公式语法:
3. 关于变量名称。变量名称不可以互相重复,不可以和参数名重复,不可以和函数名称重复。
4. 关于公式内容。公式的每个语句应该以分号结束,包括最后一条语句。在数据公式的时候请您注意一
定要使用半角输入。在编写公式的过程中,如果您不记得某个函数的确切写法,可以选择插入函数来插入函数。
5. 如果您在编写公式之后,想给这个公式加上注释,说明之类的东西,可以使用公式说明来输入。
注:WH3的指标、策略模型编写不再支持If
Else 的语句,条件语句支持IFELSE,具体用法请参考指标、策略模型逻辑判断函数语法列表。
编程举例:
1. MACD公式。
MACD公式有三个参数:SHORT(短期)、LONG(长期)、M 天数,一般为12、26、10
MACD公式的用法:
①DIFF、DEA均为正,DIFF向上突破DEA,买入信号。
②DIFF、DEA均为负,DIFF向下跌破DEA,卖出信号。
③DEA线与K线发生背离,行情反转信号。
④分析MACD柱状线,由红变绿(正变负),卖出信号;由绿变红,买入信号。
其中:
⑴DIFF线 收盘价短期、长期指数平滑移动平均线 间的差
⑵DEA线 DIFF线的M日指数平滑移动平均线
⑶MACD线 DIFF线与DEA线的差,彩色柱状线
按照上述原理,MACD公式应该写成如下形式:
参数表:
参数名 最小值 最大值 默认值
SHORT 5 40 12
LONG 20 100 26
M 2 60 10
公式写成如下形式即可:
DIFF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:=MA(DIFF,M);
MACD:2*(DIFF-DEA);
公式的第一行对应于⑴,公式的第二行对应于⑵,公式的第三行对应于⑶。
2. KD公式:
算法:对每一交易日求RSV(未成熟随机值)
⑴RSV=(收盘价-最近N日最低价)/(最近N日最高价-最近N日最低价)×100
⑵K线:RSV的M1日移动平均
⑶D线:K值的M2日移动平均。
参数:N、M1、M2 天数,一般取9、3、3
用法:
①D>70,超买;D<30,超卖。
②线K向上突破线D,买进信号;线K向下跌破线D ,卖出信号。
③线K与线D的交叉发生在70以上,30以下,才有效。
④KD指标不适于发行量小,交易不活跃的股票;
⑤KD指标对大盘和热门大盘股有极高准确性。
参照KD公式算法,KD公式可以按照如下方式来编写。
参数表:
参数名称 最小值 最大值 缺省值
N 1 100 9
M1 2 40 3
M2 2 40 3
公式的内容如下:
RSV:=(CLOSE-LLV(CLOSE,N))/(HHV(CLOSE,N)-LLV(CLOSE,N))*100;
K:SMA(RSV,M1,1);
D:SMA(RSV,M2,1);
3. K线:
算法略。
公式如下:
TMP:=OPEN-CLOSE;
DRAWLINE(TMP>0.00001,HIGH,TMP>0.00001,OPEN,COLORCYAN);
DRAWLINE(TMP>0.00001,LOW,TMP>0.00001,CLOSE,COLORCYAN);
DRAWLINE(TMP<-0.00001,HIGH,TMP<-0.00001,CLOSE,COLORRED);
DRAWLINE(TMP<-0.00001,LOW,TMP<-0.00001,OPEN,COLORRED);
DRAWLINE(ABS(TMP)<0.00001,LOW,ABS(TMP)<0.00001,OPEN,COLORWHITE);
DRAWLINE(ABS(TMP)<0.00001,HIGH,ABS(TMP)<0.00001,OPEN,COLORWHITE);
STICKLINE(TMP>0.00001,OPEN,CLOSE,COLORCYAN,0);
STICKLINE(TMP<-0.00001,OPEN,CLOSE,COLORRED,1);
公式说明:
第一行,当当前周期收阴时,从HIGH向OPEN画直线,颜色为COLORCYAN;
第二行,当当前周期收阴时,从LOW向CLOSE画直线,颜色为COLORCYAN;
第三行,当当前周期收阳时,从HIGH向CLOSE画直线,颜色为COLORRED;
第四行,当当前周期收阳时,从LOW向OPEN画直线,颜色为COLORRED;
第五行,当当前周期平盘时,从LOW向OPEN画直线,颜色为白色;
第六行,当当前周期平盘时,从HIGH向OPEN画直线,颜色为白色;
第七行,当当前周期收阴时,从OPEN向CLOSE画实心柱线,颜色为COLORCYAN;
第八行,当当前周期收阳时,从OPEN向CLOSE画空心柱线,颜色为COLORRED.