追涨杀跌如何编写? (文华财经WH8赢智V8.2)

投资者咨询:追涨杀跌如何编写? (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-6-21 11:26
 老师请问追涨杀跌程序如何写呢?涨停价买入,盈利20%或亏损105平仓,跌停价卖出,盈利20%或亏损10平仓。
Z=0.04
ZT:=YSETTLE*(1+Z);//涨停
DT:=YSETTLE/(1-Z);//跌停价
C=ZT,BK;//收盘价小于跌停价同时满足开仓条件,进行买开
C=DT,SK;//收盘价大于跌停价同时满足平仓条件进行平仓
ISLASTBK && C>=1.2*BKPRICE OR C<=0.9*BKPRICE, SP;
ISLASTSP && C<=1.2*SKPRICE OR C>=1.1*SKPRICE,BP;
AUTOFILTER;
 
技术人员回复
日期:2018-6-21 11:33

 空头执行需要修改一下

 

此外如果实际行情完全涨停后是无法买入的运行时可以适当放宽开仓条件的涨幅限制

 

Z=0.04
ZT:=YSETTLE*(1+Z);//涨停
DT:=YSETTLE/(1-Z);//跌停价
C=ZT,BK;//收盘价小于跌停价同时满足开仓条件,进行买开
C=DT,SK;//收盘价大于跌停价同时满足平仓条件进行平仓
ISLASTBK && C>=1.2*BKPRICE OR C<=0.9*BKPRICE, SP;
ISLASTSP && C<=0.8*SKPRICE OR C>=1.1*SKPRICE,BP;
AUTOFILTER;
 

投资者咨询:追涨杀跌如何编写? (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-6-21 11:26
老师您好,请问我用CF1901合约测试,为什么回测显示信号为0?
技术人员回复
日期:2018-6-21 13:56

 开仓这样改一下:

 

Z:=0.04;

ZT:=YSETTLE*(1+Z);//涨停
DT:=YSETTLE/(1-Z);//跌停价
C>=ZT,BK;//收盘价小于跌停价同时满足开仓条件,进行买开
C>=DT,SK;//收盘价大于跌停价同时满足平仓条件进行平仓
ISLASTBK && C>=1.2*BKPRICE OR C<=0.9*BKPRICE, SP;
ISLASTSP && C<=0.8*SKPRICE OR C>=1.1*SKPRICE,BP;
AUTOFILTER;

投资者咨询:追涨杀跌如何编写? (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-6-21 11:26
老师您好。改完后依旧没有信号产生。。用的CF1809合约测试。近期的几个涨停,跌停都没有显示
技术人员回复
日期:2018-6-21 15:12

 本地测试满足条件是可以正常出信号的

 

不过以CF1809合约为例,日线涨幅大于等于4个点的只有一天

 

所以信号是比较少的,这里需要您适当调整一下参数来优化

图片点击可在新窗口打开查看

投资者咨询:追涨杀跌如何编写? (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-6-21 11:26
 但是信号后面还有两个涨停板并没有显示。。
技术人员回复
日期:2018-6-21 15:17

 后面最大的单日涨幅也就是05/29达到3.82%

 

您可以具体看一下,都是不满足涨幅条件的

投资者咨询:追涨杀跌如何编写? (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-6-21 11:26
 Z:=0.04;
ZT:=YSETTLE*(1+Z);//涨停
DT:=YSETTLE/(1-Z);//跌停价
C>=ZT,LOW,BK;//
C<=DT,SK;//
ISLASTBK && (((BKHIGH-BKPRICE)*MINPRICE/MARGIN>=0.5 && (C-BKPRICE)/(BKHIGH-BKPRICE)<0.4) OR (C-BKPRICE)*MINPRICE/MARGIN<=-0.1),SP;
ISLASTSK && (((SKPRICE-SKLOW)*MINPRICE/MARGIN>=0.5 && (SKPRICE-C)/(SKPRICE-SKLOW)<0.4) OR (SKPRICE-C)*MINPRICE/MARGIN<=-0.1),BP;
AUTOFILTER;

修改后为什么sk信号不准确。。没有下跌4%也有卖开信号 
技术人员回复
日期:2018-6-22 16:10

两个问题,DT计算跌停价应该乘(1-0.04)

 

然后BK信号前面的,LOW需要删除

 

参考:

 

 Z:=0.04;
ZT:YSETTLE*(1+Z);//涨停
DT:YSETTLE*(1-Z);//跌停价
C>=ZT,BK;//
C<=DT,SK;//
ISLASTBK && (((BKHIGH-BKPRICE)*MINPRICE/MARGIN>=0.5 && (C-BKPRICE)/(BKHIGH-BKPRICE)<0.4) OR (C-BKPRICE)*MINPRICE/MARGIN<=-0.1),SP;
ISLASTSK && (((SKPRICE-SKLOW)*MINPRICE/MARGIN>=0.5 && (SKPRICE-C)/(SKPRICE-SKLOW)<0.4) OR (SKPRICE-C)*MINPRICE/MARGIN<=-0.1),BP;

AUTOFILTER;