文档介绍:文华财经 谷学友
课程内容
一、模型的基本结构和跨指标模型的编写
二、跨周期模型的编写
三、资金管理和止损模型的编写
MY 语言的编写基于文华财经wh3平台中。通过本节课的学****了解文华公式编写平台的基本函数与语法,设计自己的辑关系
跨周期函数介绍
引用某品种在某个周期上加载了某个指标的数据。
用法:
#IMPORT [CODE, PERIOD, FORMULA] AS VAR
引用 CODE 所对应的合约 PERIOD 周期下指标 FORMULA 的数据。
CODE 文华码,PERIOD 周期,FORMULA 引用指标名,VAR 定义变量名
跨周期跨合约模型的编写规则
:MIN1 MIN3 MIN5 MIN10 MIN15 MIN30 HOUR1 DAY WEEK MONTH
,默认引用当前合约,也可以直接写合约代码如:rb1201
引用指标名,只能引用除数字、或者数字开头的名称之外的名称。
例 同一合约不同周期的数据调用要求
当日均线出现多头排列时, 5分钟KD线金叉,做多。
当日均线出现空头排列时, 5分钟KD线死叉,做空。
课程内容
1、头寸函数介绍
2、资金管理,止盈止损模型的编写思路及案例
1、常用头寸函数介绍
ISLASTBK
判断上一个交易信号是否是BK。用法:ISLASTBK 如果上一个交易信号是BK则返回1否则返回0
ISLASTSK
判断上一个交易信号是否是SK。用法:ISLASTSK 如果上一个交易信号是SK则返回1,否则返回0
BARSBK
上一次买开信号位置用法:BARSBK返回上一次买开仓距离当前k线的k线数。
BARSBK
上一次买开信号位置用法:BARSBK返回上一次买开仓距离当前k线的k线数。
BKPRICE
买开信号位置的买开信号价位。用法:BKPRICE返回最近一次模型买开位置的买开信号价位。例如: BKPRICE-CLOSE>60 , SP;//如果买开价位比当前价位高出60,且买开价位存在,卖平仓请注意当模型存在连续多个开仓信号(加仓)的情况下,该函数返回的是最后一次开仓信号的价格,而不是开仓均价。注:BKPRICE 只在加载之后的K线上才返回信号价位。效果测试中该函数返回信号位置的收盘价
SKPRICE
卖开信号位置的卖开信号价位用法:SKPRICE返回最近一次模型卖开位置的卖开信号价位。例如:CLOSE-SKPRICE>60 && SKPRICE>0, BP;//如果当前价位高出卖开价位60, 且卖开价位存在, 买平仓请注意当模型存在连续多个开仓信号(加仓)的情况下,该函数返回的是最后一次开仓信号的价格,而不是开仓均价。注:SKPRICE 只在加载之后的K线上才返回信号价位。效果测试中该函数返回信号位置的收盘价
MONEY
虚拟资金余额用法:MONEY返回虚拟资金余额。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。
MARGIN
合约保证金用法:MARGIN返回当前合约的保证金比率(用户启动模组时设置的)。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。
PROFIT
虚拟逐笔浮盈用法:PROFIT返回当前的虚拟逐笔浮动盈亏。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。
SETDEALPERCENT
设置下单的虚拟资金使用比例用法:SETDEALPERCENT(fPercent)表示每次按资金的fPercent(范围1~100)下单。例子:SETDEALPERCENT(20); //每次按资金比例的%20下单注:应该与AUTOFILTER函数同时使用
BUYVOL
模型虚拟多头持仓用法:BUYVOL返回模型虚拟多头持仓。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。
SELLVOL
模型虚拟空头持仓用法:SELLVOL返回模型虚拟空头持仓。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BAC