文档库 最新最全的文档下载
当前位置:文档库 › 文华赢智程序化交易顶级编程函数手册及范例

文华赢智程序化交易顶级编程函数手册及范例

文华赢智程序化交易顶级编程函数手册及范例
文华赢智程序化交易顶级编程函数手册及范例

文华财经函数模型

1、引用数据

A VPRICE 引用均价(在盘后对于国内三个期货交易所指结算价)

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个周期的收盘价

VOL 引用成交量,也可简写为V。

GETPRICE(N) 根据文华码取出某一品种的最新价。

例子:

GETPRICE(1209);返回文华码为1209的合约品种的最新价。

2、金融统计

BACKSET(X,N) 若X条件成立,则将当前位置到N周期前的数值设为1。『未来函数』例:BACKSET(CLOSE>OPEN,3);表示当K线收阳时,自当前位置到3周期前的数值设为1 该函数参数支持变量计算如BACKSET(CLOSE>OPEN,V AR1);//V AR1是变量

BARSLAST(X) 求上一次条件成立到当前的周期数。

例:

BARSLAST(X):上一次满足X条件到现在的K线根数。如果本根K线满足X条件,则BARSLAST(X)返回0.

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,N) 返回X的动态移动平均,其中N必须介于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)/(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,则从本地数据的第一个有效周期开始算起。

例: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个周期内的简单移动平均

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个价位的之字转向的上一个波峰到当前的周期数。

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。

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周期内的时间序列移动平均。

计算方法:TSMA(X,N)= FOCAST(X,N)+SLOPE(X,N)。

3、数理统计

A VEDEV(X,N) 求X在N周期内的平均绝对偏差。

DEVSQ(X,N) 数据偏差平方和。

FORCAST(X,N) 得到X的N周期线性回归预测值。

例:FORCAST(CLOSE,5);表示求5周期线性回归预测

SLOPE(X,N) 得到X在N周期内的线性回归的斜率

例:SLOPE(CLOSE,5);表示求5周期线性回归线的斜率

STD(X,N) 得到X在N周期内的标准差

STDP(X,N) 得到X在N周期内的总体标准差

V AR(X,N) 得到X在N周期内的样本方差

V ARP(X,N) 得到X在N周期内的总体样本方差

文华财经程序化系统的赢家法则

程序化交易的6个系统模型 俗话说的好:思路决定出路,眼界决定境界。作为一名程序化交易爱好者,仅仅依靠已经掌握了模型编写平台的基本语法和函数,是远远不够的。要想编写出一个真正具有实战价值的自动交易系统模型,设计思想的重要性不言而喻,而设计思想实质上是集成了交易理念、交易思路、交易方法,甚至包括交易经验在内的一种积累与沉淀,绝非一日之功。为缩短程序化交易爱好者的学习探索之路,解决普通投资者缺乏系统设计思路等问题,本文拟从系统入市、离市等两个方面,尝试讨论交易系统模型的常规设计思路。 【入市设计】 系统模型入市的设计思路,事实上应与投资者的交易风格喜好、交易时间框架密切相关,可以分别是趋势跟踪、震荡交易、套利交易等,近年来甚至也出现了基于基本面分析数据的量化模型,以及带有人工智能性质的神经网络、遗传算法等具备自学习、自适应市场能力的高级交易系统模型。不过,最简单、最实用、最适合普通投资者的交易系统入市设计思路仍然是趋势跟踪,而趋势跟踪的实质就是追涨杀跌或者美其名曰:顺势而为。突破,是趋势跟踪系统设计中最为简洁实用的设计思路,具体应用设计思路可能包括: ⒈通道突破。最著名的此类程式设计代表作为:海龟交易法则与四周规则。其入市信号触发设计为:价格突破最近N根K线的高低点。长期来看,这种设计思路虽然简单,但永远也不会失效或显得过时。事实上,越简单的反而越有效! ⒉均线突破。该设计思路的代表作品有:克罗均线,它由4、9、18等三条均线组成;鳄鱼组线,它由5、8、13等三条移中平均线组成;自适应均线,它由考夫曼博士提出,以市场效率生成弹性浮动参数,以均线拐头为信号触发,而非普通的均线金叉、死叉,有兴趣的读者可以参考其系统交易专著《精明交易者》。 ⒊指标突破。常见的技术分析指标,如MACD、KDJ、RSI、BOLL、SAR、WR、ADX等,均可独立构成一个简单的趋势跟踪系统,当然,是使用系统默认参数,还是使用优化参数,是使用其常规用法,还是使用创新用法,可能存在仁者见仁、智者见智的分歧。笔者可能更倾向于具有一定技术分析功力的投资者,以自创技术分析指标为最佳,这样可以确保你所使用的交易系统模型的专属性。 ⒋形态突破。形态突破,包括K线形态组合突破、经典技术分析形态突破等,K线形态组合的突破,以酒田战法为最经典,著名的红三兵、黑三兵、希望之星等经典K线形态均源于此,共分为酒田战法70型。至于经典的双顶、双底、趋势线突破、横盘突破、头肩顶底、三角形态、楔形、旗形、钻石型、圆弧顶底等技术形态,因普通的模型编写语言较难精确描述而存在一定的设计使用障碍,需要使用转向函数及图形模糊识别技术来克服。 ⒌波动性突破。波动性可以定义为:最高价与最低价、当根K线的最高价与昨收盘、当根K线的最低价与昨收盘,这三组价格差额的最大者即该品种的波动性值,波动性既可以进行横向比较品种间的波动性水平,也可以用于纵向判断价格波动的异常,并作为入市信号的触发器。我们可以直接从文华财经内置指标公式中得到如下源码:

文华财经函数大全

文华财经函数大全 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个周期的收盘价 VOL引用成交量,也可简写为V。

GETPRICE(N)根据文华码取出某一品种的最新价。 例子: GETPRICE (1209);返回文华码为1209的合约品种的最新价。 2、金融统计 BACKSET(X,N)若X条件成立,则将当前位置到N周期前的数值设为1。『未来函数』例: BACKSET(CLOSE>OPEN,3);表示当K线收阳时,自当前位置到3周期前的数值设为1该函数参数支持变量计算如BACKSET(CLOSE>OPEN,VAR1);//VAR1是变量 BARSLAST(X)求上一次条件成立到当前的周期数。 例: BARSLAST(X): 上一次满足X条件到现在的K线根数。如果本根K线满足X条件,则BARSLAST(X)返回 0. 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,N)返回X的动态移动平均,其中N必须介于0及1之间。 计算方法:

模块化程序设计实例

9 .5 模块化程序设计实例 《程序设计基础》(基于C语言讲解)石光华编著—北京: 清华大学出版社 下面以设计一个简单的成绩管理软件为例,一步一步地按模块化程序设计方法进行设计。 1 .定义问题 设计一个成绩管理软件,其基本功能包括:输入成绩,成绩加分,计算平均成绩,找出最高分,找出最低分,输出成绩等。 2 .确定组成程序的模块 根据成绩管理软件的功能,确定软件的基本模块包括:输入模块,加分模块,平均分模块,最高分模块,最低分模块,输出模块等。 142 程序设计基础 3 .绘制程序结构图 成绩管理软件的结构图如图9-5所示。 图9-5 成绩管理软件结构图 4 .流程图 用流程图确定主程序的逻辑结构,如图9-6所示。 在流程图中,istate 的作用是记录是否已经输入成绩。istate 的使用有如下两种 方式。 (1) 作为全局变量使用。此时istate可以在所有模块中改变其值,主程序更简洁,但 可能产生边际效应。 (2) 作为主程序的局部变量使用。此时istate只能在主程序中改变其值。在主程序 中可以直观地看到其变化,能够防止边际效应。 采用方式(2)的主程序如下。

#include < stdio .h> #define SIZE 10 void main() { int iscore[SIZE] ={0}; int key= - 1; int iresult=0; float fresult=0; int istate=0; printf(″1:Input scores;\n″); 第9章模块化程序设计 143 图9-6 成绩管理软件主程序流程图 printf(″2:Output scores;\n″); printf(″3:Count for the max score;\n″); printf(″4:Count for the minimum score;\n″); printf(″5:Count for the total score;\n″); printf(″6:Count for theaverage score;\n″); printf(″- 1:Exit .\n″); while(1) { printf(″Please input your choose:″); scanf(″%d″,&key); if (key = = - 1) 144 程序设计基础

赢智程序化交易系统使用说明书 2.

赢智程序化交易系统使用说明书 目录 目录 (2 一、登录软件 (7 (一如何登录软件 (7 (二如何选择服务器 (9 (三如何保存交易密码 (9 (四如何使用动态备份 (10 (五如何矫正本机时间与服务器时间一致 (10 二、常用窗口基本操作 (11 (一、自选报价列表 (11 (二、分时走势图 (15 (三、K线图窗口 (19 (四当日分钟K线 (34 (五、OX图 (34 (六、价量运行趋势图 (37 (七、三线反转图 (38 (八、TICK闪电图 (40 (九、盘口报价 (40

(十、逐笔成交表 (42 (十一、大单成交表 (43 (十二、分笔统计 (44 (十三、分价统计 (45 (十四、分笔+分价 (46 (十五、新闻 (46 三、行情模块使用案例 (53 (一如何设置起始页面 (53 (二如何调入行情报价页面 (53 (三如何创建页面 (58 (四如何保存页面 (60 (五如何调出页面 (61 (六如何还原修改后的页面 (62 (七如何设置书签并将个人重要页面设置在书签上,方便调用 (64 (八如何修改报价窗口回撤在分时——K线图循环切换 (67 (九如何保存扩展分析模板 (67 (十如何自定义快捷访问工具条 (69 (十一鼠标滚轴操作如何切换合约 (70 (十二如何区分系统页面和普通页面 (71

(十三如何利用我的指标区保存多组指标参数 (71 (十四如何进行指标设置周期化 (73 (十五如何设置坐标显示方式 (73 (十六如何在数据出现问题时重新申请数据 (74 (十七如何申请更多数据及设置K线显示密度 (75 (十八如何设置报价列表排序 (77 (十九如何设置盘口报价买卖横竖排列 (77 (二十如何设定报价红绿定义 (78 (二十一如何设定成交明细红绿定义 (78 (二十二如何显示小报价框 (79 (二十三如何显示持仓成本线 (79 (二十四如何调出信息灯塔 (80 (二十五如何显示技术分析图上的十字光标 (81 (二十六如何设置今天昨天分割线 (81 (二十七如何设置K线形状 (82 (二十八如何调整报价页面的字体及字体大小 (82 (二十九如何进行颜色字体风格的设置 (83 (三十如何进行合约代码、指令快捷键、分析周期快捷键的设置 (84 (三十一如何进行涨跌停定义的设置 (85

文华函数使用说明

文华函数使用说明 求绝对值。 用法: ABS(X)返回X的绝对值。 例:ABS(-10)返回10,ABS(CLOISE-10) 返回收盘价和10的价差。 求反余弦值。 用法: ACOS(X)返回X的反余弦值。 求反正弦值。 用法: ASIN(X)返回X的反正弦值。 求反正切值。 用法: ATAN(X)返回X的反正切值。

求平均绝对偏差。 用法: AVEDEV(X,N)返回X在N周期内的平均绝对偏差。 取得均价。 用法: AVPRICE返回均价。 取K线的位置。 用法: BARPOS 取某K线的位置。 设置背景的样式。 用法: BACKGROUNDSTYLE(i)设置背景的样式。 i = 0 或 1。

将当前位置到若干周期前的数据设为1。 用法: BACKSET(X,N),若X非0,则将当前位置到N周期前的数值设为1。例:BACKSET(CLOSE>OPEN,3);表示当K线收阳时,自当前位置到3周期前的数值设为1 该函数参数支持变量计算如BACKSET(CLOSE>OPEN,VAR1);//VAR1是变量 本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! 求上一次条件成立到当前的周期数。 用法: BARSLAST(X):上一次X不为0到现在的天数 本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! 介于两个数之间。 用法: BETWEEN(A,B,C)表示A处于B和C之间时返回1(Yes),否则返回0(No) 例:BETWEEN(CLOSE,MA5,MA10); 表示收盘价介于5日均线与10日均

股票程序化案例

股票程序化案例 2018-11 上海文华财经资讯股份有限公司Webstock Information Systems Co.,Ltd

股票程序化: (1) 1、选股回测 (1) 2、模组对一篮子合约做程序化 (3) 案例:在波段中实现低买高卖 (3) 3、T+1股票程序化交易案例 (7) 案例:高抛低吸,共用资金 (7) 股票程序化: 股票交易中,盲目地进行买卖并不是明智的做法。要想在股市中取得较好的收益,要有正确的理论来指导。传统的股票交易方式着眼于对于单只股票的选择,投资者在一次交易中只能买入或者卖出同一只股票。程序化交易为股票交易提供了新的投资策略。股票程序化的优势体现在以下几点: 1、股票程序化可以帮助投资者同时管理一篮子股票的运行情况,并且在买入某些股票的同时投资者还可以卖出其他股票。通过这种组合交易的方式,投资者可以更为方便的构建、持有以及更改投资组合,以达到分散风险的目的。 2、程序化交易利用计算机高速、快捷的处理能力,抓住股市上价格的瞬间变化,获得利润。 1、选股回测 公式选股是我们在股票交易过程中常用的工具,是否能选出入场位置优越的股票,是评判选股公式优劣的唯一标准。我们如果确定一个选股公式是否有效呢?下面我们看看如何使用选股回测功能对选股公式进行历史检测的。 例: 利用选股公式,选出指定的历史时间段中每天符合选股条件的股票,并且可以逐日查看股票明细及K线图 如:选出满足5日内阳线根数多于阴线的股票 选股公式:COUNT(ISDOWN,5)

还可以在这次选股结果的基础上,进一步使用其他选股公式进行筛选 选股公式: B:=VOL>REF(VOL,1); COUNT(B,3)=3,SELECT; 在进一步优选中选择该选股公式,即可之前选股基础上再次选股 我们通过对历史数据中选出的股票进行分析,便会很快的对选股公式进行判断,是否可以使

文华财经程序化策略加载步骤

文华财经程序化策略加载步骤 河北稳升软件科技有限公司云量网文华8.2版本策略加载步骤: 加载策略可按以下要点进行: 导入策略—打开K线—补充数据—设置手数—设置时间—加载策略下面介绍具体操作方法: 1. 启动软件,单击“账户”|“登录”|“国内期货下单” 菜单,登录账号。 4. 在弹出的窗口中选择“文件”|“导入”命令。

2. 弹出登录窗口,输入资金账号、密码及验证码,单击“注册/找回模拟交易登录账号”超链接,在弹出的网页里注册模拟账号。 5. 选择发给您的策略,单击“打开”按钮(不用解压缩)。导入成功后关闭策略编写窗口。 3. 单击“编写”|“编写趋势策略”命令 河北稳升软件科技有限公司云量网

6. 打开合约,系统默认为日K线,在K线图空白位置10. 返回K线图,再次右击,选择“补充历史数据”命 令右击,在弹出的快捷菜单中选择“分析周期”|“自定义 分析周期”命令。(常用周期可在“分析周期”子菜单下 直接选择) 11. 单击“下载”按钮,使本机数据至少在30天以上。 7. 启用自定义分析周期,输入周期数,这里设置为2

分钟周期,单击“应用”按钮,关闭该对话框。 8. 切换到2分钟周期上,在K线图空白位置右击,在弹出的快捷菜单中选择“设置技术指标”命令。 12. 下载完毕单击“确定”按钮。 13. 返回K线图,在回测工作区中单击“重设回测参数” 9. 弹出对话框,选择“MA组合”选项,单击“卸载”按钮。 按钮,单击“确定”按钮。

河北稳升软件科技有限公司云量网 14. 设置回测手数,或者需要开仓的手数。实盘中,资 金和手续费不用管。 18. 设置完毕,单击“重新回测”按钮。

赢智V8.2新函数等应用

1、 DRAWBKBMP(ISUP,'1378087707309'); DRAWBKBMP(ISDOWN,'1967530_114434019157_2'); DRAWBKBMP(ISEQUAL,'1378087806954'); //请参考学习DRAWBKBMP函数 2、 MA50:MA(C,50); MA100:MA(C,100); MA200:MA(C,200); DRAWBMP(CROSSUP(MA50,MA100),H,'赢智截图20140825141543.BMP'); DRAWBMP(CROSSDOWN(MA50,MA100),L,'赢智截图20140825141525.BMP'); DRAWBMP(CROSSUP(MA50,MA200),H,'赢智截图20140825141652.BMP'); DRAWBMP(CROSSDOWN(MA50,MA200),L,'赢智截图20140825141606.BMP'); //请参考学习DRAWBMP函数 3、

DRAWGBK(C>REF(C,1),COLORLIGHTGREEN,COLORLIGHTBLUE,1); DRAWGBK(CMA20,MA5,COLORRED,COLORGREEN),LINETHICK3;//当MA5大于MA20的时候显示红色MA5,反之显示绿色 //变线颜色,注意MA5不要显示出来 TT:=MA20-MA30; DRAWSL(TT>0,MA20,REFX(MA20,1)-MA20,1,0,COLORBLUE),LINETHICK2; DRAWSL(TT<0,MA20,REFX(MA20,1)-MA20,1,0,COLORYELLOW),LINETHICK2; //注意这个变色线的画法 IFELSE(MA30>MA40,MA30,NULL),SETSTYLECOLOR(LINETHICK2,COLORWHITE); IFELSE(MA30MA100,MA50,COLORLIGHTGREEN); PARTLINE(MA50O,BK; C

文华财经软件使用帮助

编辑平台支持的操作符

编辑平台支持的函数1.引用数据 2.金融统计

3.数理统计

(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够大时,两者趋于相等。 7、总体标准差STDP(X,N):方差的开方。 [(-65.2)2+ (-26.2)2+ (-17.2)2+ (54.8)2+ (53.8)2/5]?=47.18 8、标准差STD(X,N):估算样本方差的开方。 [2226.16*5/(5-1)]?=52.75 同样,估算标准差 也比总体标准差大一点,当N够大时,两者趋于相等。 4.逻辑判断

文华财经策略编写、下单组件编写新增函数

文华 wh3中策略编写、下单组件编写新增函数汇总2 二.下单组件编写新增函数 1.引用数据函数 AvPrice(Code) 某合约当前均价。 用法: AvPrice(Code)返回合约Code的当前均价,Code为某合约的合约代码 例:VAR avprice;辑判断函数 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(); 学运算函数 ABS(Value) 取整形绝对值。 用法: ABS(Value)返回Value的绝对值,Value是整形值 例: VAR X; X=ABS(5); F_Period 取得当前模型的周期。 用法: F_Period() 返回当前模型的周期(字符串) 例: VAR period; period=F_Period();

文华财经程序化交易 操盘必会技巧

操盘必会技巧 1、发现趋势 关于技术分析,您首先听说的可能会是下面这句箴言:“趋势是您的朋友”。找到主导趋势将帮助您统观市场全局导向,并且能赋予您更加敏锐的洞察力--特别是当更短期的市场波动搅乱市场全局时。每周和每月的图表分析最适合用于识别较长期的趋势。一旦发现整体趋势,您就能在希望交易的时间跨度中选择走势。这样,您能够在涨势中买跌,并且在跌势中卖涨。 2、支撑和阻力你我必须承认:在这世界上,100%保证能绝对赚钱的交易方法是不存在的。如果有这样的方法,那么满街都是百万富翁了,但留心便可发现,市场中总有那么一部分人能稳定赢利、在长期交易中不败……难道他们都是能预知未来的交易之神?请百度搜索“云易汇智能交易系统”为您独家揭秘! 支撑和阻力水准是图表中经受持续向上或向下压力的点。支撑水准通常是所有图表模式(每小时、每周或者每年)中的最低点,而阻力水准是图表中的最高点(峰点)。当这些点显示出再现的趋势时,它们即被识别为支撑和阻力。买入/卖出的最佳时机就是在不易被打破的支撑/阻力水准附近。一旦这些水准被打破,它们就会趋向于成为反向障碍。因此,在涨势市场中,被打破的阻力水准可能成为对向上趋势的支撑;然而在跌势市场中,一旦支撑水准被打破,它就会转变成阻力。 3、线条和通道 趋势线在识别市场趋势方向方面是简单而实用的工具。向上直线由至少两个连继低点相连接而成。很自然,第二点必须高于第一点。直线的延伸帮助判断市场将沿以运动的路径。向上趋势是一种用于识别支持线/水准的具体方法。反而言之,向下线条是通过连接两点或更多点绘成。交易线条的易变性在一定程度上与连接点的数量有关。然而值得一提的是,各个点不必靠得过近。通道被定义为与相应向下趋势线平行的向上趋势线。两条线可表示价格向上、向下或者水平的走廊。支持趋势线连接点的通道的常见属性应位于其反向线条的两连接点之间。 4、平均线 如果您相信技术分析中“趋势是您的朋友”的信条,那么移动平均线将使您获益匪浅。移动平均线显示了在特定周期内某一特定时间的平均价格。它们被称作“移动”,因为它们依照同一时间度量,且反映了最新平均线。 移动平均线的不足之一在于它们滞后于市场,因此并不一定能作为趋势转变的标志。为解决这一问题,使用5或10天的较短周期移动平均线将比40或200天的移动平均线更能反映出近期价格动向。或者,移动平均线也可以通过组合两种不同时间跨度的平均线加以使用。无论使用5和20天的移动平均线,还是40和200天的移动平均线,买入信号通常在较短期平均线向上穿过较长期平均线时

模块化程序设计

第四章模块化程序设计 教学目的:模块程序设计是C程序合作编程序的方法,通过这一章的学习使学生能自己编C 程序中的函数,正确地调用函数,熟悉函数调用时形式参数和实在参数的关系。通过变量的存储类型,能正确使用各种不同存储类型的变量编程序。 重点难点:函数的嵌套调用及函数的递归调用。 前面各几章的学习,大家已有了编制小程序的经验。如果想编制大程序,在C语言下就得用模块化程序设计,其基本思想是将一个大的程序按功能分割成一些模块,使每一个模块都成为功能单一、结构清晰、接口简单、容易理解的小程序。 C语言提供了支持模块化软件开发的功能: 1 函数式的程序结构。程序由一个或多个函数组成,每个函数都有各自独立的功能和界面。 2 允许通过使用不同的存储类别的变量,控制模块内部和外部的信息交换。 3具有预编译处理功能,为程序的调试、移植提供方便,支持模块化程序设计。 本章介绍这些功能及进行程序开发的基本方法。 4.1 函数 C程序结构 无论涉及的问题是复杂还是简单,规模是大还是小,用C语言设计程序,任务只有一种,就是编写函数,至少要编写一个主函数main(),C程序的执行就是执行相应的main()函数。即从它的main()函数的第一个花括号开始,依次执行后面的语句,直到最后的花括号为止。其它函数只有在执行了main()函数的过程中被调用时才执行。 高级语言中“函数”的概念和数学中“函数”的概念不完全相同。英语单词function有“函数”和“功能”两种介绍,高级语言中的函数实际上是功能的意思。当要完成某一个功能时,就用一个函数去实现它。在程序设计时首先要考虑main()函数中的算法,当main()中需要使用某一功能时,就用一个具有该功能的函数表达式表示。这时的函数,我们只知道它具有什么功能,其它先不作处理。设计完main()的算法并检验无误后,这时开始考虑它所调用的函数。如果在库函数中能找到,就可直接使用,否则再动手设计这些函数。这种设计方法称为自顶向下、逐步细化的程序设计方法。这种方法设计出来的程序在功率高,程序层次分明、结构清晰。复杂程序的层次可从以下图形中看出: 许多大型软件系统包含了相当丰富的,可供从事某一领域工作人员选用,如一个高等学校的信息管理系统就包含了教务、科研、人事、财务,设备、图书、后勤、办公室等子系统。每一个子系统以可分为许多子子系统。 这种软件为了方便用户大都采用菜单(menu)方式,这种形式的软件,大家都用过。用户

《期货交易软件之文华一键通交易系统操作指南附图(追价下单、超价下单、止损止盈、条件单) 》

《期货交易软件之文华一键通交易系统操作指南附图(追价下单、超价下单、止损止盈、条件单) 》中国最著名博客女王干群精美作品编号2016061601 中国最著名博客女王干群精美作品编号2016061601 《期货交易软件之文华一键通交易系统操作指南附图(追价下单、超价下单、止损止盈、条件单) 》 期货交易软件之文华一键通交易系统操作指南附图(追价下单、超价下单、止损止盈、条件单) 一、如何下单 方法:点击“买卖”按钮可以下单。 二、如何指定价格下单 方法:在价格输入框输入价格,下单按钮会自动显示您输入的价格,然后点击“买入”或者“卖出”即可。 三、如何撤单 方法:如需撤掉挂单,只要双击挂单列表中的挂单即可。也可选择挂单合约后点击撤单按钮实现撤单 四、如何平仓 方法一:鼠标点击持仓,光标焦点会根据持仓方向落在“买

卖”按钮上,点击“买卖”按钮即可平仓。同时可以调节数量和价格微调按钮,对平仓手数和平仓价格进行设置 方法二:鼠标点击持仓,点击“平仓”按钮进行平仓。 方法三:双击持仓,实现快速平仓。 五、如何设置默认下单手数 方法:点击一键通交易软件中“数量”后面的“…”即可针对合约设置默认的下单手数 六、如何使用追价下单? 追价下单启动后,系统会自动撤单然后自动按照最新报价重新发出委托,直到完全成交。 方法:将一键通交易界面右上角的“追价下单”勾选即可。可以点击“追价下单” 后面的“…设置触发条件、追价范围和追价机制。 追价触发条件:以时间为条件,即下单后N秒钟没有成交就触发追价下单。 手动开仓、平仓追价范围:系统可以对手动下单设置追价范围,如果价格变化超过设置的追价范围,就停止追价。 追价机制:即对追价触发自动发出委托的委托价格进行设置。

文华程序化交易说明文档

国海良时期货 文华财经 程序化交易系统 使用说明书

程序化交易是一种在计算机和网络技术的支持下,瞬间完成你预先设置好的组合交易指令的一种交易手段。您可以将您的交易思路,通过文华提供的函数、语法及编辑平台,编写成交易模型,实现自动开仓、自动止损、自动止赢。程序化交易在投资实战中不仅可以提高下单速度,而且可以帮助投资者在交易过程中避免受到情绪波动的影响,实现理性投资。 Mytrader2009的程序化交易功能在Webstock2008的基础上增加了追踪止损功能、在全自动状态下系统默认按照最后的信号方向执行,解决了交易指令消失不做任何处理的问题、使用算法交易确保下单成交、并且升级了效果测试和参数优化的功能,使程序化交易又前进了一步,让投资更加的轻松和快乐。 启动程序化交易进行自动交易 打开交易软件,输入账号和密码 启动自动交易模型,选择模型后点击加载或新建模型。

使用算法交易 可以选择是否启用“追价下单”“分批下单”“超价下单” 追价下单: 如果下单没有成交,可以设置追价下单,单子在几秒钟之内没有成交,系统会自动撤单并按市场最新价追价下单,直至预设手数全部成交(也可设置追价范围,防范风险)。(模型触发、价格价格条件单、画线条件单都可以支持追价下单)

分批下单: 如果下单手数过大,启动分批下单,系统会根据默认的分批下单手数,将总手数分批下单超价下单:在市价基础上调整[ ]最小变动价位,以提高成交几率。 算法交易参数的设置 点击图中程序化交易窗口的红色方框可以对算法交易功能进行设置 在下图中对算法交易参数进行设置

“程序化交易自动下单”的其他设置说明: “按市价下单,下单手数” :模型每次下单的数量 “只进行多头交易”:选择此项设置后,模型自动过滤掉卖开和买平的交易指令,只进行多头交易。 “只进行空头交易”:选择此项设置后,模型自动过滤掉买开和卖平的交易指令,只进行空头交易。 “双向交易”:选择此项设置后,模型可以发出买开、卖平、卖开和买平指令,进行双向交易。 “下单方式”:可以选择全自动(不需要确认)、半自动(需要确认)或者只显示信号。 “信号确认”:可以设置信号出现后几秒钟发出委托。 在全自动状态下,系统默认使用“程序化交易按最后信号方向执行”来解决指令反复的问题,设置如下图:

第5章_模块化程序设计

第5章模块化程序设计 5.1 简答题 (1)指令“CALL EBX”采用了指令的什么寻址方式? 寄存器间接寻址 (2)为什么MASM要求使用proc定义子程序? (这个问题不好回答,是不是作者写错了?我猜测可能的原因:在汇编语言中,函数、子程序等都称为过程,所以使用proc定义子程序) (3)为什么特别强调为子程序加上必要的注释? 便于程序员调用时使用,而不必关注子程序的内部实现。 (4)参数传递的“传值”和“传址”有什么区别? 传值是传递参数的拷贝,传址是传递参数的地址 (5)子程序采用堆栈传递参数,为什么要特别注意堆栈平衡问题? 保证正确返回;释放传递参数占用的堆栈空间,避免多次调用可能导致的堆栈溢出(6)INCLUDE语句和INCLUDELIB有什么区别? INCLUDE语句包含的是文本文件、是源程序文件的一部分;INCLUDELIB语句包含的是子程序库文件 (7)什么是子程序库? 子程序库就是子程序模块的集合,其中存放着各子程序的名称、目标代码以及有关定位信息,便于子程序的管理和调用 (8)调用宏时没有为形参提供实参会怎样? 缺少的实参,形参会做“空”处理。 (9)宏定义体中的标号为什么要用local为指令声明? 为了避免宏展开后出现标示符不唯一的情况,定义为局部。 (10)条件汇编不成立的语句会出现在可执行文件中吗? 不会。 5.2 判断题 (1)过程定义proc是一条处理器指令。 错,proc是伪指令 (2)CALL指令的执行并不影响堆栈指针ESP。 错,要改变,因为返回地址要压入堆栈 (3)call指令本身不能包含子程序的参数。 对。 (4) call指令用在调用程序中,如果被调用程序中也有call指令,说明出现了嵌套。 对。 (5)子程序需要保护寄存器,包括保护传递入口参数和出口参数的通用寄存器。 错,不能保护传递出口参数的寄存器 (6)利用INCLUDE包含的源文件实际上只是源程序的一部分。 对 (7)宏调用与子程序调用一样都要使用CALL指令实现。 错,宏调用是通过宏展开实现的调用,不用CALL指令 (8)宏定义与子程序一样一般书写与主程序之后。

文华赢智程序化交易(WH3)编程函数

合约当前价格 Price(code)返回合约code的当前价格,code为合约的合约的代码 例: VAR price;//定义一个变量price Price=price(“m1009”);//price的值为合约m1009的当前均价 某合约当前均价 AvPrice(code)返回合约code的当前均价,code为合约的合约代码 例: VAR Avprice 定义一个变量avprice Avprice=avprice(“m1009”);price的值为合约m1009的当前均价 某合约的当前最高价 High(code)返回合约code的当前最高价,code为某合约的合约代码 例: Var high; High=High(“m1009”);high值为合约当前m1009的当前最高价 某合约的当前最低价 Low(code)返回合约code的当前最低价,code为某合约的合约代码 例: Var low; Low=low(“m1009”);low值为合约m1009的当前最低价 某合约的买卖盘报价 Offers(code,strContent)返回某合约的买卖盘报价code为某合约的合约代码(字符串) strContent 为所要取得内容,可选以下内容 “bid1-5”,”ask1-5”,”bidvol1-5”,”askvol1-5”,分别表示买1-5,卖1-5,买1量-5量,卖1量-5量。 例: VAR bid1; Bid1=Offers(“m1009”,”bid1”);bid1为豆粕1009的当前买1价 某合约最小变动价位 Minprice(code)返回合约code的最小变动价位,code为某合约的合约代码 例: VAR minprice;定义一个变量minprice Minprice=minprice(“m1009”);minprice的值为合约m1009的最小变动价位二、指令状态 模型某合约多头持仓。 F_BuyPosition()返回模型的多头持仓 例:

文华财经模型与函数详解

文华财经模型与函数详解一[程序化新手] 自编公式支持的操作符: ⒈+操作符,表示“加法运算”。 ⒉-操作符,表示“减法运算”。 ⒊* 操作符,表示“乘法运算”。 ⒋/ 操作符,表示“除法运算”。 例如: CLOSE+OPEN表示求收盘价及开盘价的和。 CLOSE-OPEN表示求收盘价及开盘价的差。 CLOSE*OPEN 表示求收盘价及开盘价的积。 CLOSE/OPEN 表示求收盘价及开盘价的商。 ⒌&&操作符,表示“与运算”。 ⒍|| 操作符,表示“或运算”。 ⒎> 操作符,表示“大于运算”。 ⒏< 操作符,表示“小于运算”。 ⒐>=操作符,表示“大于等于运算”。 ⒑<=操作符,表示“小于等于运算”。 ⒒<>操作符,表示“不等于运算”。 ⒓= 操作符,表示“等于操作符”。 例如: CLOSE>OPEN表示判断当前周期是否收阳。 CLOSE=OPEN表示判断当前周期是否平盘。

⒔:=操作符,表示定义一个局部变量(这个变量在画图时是不画的)。 ⒕: 操作符,表示声明了一个变量,并且在画图时画出它并且按这个名字显示。 例如: TMP1:=(OPEN CLOSE)/2; MA(TMP1,10); 上面的公式的第一个语句定义了一个局部变量TMP1,在下面一行中引用了这个局部变量,但是要注意的是这个公式在画图的时候只画了第二条语句所求出的结果。 相反下面这个公式则需要画出两条线,第一条是自己定义的均价线,同时显示了均价的名称为AVP,第二条线是均价的简单移动平均线。 AVP:(OPEN CLOSE)/2; MA(AVP,10); 1.引用数据 AVPRICE 取得均价(在盘后对于国内三个期货交易所指结算价) SETTLE 取得结算价(只有在日线周期盘后才能取得当日的结算价) 说明:如果用在周期小于'日'的K线上如5分钟K线,一小时k线,每根k线返回的值表示这根k线当日开盘时到这根k线的为止的结算价(均价) 如果用在周期大于等于'日'的K线上,返回当根K线结束时间所在日的结算价. CLOSE

模块化程序设计方法在学生管理系统开发中的应用

模块化程序设计方法在学生管理系统开发中的应用 蒋振超 (山东师范大学信息科学与工程学院计算机系2006级1班) 摘要:随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,在这数字化的时代里,学校的学生信息管理受到了极大的挑战。本文通过设计和建设网络拓扑架构、数据库基础结构、信息的发布与管理,对学生信息管理系统各种功能探讨、定义、以及实现,从而实现学生信息的网络化管理,以方便管理者,老师和学生之间的信息共享、交流和管理。 关键词:学生信息;信息管理系统;管理系统功能 中图分类号:TP393 Modular Programming in Student Management System Development Jiang zhen-chao (School of Information Science and Engineering, Shandong Normal University) Abstract:With the development of computer technology and the Internet era, we have entered the information age, in this digital era, the school's student information management are a great challenge. In this paper, the design and construction of network topology architecture, database infrastructure, information publishing and management, student information management system of various functions, definitions, and implementation, in order to achieve the network management of student information to facilitate the management, teachers and information sharing among students, exchange and management. Key words:student information;information management system;function of information system

文华财经函数列表及技术指标模型大全

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个周期的收盘价 VOL 引用成交量,也可简写为V。 GETPRICE(N) 根据文华码取出某一品种的最新价。 例子: GETPRICE(1209);返回文华码为1209的合约品种的最新价。 2、金融统计 BACKSET(X,N) 若X条件成立,则将当前位置到N周期前的数值设为1。『未来函数』 例:BACKSET(CLOSE>OPEN,3);表示当K线收阳时,自当前位置到3周期前的数值设为1 该函数参数支持变量计算如BACKSET(CLOSE>OPEN,VAR1);//VAR1是变量 BARSLAST(X) 求上一次条件成立到当前的周期数。 例: BARSLAST(X):上一次满足X条件到现在的K线根数。如果本根K线满足X条件,则BARSLAST(X)返回0. 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,N) 返回X的动态移动平均,其中N必须介于0及1之间。 计算方法:DMA(N)=DMA(N-1)*(1-A)+X(N)*A 其中DMA(N-1)为第(N-1)天的DMA值。

文华财经程序化交易

1、趋势转变如何表示?以均线拐头为例: MA10:=MA(CLOSE,10);{定义10周期均线} MA10>REF(MA10,1)&&REF(MA10,1)>REF(MA10,2)&&REF(MA10,3)>REF(MA10,2)&&R EF(MA10,4)>REF(MA10,3);{表示上拐} MA108,SK;{10周期均线上穿5周期均线或者收盘价与5周期均线的差值大于8时,发出卖出开仓交易指令} (MA5-CLOSE)>6,BP;{5周期均线与收盘价的差值大于6时,发出买入平仓交易指令} CROSS(MA5,MA10)||(MA5-CLOSE)>8,BK;{5周期均线上穿10周期均线或者收盘价与5周期均线的差值大于8时,发出买入开仓交易指令} (CLOSE-MA5)>6,SP;{收盘价与5周期均线的差值大于6时,发出卖出平仓交易指令}{{}内为文字说明,编写模型时不用写出} 4、如何在模型中限制开平仓时间? MA5:=MA(CLOSE,5); {定义5周期的简单移动平均线} MA10:=MA(CLOSE,10); {定义10周期的简单移动平均线} TIME>=0905&&CROSS(MA5,MA10),BK;{在9点05分后出现5周期线金*10周期线后买开} CROSS(TIME,1457),BP;{当时间到14点58分时自动发出买平指令} TIME>=0905&&CROSS(MA10,MA5),SK;{在9点05分后出现5周期线死*10周期线后卖开} CROSS(TIME,1457),SP;{当时间到14点58分时自动发出卖平指令} 5、KDJ模型雏形

相关文档
相关文档 最新文档