麦语言函数手册

上传人:xgs****56 文档编号:9008033 上传时间:2020-04-02 格式:DOC 页数:37 大小:941.50KB
返回 下载 相关 举报
麦语言函数手册_第1页
第1页 / 共37页
麦语言函数手册_第2页
第2页 / 共37页
麦语言函数手册_第3页
第3页 / 共37页
点击查看更多>>
资源描述
文华财经 麦语言 函数手册 2011 年 10 月更新 文华财经资讯有限公司 1 麦语言 源于 2004 年文华推出的国内第一套程序化函数库 经过 6 年的发展 吸收几 十万用户的意见反馈 一点一点完善起来的 是一套成熟稳定的模型开发平台 麦语言 是国内使用人数最多的程序化模型开发平台 麦语言倡导的是积木式的编程理念 把复杂算法封装到一个个的函数里 采用 小语法 大函数 的构建模式 语法虽然简单 但是配合专门的程序化数据结构 配合丰富的金融统 计函数库 同样可以支持逻辑复杂的金融应用 麦语言的函数库 是经常更新的 根据客 户的新要求随时添加新函数 来支持编程者的交易新思想和新应用 一 自编策略模型支持的函数 1 历史数据引用 AVPRICE 取得均价 在盘后对于国内三个期货交易所指结算价 SETTLE 取得结算价 只有在日线周期盘后才能取得当日的结算价 说明 如果用在周期小于 日 的 K 线上如 5 分钟 K 线 一小时 k 线 每根 k 线返回 的值表示这根 k 线当日开盘时到这根 k 线的为止的结算价 均价 如果用在周期大于等于 日 的 K 线上 返回当根 K 线结束时间所在日的结算价 CLOSE 取得收盘价 在盘中指最新价 也可简写为 C HIGH 求高价 也可简写为 H LOW 求最低价 也可简写为 L OPEN 求开盘价 也可简写为 O OPI 取持仓量 REF X N 引用 X 在 N 个周期前的值 例 REF CLOSE 5 表示引用当前周期前第 5 个周期的收盘价 REFX X N 引用 N 个周期后的数据 N 为大于等于 1 的整数 未来函数 例 REFX CLOSE 5 表示引用自当前周期后第 5 个周期的收盘价 本函数运算量很大 将占用很多的 CPU 资源 导致行情刷新速度变慢 请谨慎使用 IMPORT 引用某品种在某个周期上加载了某个指标的数据 用法 IMPORT CODE PERIOD FORMULA AS VAR 引用 CODE 所对应的合约 PERIOD 周期下指标 FORMULA 的数据 2 CODE 文华码 PERIOD 周期 FORMULA 引用指标名 VAR 定义变量名 注意 1 只能引用 FML XFML 文件 2 只能引用如下周期 MIN1 MIN3 MIN5 MIN15 MIN30 HOUR1 DAY WEEK MONTH s3 只能短周期引用长周期 4 被引用的指标中不能存在引用 5 如果不写文华码 默认引用当前合约 MINPRICE 返回某品种的最小变动价位 用法 MINPRICE CODE 返回 CODE 所对应合约的最小变动价位 CODE 文华码或交易代码 例 MINPRICE IF1107 表示返回 IF1007 的最小变动 价位 注意 某些合约 如橡胶指数 查不到最小变动价位 返回 0 VOL 求成交量 也可简写为 V 2 日内高频数据引用 L2 BID1 取秒周期末买 1 价 K 线图 或该笔 TICK 时刻的买 1 价 Tick 图 用法 L2 BID1 K 线图时返回当前秒周期最后时刻的买 1 价 TICK 图时返回该笔 TICK 时刻的买 1 价 L2 BID2 取秒周期末买 2 价 K 线图 或该笔 TICK 时刻的买 2 价 Tick 图 用法 L2 BID2 K 线图时返回当前秒周期最后时刻的买 2 价 TICK 图时返回该笔 TICK 时刻的买 2 价 L2 BID3 取秒周期末买 3 价 K 线图 或该笔 TICK 时刻的买 3 价 Tick 图 用法 L2 BID3 K 线图时返回当前秒周期最后时刻的买 3 价 TICK 图时返回该笔 TICK 时刻的买 3 价 L2 BID4 取秒周期末买 4 价 K 线图 或该笔 TICK 时刻的买 4 价 Tick 图 用法 3 L2 BID4 K 线图时返回当前秒周期最后时刻的买 4 价 TICK 图时返回该笔 TICK 时刻的买 4 价 L2 BID5 取秒周期末买 5 价 K 线图 或该笔 TICK 时刻的买 5 价 Tick 图 用法 L2 BID5 K 线图时返回当前秒周期最后时刻的买 5 价 TICK 图时返回该笔 TICK 时刻的买 5 价 L2 ASK1 取秒周期末卖 1 价 K 线图 或该笔 TICK 时刻的卖 1 价 Tick 图 用法 L2 ASK1 K 线图时返回当前秒周期最后时刻的卖 1 价 TICK 图时返回该笔 TICK 时刻的卖 1 价 L2 ASK2 取秒周期末卖 2 价 K 线图 或该笔 TICK 时刻的卖 2 价 Tick 图 用法 L2 ASK2 K 线图时返回当前秒周期最后时刻的卖 2 价 TICK 图时返回该笔 TICK 时刻的卖 2 价 L2 ASK3 取秒周期末卖 3 价 K 线图 或该笔 TICK 时刻的卖 3 价 Tick 图 用法 L2 ASK3 K 线图时返回当前秒周期最后时刻的卖 3 价 TICK 图时返回该笔 TICK 时刻的卖 3 价 L2 ASK4 取秒周期末卖 4 价 K 线图 或该笔 TICK 时刻的卖 4 价 Tick 图 用法 L2 ASK4 K 线图时返回当前秒周期最后时刻的卖 4 价 TICK 图时返回该笔 TICK 时刻的卖 4 价 L2 ASK5 取秒周期末卖 5 价 K 线图 或该笔 TICK 时刻的卖 5 价 Tick 图 用法 L2 ASK5 K 线图时返回当前秒周期最后时刻的卖 5 价 TICK 图时返回该笔 TICK 时刻的卖 5 价 L2 BIDVOL1 取秒周期末买 1 量 K 线图 或该笔 TICK 时刻的买 1 量 Tick 图 用法 L2 BID1 K 线图时返回当前秒周期最后时刻的买 1 量 TICK 图时返回该笔 4 TICK 时刻的买 1 量 L2 BIDVOL2 取秒周期末买 2 量 K 线图 或该笔 TICK 时刻的买 2 量 Tick 图 用法 L2 BID2 K 线图时返回当前秒周期最后时刻的买 2 量 TICK 图时返回该笔 TICK 时刻的买 2 量 L2 BIDVOL3 取秒周期末买 3 量 K 线图 或该笔 TICK 时刻的买 3 量 Tick 图 用法 L2 BID3 K 线图时返回当前秒周期最后时刻的买 3 量 TICK 图时返回该笔 TICK 时刻的买 3 量 L2 BIDVOL4 取秒周期末买 4 量 K 线图 或该笔 TICK 时刻的买 4 量 Tick 图 用法 L2 BID4 K 线图时返回当前秒周期最后时刻的买 4 量 TICK 图时返回该笔 TICK 时刻的买 4 量 L2 BIDVOL5 取秒周期末买 5 量 K 线图 或该笔 TICK 时刻的买 5 量 Tick 图 用法 L2 BID5 K 线图时返回当前秒周期最后时刻的买 5 量 TICK 图时返回该笔 TICK 时刻的买 5 量 L2 ASKVOL1 取秒周期末卖 1 量 K 线图 或该笔 TICK 时刻的卖 1 量 Tick 图 用法 L2 ASK1 K 线图时返回当前秒周期最后时刻的卖 1 量 TICK 图时返回该笔 TICK 时刻的卖 1 量 L2 ASKVOL2 取秒周期末卖 2 量 K 线图 或该笔 TICK 时刻的卖 2 量 Tick 图 用法 L2 ASK2 K 线图时返回当前秒周期最后时刻的卖 2 量 TICK 图时返回该笔 TICK 时刻的卖 2 量 L2 ASKVOL3 取秒周期末卖 3 量 K 线图 或该笔 TICK 时刻的卖 3 量 Tick 图 用法 L2 ASK3 K 线图时返回当前秒周期最后时刻的卖 3 量 TICK 图时返回该笔 TICK 时刻的卖 3 量 5 L2 ASKVOL4 取秒周期末卖 4 量 K 线图 或该笔 TICK 时刻的卖 4 量 Tick 图 用法 L2 ASK4 K 线图时返回当前秒周期最后时刻的卖 4 量 TICK 图时返回该笔 TICK 时刻的卖 4 量 L2 ASKVOL5 取秒周期末卖 5 量 K 线图 或该笔 TICK 时刻的卖 5 量 Tick 图 用法 L2 ASK5 K 线图时返回当前秒周期最后时刻的卖 5 量 TICK 图时返回该笔 TICK 时刻的卖 5 量 L2 PRICE 取 Tick 图中该笔 TICK 的成交价 用法 L2 PRICE 返回 TICK 图中该笔 TICK 的成交价 L2 VOLUME 取 TICK 图中该笔 TICK 的成交量 用法 L2 VOLUME 返回 TICK 图中该笔 TICK 的成交量 ASKBIGVOLPRICE TICK 图中该笔 Tick 盘口中空头满足大单条件的与最新价的最近价格 用法 ASKBIGVOLPRICE 返回 TICK 图中该笔 Tick 盘口满足大单条件的与最新价的最 近价格 注模型中需调用一次 CALVOLPRICELIST 函数 BIDBIGVOLPRICE TICK 图中该笔 Tick 盘口中多头满足大单条件的与最新价的最近价格 用法 BIDBIGVOLPRICE 返回 TICK 图中该笔 Tick 盘口满足大单条件的与最新价的最 近价格 注模型中需调用一次 CALVOLPRICELIST 函数 CALVOLPRICELIST TICK 图中初始化盘口大单价格表 主要在 BIDBIGVOLPRICE 与 ASKBIGVOLPRICE 前使用 提供初始化 用法 CALVOLPRICELIST L2 SETBIGVOL 设置大单成交手数阈值 用法 L2 SETBIGVOL nVol 成交手数大于 nVol 的为大单 6 例 L2 SETBIGVOL 10 大于 10 手的是大单 L2 BKBIGCOUNT 查看买开的大单成交次数 L2 BIDVOL 取秒周期主动买的成交量 用法 L2 BIDVOL 返回当前秒周期主动买的成交量 L2 ASKVOL 取秒周期主动卖的成交量 用法 L2 ASKVOL 返回当前秒周期主动卖的成交量 L2 BIDBIGCOUNT 取秒周期主动买的大单成交次数 用法 L2 BIDBIGCOUNT 返回当前秒周期主动买的大单成交次数 L2 ASKBIGCOUNT 取秒周期主动卖的大单成交次数 用法 L2 ASKBIGCOUNT 返回当前秒周期主动卖的大单成交次数 L2 BIDBIGTOTVOL 取秒周期主动买的大单成交量 用法 L2 BIDBIGTOTVOL 返回当前秒周期主动买的大单成交量 L2 ASKBIGTOTVOL 取秒周期主动卖的大单成交量 用法 L2 ASKBIGTOTVOL 返回当前秒周期主动卖的大单成交量 L2 BKVOL 取秒周期买开的成交量 用法 L2 BKVOL 返回当前秒周期买开的成交量 L2 SKVOL 取秒周期卖开的成交量 用法 L2 SKVOL 返回当前秒周期卖开的成交量 L2 BPVOL 取秒周期买平的成交量 用法 L2 BPVOL 返回当前秒周期买平的成交量 7 L2 SPVOL 取秒周期卖平的成交量 用法 L2 SPVOL 返回当前秒周期卖平的成交量 L2 BKBIGCOUNT 取秒周期买开的大单成交次数 用法 L2 BKBIGCOUNT 返回当前秒周期买开的大单成交次数 L2 SKBIGCOUNT 取秒周期卖开的大单成交次数 用法 L2 SKBIGCOUNT 返回当前秒周期卖开的大单成交次数 L2 BPBIGCOUNT 取秒周期买平的大单成交次数 用法 L2 BPBIGCOUNT 返回当前秒周期买平的大单成交次数 L2 SPBIGCOUNT 取秒周期卖平的大单成交次数 用法 L2 SPBIGCOUNT 返回当前秒周期卖平的大单成交次数 L2 BKBIGTOTVOL 取秒周期买开的大单成交量 用法 L2 BKBIGTOTVOL 返回当前秒周期买开的大单成交量 L2 SKBIGTOTVOL 取秒周期卖开的大单成交量 用法 L2 SKBIGTOTVOL 返回当前秒周期卖开的大单成交量 L2 BPBIGTOTVOL 取秒周期买平的大单成交量 用法 L2 BPBIGTOTVOL 返回当前秒周期买平的大单成交量 L2 SPBIGTOTVOL 取秒周期卖平的大单成交量 用法 L2 SPBIGTOTVOL 返回当前秒周期卖平的大单成交量 8 3 行情数据引用 GETPRICE N 根据文华码取出某一品种的最新价 例 GETPRICE 1209 返回文华码为 1209 的合约品种的最新价 4 金融统计 BACKSET X N 若 X 条件成立 则将当前位置到 N 周期前的数值设为 1 未来函数 例 BACKSET CLOSE OPEN 3 表示当 K 线收阳时 自当前位置到 3 周期前的数值 设为 1 BARSLAST X 求上一次条件成立到当前的周期数 COUNT X N 表示统计在 N 周期内满足 X 条件的周期数 如果 N 为 0 则表示从已申请到的数据 的第一天开始算起 例 WR 100 HHV HIGH N CLOSE HHV HIGH N LLV LOW N COUNT WR 80 5 表示统计在 5 个周期内满足 WR 80 的次数 DMA X A 返回 X 的动态移动平均 其中 A 为常数 并且必须介于 0 及 1 之间 计算方法 DMA N DMA N 1 1 A X N A 其中 DMA N 1 为第 N 1 天的 DMA 值 EMA X N 表示求 X 在 N 周期内的平滑移动平均 指数加权 计算方法 EMA X N 2 X N 1 EMA X N 1 N 1 其中 EMA X N 1 为 第 N 1 天的 EMA 值 EMA2 X N 表示求 X 在 N 周期内的加权平均 线性加权 计算方法 EMA2 X N N X0 N 1 X1 N 2 X2 1 XN 1 N N 1 N 2 1 X0 表示本周期值 X1 表示上一周期值 HHV X N 得到 X 在 N 周期内的最高值 如果 N 0 则从本地数据的第一个有效周期开始 算起 例 HHV HIGH 13 求 13 个周期内的最高价的最大值 HHVBARS X N 得到 X 在 N 周期内的最高值位置到当前的周期数 如果 N 0 则从本地数据的第 一个有效周期开始算起 9 例 HHVBARS VOL 0 求历史成交量最大的周期到当前的周期数 LLV X N 得到 X 在 N 周期内的最小值 如果 N 0 则从本地数据的第一个有效周期开始算 起 例 LLV LOW 25 表示求 25 个周期内最低价的最小值 LLVBARS X N 得到 X 在 N 周期内的最小值的位置到当前的周期数 如果 N 0 则从本地数据的第 一个有效周期开始算起 例 LLVBARS VOL 0 求历史成交量最小的周期到当前的周期数 MA X N 求 X 在 N 周期内的简单移动平均 计算方法 MA A1 A2 A3 A4 A5 5 求 A 在 5 个周期内的简单移动平均 SLOPE X N 求线型回归的斜率 用法 SLOPE X N 得到 X 的 N 周期的线型回归的斜率 例 SLOPE CLOSE 5 表示求收盘价 5 个周期线性回归线的斜率 ZIGZAG X P N 之字转向 当 X 变化量超过 P 时转向 当 N 取 1 P 为百分比数 当 N 取 0 P 为价位 差值绝对值 未来函数 例 ZIGZAG HIGH 10 1 表示最高价的 10 的之字转向 ZIGZAG MA HIGH 34 100 0 表示 34 个周期内最高价均线的 100 个价位的之字 转向 PEAK X P M N 取得 ZIGZAG 前 M 个波峰的值 其中 X 为数据 P 为转折值 如果 N 为 1 这个值 为百分比数 否则为价位差值绝对值 M 为大于等于 1 的整数 未来函数 例 PEAK HIGH 10 1 1 表示最高价的 10 的之字转向的上一个波峰的数值 PEAK MA HIGH 34 100 1 0 表示 34 个周期内最高价均线的 100 个价位的之字 转向的上一个波峰的数值 PEAKBARS X P M N 取得 ZIGZAG 前 M 个波峰到当前周期的周期数 其中 X 为数据 P 为转折值 如 果 N 为 1 这个值为百分比数 否则为价位差值绝对值 M 为大于等于 1 的整 数 未来函数 例 PEAKBARS HIGH 10 1 1 表示最高价的 10 的之字转向的上一个波峰到当前 的周期数 PEAKBARS MA HIGH 34 100 1 0 表示 34 个周期内最高价均线的 100 个价位的 10 之字转向的上一个波峰到当前的周期数 TROUGH X P M N 取得 ZIGZAG 前 M 个波谷的值 其中 X 为数据 P 为转折值 如果 N 为 1 这个值 为百分比数 否则为价位差值绝对值 M 为大于等于 1 的整数 未来函数 例 TROUGH LOW 10 1 1 表示最低价的 10 的之字转向的上一个波谷的数值 TROUGH MA LOW 34 100 1 0 表示 34 个周期内最低价均线的 100 个价位的之 字转向的上一个波谷的数值 TROUGHBARS X P M N 取得 ZIGZAG 前 M 个波谷到当前周期的周期数 其中 X 为数据 P 为转折值 如 果 N 为 1 这个值为百分比数 否则为价位差值绝对值 M 为大于等于 1 的整 数 未来函数 TROUGH LOW 10 1 1 表示最低价的 10 的之字转向的上一个波谷到当前的周期 数 TROUGH MA LOW 34 100 1 0 表示 34 个周期内最低价均线的 100 个价位的之 字转向的上一个波谷到当前的周期数 SAR N Step Max 得到抛物转向值 N 为计算周期 Step 为步长 Max 为极值 系统函数 计算步 骤后台自动完成 例 SAR 17 0 03 0 3 表示计算 17 个周期抛物转向 步长为 3 极限值为 30 SMA X N M 得到 X 在 N 个周期内的移动平均 M 为权重 M 为常数 计算方法 SMA N SMA N 1 N M N X N M N STD X N 求标准差 用法 STD X N 求 X 在 N 个周期内的标准差 STDP X N 求总体标准差 用法 STDP X N 为 X 的 N 日总体标准差 SUM X N 得到 X 在 N 周期内的总和 如果 N 0 则从第一个有效周期开始算起 例 SUM VOL 10 表示统计 10 周期内的成交量总和 SUMBARS X A 得到 X 向前累加直到大于 A 时的周期数 TRMA X N 求 X 在 N 周期内的三角移动平均 TSMA X N 求 X 在 N 周期内的时间序列移动平均 11 计算方法 TSMA X N FOCAST X N SLOPE X N 5 数理统计 AVEDEV X N 求 X 在 N 周期内的平均绝对偏差 DEVSQ X N 数据偏差平方和 FORCAST X N 得到 X 的 N 周期线性回归预测值 例 FORCAST CLOSE 5 表示求 5 周期线性回归预测 VAR X N 得到 X 在 N 周期内的样本方差 VARP X N 得到 X 在 N 周期内的总体样本方差 数理统计举例说 明 设一个数列 数列中数据的总个数为 N 以今天 2005 10 14 五天内的 A0605 收盘 价为例 N 就为 5 数列的内容为 2766 2805 2814 2886 2885 1 算术平均值 MA CLOSE 5 数据总和除以总个数 N 2766 2805 2814 2886 2885 5 2831 20 可以用公式 MA CLOSE 5 从今天的值上看出 2 偏差 每个数据 减去算术平均值的结果 2766 2831 20 65 2 2805 2831 20 26 2 2814 2831 20 17 2 2886 2831 20 54 8 2885 2831 20 53 8 各 偏差相加 应该是等于 0 的 3 平均绝对偏差 AVEDEV X N 将偏差的绝对值相加 除以总个数 N 65 2 26 2 17 2 54 8 53 8 5 43 44 4 数据偏差平方和 DEVSQ X N 将偏差的平方相加 65 2 2 26 2 2 17 2 2 54 8 2 53 8 2 11130 80 5 总体样本方差 VARP X N 将偏差的平方相加 总和除以总个数 N 用公式可以这 样算 65 2 2 26 2 2 17 2 2 54 8 2 53 8 2 5 2226 16 6 样本方差 VAR X N 是总体方差的 N N 1 倍 2226 16 5 5 1 2782 70 估算 样本方差 总比总体样本方差大一点 当 N 够大时 两者趋于相等 6 逻辑判断 BETWEEN A B C 判断条件 A 位于 B 及 C 之间 是否成立 如果条件成立则返回 1 yes 否则 12 返回 0 no 例 BETWEEN CLOSE MA5 MA40 表示收盘价介于 5 日均线与 40 日均线之间 CROSS X Y 表示 X 上穿 Y 例 CROSS CLOSE MA CLOSE 5 表示收盘线从下方向上穿过 5 日均线 CROSS2 A B 两条线交叉 用法 CROSS2 A B 表示当 A 从下方向上穿过 B 两次时返回 1 Yes 否则返回 0 No 例 CROSS2 CLOSE MA CLOSE 5 表示收盘线从下方向上穿过 5 日均线两次 FILTER COND N 过滤连续出现的信号 用法 FILTER COND N 当 COND 条件成立时 将其后 N 周期内的数据置为 0 例 FILTER CLOSE OPEN 3 查找阳线 3 天内再次出现的阳线不被记录在内 注 不能与 BKPRICE BARSBK SKPRICE BARSSK 一起使用 EXIST COND N 判断 N 个周期内是否有满足条件 COND 的情况发生 例 EXIST CLOSE REF HIGH 1 10 表示 10 个周期中是否存在收盘价大于前一 个周期的最高价 EVERY COND N 判断过去 N 个周期内是否一直满足条件 COND 例 EVERY CLOSE OPEN 5 表示 5 个周期内一直是阳线 LAST COND N1 N2 判断过去 N1 到 N2 周期内是否一直满足条件 COND 例 LAST CLOSE OPEN 10 5 表示从过去第 10 个周期到第 5 个周期内一直是阳 线 LONGCROSS A B N 如果 A 在前 N 个周期内都小于 B 本周期上穿 B 则返回 1 否则返回 0 例 LONGCROSS CLOSE MA CLOSE 10 20 表示收盘线在 10 日均线之下持续 20 周期后从下向上穿过 10 日均线 NOFILTER 交易模型买卖指令信号过滤函数 仅适用于交易模型的过滤 交易模型公式后加 NOFILTER 是指不需要过滤 出现任何交易指令都会执行 公式后不加 NOFILTER 是指当连续出现同方向的交易指令时 系统只显示出 第一个交易指令 其他交易指令自动被过滤 IFELSE C A B 如果条件 C 成立则取 A 值 否则取 B 值 13 例 A IFELSE MA5 MA10 CROSS DIFF DEA IFELSE CROSS D K 2 0 当 MA5 MA10 时 取是否满足 DIFF 上穿 DEA 否则 MA5 不大于 MA10 当 K D 死叉 时 令 A 赋值为 2 若上述条件都不满足 A 赋值为 0 A 1 BPK 当 MA5 MA10 以 DIFF 上穿 DEA 作为开多仓条件 A 2 SPK 当 MA5 不大于 MA10 以 K D 死叉作为开空仓条件 ISDOWN 判断该周期是否收阴 ISEQUAL 判断该周期是否平盘 ISUP 判断该周期是否收阳 ISLASTBAR 判断当前周期是否为最后一根 K 线 VALUEWHEN COND DATA 当条件 COND 满足时 取当时的 DATA 的值 否则取得前面一个满足条件 COND 的 值 例 VALUEWHEN HIGH REF HIGH 5 HIGH 表示当前最高价大于前五个周期最高 价的最大值时返回当前最高价 7 数学运算 ABS X 求 X 的绝对值 例 ABS SAR 17 0 03 0 3 返回抛物转向 SAR 17 0 03 0 3 的绝对值 ACOS X 求 X 的反余弦值 ASIN X 求 X 的反正弦值 ATAN X 求 X 的反正切值 COS X 返回 X 的余弦值 EXP X 返回 e 的 X 次幂 CUBE X 返回 X 的三次方 CEILING X 向上舍入 返回沿 X 数值增大方向最接近的整数 FLOOR X 向下舍入 返回沿 X 数值减小方向最接近的整数 INTPART X 取 X 的整数部分 返回沿 X 绝对值减小方向最接近的整数 14 LN X 得到 X 的自然对数 以 e 为底的对数 例 LN OPEN 求开盘价的自然对数 LOG X 得到 X 的常用对数 取得 X 的以 10 为底的对数 例 LOG OPEN 求开盘价的以 10 为底的对数 MAX A B 求 A B 中的较大者 例 MAX CLOSE OPEN 0 表示若收盘价大于开盘价返回它们的差值 否则返回 0 MIN A B 求 A B 中的较小者 例 MIN OPEN CLOSE 返回开盘价和收盘价中的较小值 MOD A B 返回 A 对 B 得到模 例 MOD CLOSE 500 收盘价除以 500 所得余数 NOT X 当 X 为 0 时返回 1 否则返回 0 例 NOT TIME 090530 表示该周期对应的时间不是 9 05 30AM POW A B 得到 A 的 B 次幂 例 POW CLOSE 2 求得收盘价的 2 次方 REVERSE X 取反 返回符号相反的数值 例 REVERSE LOW 返回 LOW RANGE A B C 表示 A 大于 B 同时小于 C 时返回 1 否则返回 0 SGN X 得到 X 的符号 如果 X 0 则返回 1 如果 X 0 则返回 1 否则返回 0 SIN X 得到 X 的正弦值 SQRT X 得到 X 的平方根 例 SQRT CLOSE 收盘价的平方根 SQUARE X 得到 X 的平方 例 SQUARE CLOSE 收盘价的平方 TAN X 得到 X 的正切值 8 时间函数 BARPOS 取得当前 K 线的位置 15 DATE 取得当前周期的日数 700101 341231 DAY 取得当前周期的日数 1 31 HOUR 取得当前周期的小时数 0 23 MINUTE 取得当前周期的分钟数 0 59 MONTH 取得当前周期的月数 1 12 TIME 取得当前周期的时间数 0 2359 秒级周期返回值范围为 0 235959 WEEKDAY 取得当前周期的星期数 0 6 YEAR 取得当前周期的年数 1970 2034 9 绘图 BACKGROUNDSTYLE i 设置背景的样式 用法 BACKGROUNDSTYLE i 设置背景的样式 i 0 或 1 DRAWLINE C1 P1 C2 P2 COLOR 当条件 C1 及 C2 均满足时 从 P1 画直线到 P2 颜色为 COLOR 例 DRAWLINE MA18CLOSE CLOSE COLORCYAN 表示当收盘价大于 18 日均线并且小于 5 日均线时 从开盘价画青色 直线到收盘价 DRAWTEXT C P TEXT 表示当条件 C 满足时在 P 上写 TEXT 文字 例 DRAWTEXT CLOSE OPEN 表示当日涨幅大于 8 时在最高价位置显示 涨幅 相对开盘价的百分比 FILLRGN COND DATA1 DATA2 COLOR 填充区域 当条件 COND 满足时 填充 DATA1 及 DATA2 包围的区域 例 FILLRGN MA5 MA10 MA5 MA10 COLORRED 表示 MA5 MA10 时以 红色填充 MA5 和 MA10 之间的区域 PLAYSOUND COND N 当条件满足时 播放自定义声音 N 自定义声音在插入声音文件中 设置 最多可以设置 10 个 例 PLAYSOUND CLOSE OPEN A 表示 CLOSE OPEN 时播放自定义声 音 A POLYLINE COND DATA COLOR 画折线 当条件 COND 满足时 连接各个 DATA 点 例 POLYLINE CLOSE HHV CLOSE 100 CLOSE COLORRED 表示在 收盘价创 100 天新高点之间画折线 PARTLINE COND DATA COLOR 同 POLYLINE 例 PARTLINE HIGH REF HIGH 1 HIGH COLORRED 表示当期最高 价大于前期最高价用红色绘制最高价连线线段 STICKLINE C P1 P2 Color Empty 如果条件 C 满足时 从 P1 到 P2 画柱线 颜色为 Color 如果 Empty 取 1 则为空心柱 如果 Empty 取 0 则为实心柱 例 STICKLINE OPEN CLOSE 0 OPEN CLOSE COLORCYAN 0 表示当 开盘价大于收盘价时 从开盘价到收盘价画青色的实心柱 即 K 线 阴线的实体部分 VERTLINE COND COLOR 画垂直线 当条件 COND 满足时 画垂直线 例 VERTLINE HIGH HHV HIGH 30 COLORRED 表示在价格创 30 天新高时画垂直线 RGB R G B 自定义颜色函数 R G B 的数值范围都在 0 255 之间 例 RGB 225 225 225 表示白色 17 COLORSTICK 画彩色柱线 VOLUMESTICK 画成交量线 BAMBOOLINE 画竹线 CIRCLEDOT 画圆 OPISTICK 画持仓量柱线 10 颜色常数 COLORRED 红色 COLORGREEN 绿色 COLORBLUE 蓝色 COLORMAGENTA 红紫色 COLORYELLOW 黄色 COLORLIGHTGREY 浅灰色 COLORLIGHTRED 浅红色 COLORLIGHTGREEN 浅绿色 COLORLIGHTBLUE 浅蓝色 COLORBLACK 黑色 COLORWHITE 白色 COLORCYAN 青色 11 头寸函数 AUTOFILTER 对模型的所有信号按照先买后卖 先开后平的顺序过滤 用法 AUTOFILTER 产生的指令将按照如下规则过滤 1 连续的同方向指令只有第一个有效 其他的将被过滤 2 交易指令必须配对出现 例如 前面已经有了买开指令 则后面只允许出现卖平指令 其他的指令都被滤掉 这也就意味着 第一个指令只能是买开或者卖开指令 其他的都 被过滤 18 例 CLOSE OPEN BPK CLOSE60 如果买开价位比当前价位高出 60 且买开价位 存在 卖平仓 请注意当模型存在连续多个开仓信号 加仓 的情况下 该函数返回的是最后一次开仓信 号的价格 而不是开仓均价 注 BKPRICE 只在加载之后的 K 线上才返回信号价位 历史 K 线信号由于无信号价位会 20 返回 0 使用时请注意判断 BKPRICE 0 效果测试中该函数返回信号位置的收盘价 SKPRICE 卖开信号位置的卖开信号价位 用法 SKPRICE 返回最近一次模型卖开位置的卖开信号价位 例如 CLOSE SKPRICE 60 如果当前价位高出卖开价位 60 且卖开价位 存在 买平仓 请注意当模型存在连续多个开仓信号 加仓 的情况下 该函数返回的是最后一次开仓信 号的价格 而不是开仓均价 注 SKPRICE 只在加载之后的 K 线上才返回信号价位 历史 K 线信号由于无 信号价位会返回 0 使用时请注意判断 SKPRICE 0 效果测试中该函数返回信号位置的 收盘价 BARSBP 上一次买平信号位置 用法 BARSBP 返回上一次买平仓距离当前 k 线的 k 线数 BARSSP 上一次卖平信号位置 用法 BARSSP 返回上一次卖平仓距离当前 k 线的 k 线数 LASTSIG 判断上一次交易的信号 用法 LASTSIG 返回上一次交易的信号 注意与未来函数同时使用 ISLASTBAR EMA2 ZIGZAG BACKSET PEAK PEAKBARS TROUGH TROUGHBARS REFX 等可能会导致误差 MONEY 虚拟资金余额 用法 MONEY 返回虚拟资金余额 注意与未来函数同时使用 ISLASTBAR EMA2 ZIGZAG BACKSET PEAK PEAKBARS TROUGH TROUGHBARS REFX 等可能会导致误差 BUYVOL 模型虚拟多头持仓 用法 21 BUYVOL 返回模型虚拟多头持仓 注意与未来函数同时使用 ISLASTBAR EMA2 ZIGZAG BACKSET PEAK PEAKBARS TROUGH TROUGHBARS REFX 等可能会导致误差 SELLVOL 模型虚拟空头持仓 用法 SELLVOL 返回模型虚拟空头持仓 注意与未来函数同时使用 ISLASTBAR EMA2 ZIGZAG BACKSET PEAK PEAKBARS TROUGH TROUGHBARS REFX 等可能会导致误差 MARGIN 合约保证金 用法 MARGIN 返回当前合约的保证金比率 用户启动模组时设置的 注意与未来函数同时使用 ISLASTBAR EMA2 ZIGZAG BACKSET PEAK PEAKBARS TROUGH TROUGHBARS REFX 等可能会导致误差 VOLMARGIN 模型虚拟空头持仓 用法 VOLMARGIN 计算当前的持仓保证金 注意与未来函数同时使用 ISLASTBAR EMA2 ZIGZAG BACKSET PEAK PEAKBARS TROUGH TROUGHBARS REFX 等可能会导致误差 MONEYRATIO 资金使用率 用法 MONEYRATIO 返回当前的虚拟资金的使用率 注意与未来函数同时使用 ISLASTBAR EMA2 ZIGZAG BACKSET PEAK PEAKBARS TROUGH TROUGHBARS REFX 等可能会导致误差 MONEYTOT 虚拟总资金 用法 MONEYTOT 返回当前虚拟总资金 虚拟资金余额 持仓保证金 注意与未来函数同时使用 ISLASTBAR EMA2 ZIGZAG BACKSET PEAK PEAKBARS TROUGH TROUGHBARS REFX 等可能会导致误差 PROFIT 虚拟逐笔浮盈 用法 22 PROFIT 返回当前的虚拟逐笔浮动盈亏 注意与未来函数同时使用 ISLASTBAR EMA2 ZIGZAG BACKSET PEAK PEAKBARS TROUGH TROUGHBARS REFX 等可能会导致误差 SETDEALPERCENT 设置下单的虚拟资金使用比例 用法 SETDEALPERCENT fPercent 表示每次按资金的 fPercent 范围 1 100 下单 例子 SETDEALPERCENT 20 每次按资金比例的 20 下单 注 应该与 AUTOFILTER 函数同时使用 二 自编下单组件支持的函数 1 引用数据函数 AvPrice Code 某合约当前均价 用法 AvPrice Code 返回合约 Code 的当前均价 Code 为某合约的合约代码 例 VAR avprice 定义一个变量 avpriceavprice AvPrice m1109 price 的值为合约 m1109 的当前均价 High Code 某合约当前最高价 用法 High Code 返回合约 Code 的当前最高价 Code 为某合约的合约代码 例 23 VAR high 定义一个变量 high high High m1109 high 的值为合约 m1109 的当前最高价 Low Code 某合约当前最低价 用法 Low Code 返回合约 Code 的当前最低价 Code 为某合约的合约代码 例 VAR low 定义一个变量 low low Low m1109 low 的值为合约 m1109 的当前最低价 Position Code strContent 某合约的盘口数据 用法 Position Code strContent 返回某合约某种盘口数据 Code 为某合约的合约代码 字符串 strContent 为所要取得内容 可选以下内容 bid1 bid2 bid3 bid4 bid5 ask1 ask2 ask3 ask4 ask5 bidvol1 bidvol2 bidvol3 bidvol4 bidvol5 askvol1 askvol2 askvol3 askvol4 askvol5 分别表示买 1 买 5 卖 1 卖 5 买 1 量 买 5 量 卖 1 量 卖 5 量 例 VAR bid1 bid1 Position m1109 bid1 bid1 为豆粕 1009 的当前买 1 价 Price Code 某合约当前价格 用法 Price Code 返回合约 Code 的当前价格 Code 为某合约的合约代码 例 VAR price 定义一个变量 price price Price m1109 price 的值为合约 m1109 的当前价格 Volume Code 某合约当前成交量 用法 Volume Code 返回合约 Code 的当前成交量 Code 为某合约的合约代码 24 例 VAR volume 定义一个变量 volume volume Volume m1109 volume 的值为合约 m1109 的当前成交量 2 逻辑判断函数 SamePeriod Code PeriodStr T1 T2 判断两个时间是否是同一个周期 用法 SamePeriod Code PeriodStr T1 T2 如果 T1 T2 是同一个周期返回 1 否则返回 0 Code 合约的合约代码 PeriodStr 可以取以下值的其中之 一 min1 min3 min5 min10 min15 min30 1hour 3hour 8hour 1day week month T1 和 T2 是以总秒数表示的时间 例 IF SamePeriod m1109 min10 LastOrderTime Time 09 00 00 合约为 m1109 周期为 10 分钟情况下 如果最后一次下单时间与 09 00 00 在同一个周期内 3 辅助函数 CurrentTime 当前时间 用法 CurrentTime 返回当前时间 例 VAR CurTime CurTime CurrentTime 定义一个变量 CurTime CurTime 的值为 当前时间 注意返回值是 1970 年 1 月 1 日至今的总秒数 DateToStr nSec 日期转换为字符串 用法 DateToStr nSec 把整形数值表示的时间 nSec 转换为字符串 nSec 25 为时间的总秒数 返回的字符串格式为 YY MM DD 例 MessageOut DateToStr CurrentTime 输出当前日期 Exit 退出程序 用法 Exit 退出程序 例 Exit 退出程序 当组件设置为循环时 遇到 Exit 将停止循 环 请谨慎使用 当组件未设置为循环执行时 应该使用 RETURN 语 句退出 Itoa Value 数字转换为字符 用法 Itoa Value 将 Value 转换成字符串 Value 的为整形数值 例 VAR str str 数字 Itoa 5 str 的值为 数字 5 MessageOut Content 输出内容 用法 MessageOut Content 输出 Content 的内容 注意 Content 可以是字符串也可以是数字 ReadGlobal strName 返回已注册的整形变量的值 用法 ReadGlobal strName 返回注册的 strName 的值 strName 为 已注册的整形变量的注册名称 字符串 如果 strName 未被注册过 返回 0 例 WriteGlabal limit 20 VAR limitValue limitValue ReadGlobal limit limitValue 的值为 20 ReadGlobalF strNameF 返回已注册的浮点型变量的值 用法 ReadGlobalF strNameF 返回注册的 strNameF 的值 strNameF 为已注册的浮点型变量的注册名称 字符串 如果 strNameF 未被注 册过 返回 0 0f 例 26 WriteGlabalF Rate 0 5 VAR fRate fRate ReadGlobal Rate fRate 的值为 0 5 ReadGlobalStr NameStr 返回已注册的字符串变量的值 用法 ReadGlobalStr NameStr 返回注册的 NameStr 的值 NameStr 为已注册的字符串变量的注册名称 如果 NameStr 未被注册过 返回 空字符串 例 WriteGlabalStr showStr 上升 VAR str str ReadGlobal showStr str 的值为 上升 Time strTime 转换字符串为时间 用法 Time strTime 转换字符串 strTime 为时间 以总秒数表示 strTime 的格式应为 HH MM SS 其中 0 HH 24 0 MM 60 0 SS 300 如果距离上次下单时 间超过 5 分钟 T BuyPosition Code 交易系统某合约多头持仓 用法 T BuyPosition Code 返回交易系统中合约 Code 的多头持仓 Code 为某 合约的合约代码 31 例 VAR BuyVol BuyVol T BuyPosition m1109 BuyVol 为交易系统中合约代码为 m1109 的合约的多头持仓 T BuyAvgPrice Code 交易系统某合约多头持仓成本价 用法 T BuyAvgPrice Code 返回交易系统合约 Code 的多头持仓成本 价 Code 为某合约合约代码 例 VAR BuyPrice BuyPrice T BuyAvgPrice m1109 定义一个变量 BuyPrice BuyPrice 的值为交易系统合约 m1109 多头持仓成本价 T BuyProfitLoss code 交易系统某合约的多头盈亏 用法 T BuyProfitLoss code 返回交易系统合约 code 的多头盈亏 例 VAR BuyEarn BuyEarn T BuyProfitLoss m1109 定义一个变量 BuyEarn BuyEarn 的值为交易系统合约 m1109 的多头盈亏 T SellPosition Code 交易系统某合约空头持仓 用法 T SellPosition Code 返回交易系统中合约 Code 的空头持仓 Code 为 某合约的合约代码 例 VAR SellVol SellVol T SellPosition m1109 SVol 为交易系统中合约代码为 m1109 的合约的空头持仓 T SellAvgPrice code 交易系统某合约空头持仓成本价 用法 T SellAvgPrice code 返回交易系统合约 code 的空头持仓成本 价 code 为某合约合约代码 例 VAR SellPrice 32 SellPrice T SellAvgPrice m1109 定义一个变量 SellPrice SellPrice 的值为交易系统合约 m1109 空头持仓成本价 T SellProfitLoss code 交易系统某合约的空头盈亏 用法 T SellProfitLoss code 返回交易系统合约 code 的空头盈亏 例 VAR SellEarn SellEarn T SellProfitLoss m1109 定义一个变量 SellEarn SellEarn 的值为交易系统合约 m1109 的空头盈亏 T Deal Code bs kp vol price 发出委托 用法 T Deal Code bs kp vol price 发出委托 Code 字符串 合约编码 bs 整数 0 1 0 买 1 卖 kp 整数 0 1 2 0 开 1 平 2 平今 Vol 整数 下单手数 Price 整数或小数 下单价格 0 为市价 返回 唯一委托标识 OrderID 字符串 例 VAR orderID T Deal m1109 0 0 5 2900 发出委托 m1109 买开 5 手 限价 2900 T FreeMargin Type 可用资金 用法 T FreeMargin Type 返回可用资金 Type 整数 0 1 0 期 货 1 股票 返回可用资金数 小数 例 VAR margin margin T FreeMargin 0 返回当前期货帐户的可用资金数 T Equity Type 权益 用法 T Equity Type 返回权益 Type 整数 0 1 0 期货 1 股票 返回权益 小数 例 VAR margin margin T Equity 0 返回当前期货帐户的权益数 33 T MaxOpen Code margin bs 某品种最大可开仓手数 用法 T MaxOpen Code margin bs 某品种最大可开仓手数 Code 字符串 合约编码 margin 小数 保证金比例 bs 整数 0 1 0 买 1 卖 返回该品种在当前可用资金 当前价格下的可开仓手数 整数 例 VAR vol vol T MaxOpen m1109 0 1 0 变量 vol 为 m1109 的 在保证 金比例为 0 1 下的可开仓手数 T OrderState OrderID 查询委托状态 用法 T OrderState OrderID 根据委托唯一标识 OrderID 字符串 查委托状 态 返回值含义 1 查询失败 0 挂单 1 成交 2 被撤单 3 部份成交 4 其它 例 IF T OrderState X 0 如果委托 X 是挂单 T OpenOrder Code Type 查询挂单数量 用法 T OpenOrder Code Type 返回未成交委托数量 Code 交易编码 Type 0 所有方向 1 买开 2 卖平 3 卖开 4 买平 例 IF LastOrderTime CurrentTime 300 1 买开 2 卖平 3 卖开 4 买平 返回 0 撤单发出成功 返回其它失败 例 T DeleteOrderByCode ru1009 2 撤单橡胶 1009 的卖平委托 T DeleteOrderAll 撤掉所有未成交委托 用法 T DeleteOrderAll 撤掉所有该模型相关的未成缴委托单 返回 0 撤 单发出成功 返回其它失败 例 IF T DeleteOrderAll 0 如果撤单失败 T AddBuyOpiTo Code Price Vol 根据当前成交的量采用买开的手段达到把仓位增加某一数值的目的 用法 T AddBuyOpiTo Code Price Vol 把多头仓位增加到某一数值 Code 字符串 合约代码 Price 小数 价格 Vol 整数 成交量 对合 约代码为 Code 的字符串以 Price 价格下单达到多头 vol 手持仓 例 T AddBuyOpiTo m1109 Price m1109 5 10 买开使多头持 仓达到 10 手 T AddSellOpiTo Code Price Vol 根据当前成交的量采
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!