文华期货自动化交易模型编写教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最新文华期货自动化交易模型编写教程
-CAL-FENGHAI.-(YICAI)-Company One1
一、程序化交易的编写
㈠、交易模型编写规范和一般原则
1、编辑平台支持的操作符
2、编辑平台支持的函数
⑴引用数据
⑵金融统计
⑶数理统计
更多期货股票学习资料点击:⑷逻辑判断
⑸数学运算
更多期货股票学习资料点击:⑹时间函数
⑺绘图
K2K2K2K2K2K2K2K2K2K2K2K2K2K2
容易犯的编写错误:
最高价高于前20周期最高价。应写为HIGH>REF(HHV(HIGH,20),1),
常见错误是直接写为HIGH>HHV(HIGH,20);
LM文件)”。
被引用的指标中不能存在引用其他指标语句。
被引用指标名称需以英文开头,可以是英文加数字形式,但不能出现汉字。如:被引用指
标名称可以是“MAA”、“MA1”,但不可以是“1MA”或“MA组合”。
B、文华码输入错误
如沪铜1002合约文华码为2102,并不是1002,各合约文华码可在报价列表“文华码”抬头列或各合约K线图右上角合约名称后括号内查到。
同品种不同周期间调用数据时可不必填写文华码,但#IMPORT函数填写文华码位置需以空格代替,不可省略。
C、周期使用混乱
目前跨周期函数只允许短周期引用长周期数据,如不能在日周期上引用分钟周期数据。目前可供引用周期:MIN1、MIN3、MIN5、MIN10、MIN15、MIN30、HOUR1、HOUR3、HOUR8、DAY、WEEK、MONTH 。
⑵跨周期均线组合模型
关键函数:#IMPORT,CROSS
使用周期:三十分钟
模型说明:日周期均线为多头排列时,三十分钟周期上只做多,不做空;日周期均线为空头排列时,三十分钟周期上只做空,不做多。
第一步:建立日周期均线指标“MAD”
MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,10);
MA3:=MA(CLOSE,25);
第二部:编写跨周期交易模型
#IMPORT[ ,DAY,MAD] AS A
M1:=;
M2:=;
M3:=;
MA5:=MA(CLOSE,5);
MA10:=MA(CLOSE,10);
CROSS(MA5,MA10)&&M1>M2&&M2>M3,BK;
CROSS(MA10,MA5),SP;
CROSS(MA10,MA5)&&M1 CROSS(MA5,MA10),BP; ★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负 ⑶跨合约MACD模型 关键函数:#IMPORT 使用周期:五分钟 模型说明:当沪铜指数(文华码2100)五分钟周期DIFF金叉DEA时,在沪铜1002合约上买平开;当沪铜指数(文华码2100)五分钟周期DIFF死叉DEA 时,在沪铜1002合约上卖平开。 第一步:文华自带“MACD”指标,所以无需另新建指标。 第二步:编写跨合约交易模型 #IMPORT[2100,MIN5,MACD] AS VAR D:=; E:=; CROSS(D,E),BPK; CROSS(E,D),SPK; ★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负 容易犯的编写错误: 所引用变量名称需与原指标变量名称相符,如: #IMPORT[2100,MIN5,MACD] AS VAR D:=; 编写跨合约模型前需确认原MACD指标中确实含有DIFF变量名称(确认方法:通过公式管理器找到原指标,打开查看); 请注意原指标变量名称的大小写,如原指标变量名称为diff,则需要在引用时引用D:=; 而不是 D:=; 5、头寸及信号记录模型编写示范 ⑴按资金比例下单模型 关键函数:SETDEALPERCENT 使用周期:五分钟 模型说明:当满足开仓条件时按可用资金比例的30%下单。SETDEALPERCENT; A:=VALUEWHEN(TIME=905,CLOSE); B:=VALUEWHEN(DATE<>REF(DATE,1),OPEN); A (A>B&&CROSS(B,CLOSE))||TIME>=1450,SP; A>B&&CROSS(B,CLOSE)&&TIME<1450,SK; (A=1450,BP; ★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负 ⑵资金权益模型 关键函数:TRD_CAPITAL,TRD_ASSETS,SAR 使用周期:十五分钟 模型说明:只有当可用资金占总权益50%以上时满足价格上/下突破止损点才执行开仓条件,否则不予执行。 SARLINE:=ABS(SAR(4,,); A:=TAD_CAPITAL/TRD_ASSETS; CROSS(CLOSE,SARLINE)&&A>,BK; CROSS(SARLINE,CLOSE),SP; CROSS(SARLINE,CLOSE)&&A>,SK; CROSS(CLOSE,SARLINE),BP; ★以上模型源码内容仅供编写参考使用,如用于交易使用,风险自负 ⑶信号记录模型 关键函数:BKPRICE ,SKPRICE 使用周期:五分钟 模型说明:突破4个周期最高/最低价开仓,获利15个点以上平仓。CLOSE>=REF(HHV(HIGH,4),1),BK; CLOSE-BKPRICE>15,SP; CLOSE<=REF(LLV(LOW,4),1),SK; SKPRICE-CLOSE>15,BP;