文华赢智程序化交易(WH3)编程函数
- 格式:doc
- 大小:48.50 KB
- 文档页数:12
赢智程序化交易系统使用说明书目录目录 (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(三十二如何设置页面保存机制 (85(三十三如何导出个性化设置,如何导出交易日志记录文件 (86四、交易模块使用案例 (87(一、登陆与退出交易系统 (871、如何调取下单系统 (872、如何登陆下单系统 (883、如何退出下单系统 (894、如何调取下单板 (89(二、交易部分 (90竖式下单 (90(1如何开仓 (90(2如何平仓(指定价平仓、对价平仓、超价平仓、停板价平仓、清仓 (91 (3如何撤单 (93(4如何使用追价功能 (94(5如何使用定时平仓 (94(6如何使用预埋单 (95(7如何使用条件单 (96(8如何使用锁仓、移仓、反手操作。
赢智程序化交易系统使用说明书目录一、常用窗口基本操作在文华赢智程序化交易系统行情列表和技术分析图表窗口,鼠标右键单击分析窗口-插入内容,有14个可选操作窗口,各窗口具体操作说明如下:(一)、自选报价列表1、设置自选合约方法: 右键菜单中选入合约鼠标右键单击自选报价列表窗口——》“选入合约”,在弹出的窗口中选择市场和品种后确定即可。
2、调整报价顺序鼠标右键单击自选报价列表窗口,选择报价顺序调整,选中合约后,鼠标左键单击上移或者下移确定位置后,点击确定即可。
3、抬头格式(域)的调整第一步:鼠标右键单击自选报价列表窗口,选择抬头格式(域)调整。
第二步:在弹出的窗口中进行调整抬头格式的操作。
第三步:保存抬头模板。
可以将一些常用格式域格式保存下来,换至其他页面时可直接调用该种格式。
通过选择报价界面右键菜单中的“保存/调用抬头模板”对自定义的抬头格式域进行保存和调用4、实现多股同列鼠标右键单击自选报价列表窗口,选择多股同列,可实现分时图多股同列;选中一个合约点击多周期同列,可以实现该合约不同周期K线图同列。
5、设置价格预警鼠标右键单击自选报价列表窗口,在弹出的菜单中选择设置价格预警,在价格预警设置窗口中对合约进行警告设置。
(二)、分时走势图分时走势图也叫做即时走势图,它是把市场上的交易信息实时地用曲线在坐标上加以显示的技术图形。
坐标的横轴是交易时间,纵轴是价格。
图中:白色曲线表示该合约的分时成交价格,默认快照频率为1分钟。
黄色曲线表示均价,用价格与成交量的加权计算。
1、查看该合约的涨跌停板位置。
鼠标右键单击分时图窗口,选中“查看停板位置”,即途中出现的小黄线。
注:该功能需在交易系统已登录的前提下使用2、叠加其他合约鼠标右键单击分时图窗口,选中“叠加其他合约”。
选择合约及显示的类型。
注:如需取消叠加可按“鼠标右键单击分时图窗口——叠加其他合约——取消叠加”这一步骤进行合约叠加的取消3、使用画线功能鼠标右键单击分时图窗口,选中“画线”,可以在图表中使用画线分析。
注:此教程适用于赢智Wh8和乐期Wh4。
目录第一章公式系统介绍 (1)第二章模型编写语法与规则 (4)2.1 数据引用 (4)2.2 模型编写语法 (8)2.3 模型基本结构 (14)第三章一般模型编写示例 (18)3.1 条件描述 (18)3.2 K线形态描述 (20)3.3 技术指标范例 (24)3.4 价量走势编写范例 (29)3.5 盘中动态编写范例 (31)3.6 趋势类模型编写范例 (32)3.7 振荡类模型编写范例 (36)3.8 公式条件单范例 (37)3.9 常见模型公式编写问题 (40)第四章复杂模型编写示例 (42)4.1 跨指标模型 (42)4.2 跨周期模型 (44)4.3 分组指令 (47)4.4 日内模型 (48)4.5 TICK模型 (51)4.6 止损模型 (54)第五章模型的回测 (56)5.1模型回测 (56)5.2 参数优化 (60)5.3 日志检索 (66)第六章如何优化你的策略 (67)6.1 PANZHENG函数, 减少盘整行情中的交易次数 (67)6.2 TRADE_OTHER函数,在指数交易中的应用 (73)6.3 CHECKSIG函数,实现更具有优势进场价格 (73)6.4 MULTSIG函数,在一根k线上灵活进出 (73)第七章后台程序化 (73)7.1 后台程序化工作机理 (74)7.2 页面盒子 (74)7.3 运行模组 (77)7.4 盘口模型运行池 (77)第八章多账号下单 (77)第九章套利交易 (81)第十章软件的一些基本操作 (91)附录1:麦语言趋势模型函数列表 (100)附录2:交易测评报告术语详解 (222)附录3:图表分析各图表项说明 (225)第一章公式系统介绍软件的公式系统是一套功能强大、使用方便的计算机描述系统。
可供引用的函数近500个。
可以说其它软件能做的,该软件都能做到,而且能做得更好,更贴近实盘。
用户可以通过期货交易所和证券交易所发送的实时行情数据和软件保存的历史数据按照简单、复杂的运算法则进行分析、筛选、系统测试和自动交易,在软件中提供了用于公式编写的编辑器:交易系统公式编辑器交易系统旨在建议一套完整的交易规则体系,通过该编辑器对各个相关的交易环节,包括买入的切入、卖出、止损以及整体的交易性能检验等等做出定量的规定,帮助投资者建立一套属于自己的买卖规则和理论。
合约当前价格Price(code)返回合约code的当前价格,code为合约的合约的代码例:VAR price;//定义一个变量pricePrice=price(“m1009”);//price的值为合约m1009的当前均价某合约当前均价AvPrice(code)返回合约code的当前均价,code为合约的合约代码例:VAR Avprice 定义一个变量avpriceAvprice=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;定义一个变量minpriceMinprice=minprice(“m1009”);minprice的值为合约m1009的最小变动价位二、指令状态模型某合约多头持仓。
F_BuyPosition()返回模型的多头持仓例:Var fmlBBo1;fmlBBo1=F_BuyPosition(); 定义一个变量fmlBVol,FmlBVol为模型的多头持仓。
模型某合约的空头持仓F_SellPosition()返回模型的空头持仓例:VAR fMLSVon1;FmlSVol=F_ellPosition();定义一个变量fmlSVol,fmlSVol为模型的空头持仓。
模型某合约多头持仓成本价。
F_BuyAvgPrice()返回模型多头持仓成本价例:VAR price;Price=F_BuyAvgPrice();定义一个变量price,price的值为模型多头持仓成本价模型某合约空头持仓成本价。
F_SellAvgPrice()返回模型空头持仓成本价例:VAR price;Price=F_SellAvgPrice();定义一个变量price,price的值为模型空头持仓成本价取得当前模型的合约编码。
F_DealCode()返回模型所加载K图表的合约的合约编码(字符串)例:VAR DealCode;DealCode=F_DealCode();变量DealCode的内容为模型当前合约的合约编码。
取得当前模型的周期。
F_Period();Period=F_Period(); 变量period的内容为当前模型所使用的周期。
取得已经初始化的多头持仓。
F_InitBuyVol() 返回模型初始化的多头持仓(整数)。
例:VAR initBuyVol;定义一个变量记录初始多头持仓initBuyVol=F_InitBuyVol();取出初始多头持仓赋值给initBuyVol取得已经初始化的空头持仓。
F_initSellVol 返回模型初始化的空头持仓(整数)。
例:VAR initSellVol;定义一个变量记录初始空头持仓initSellVol=F_InitSellVol(); 取出初始空头持仓赋值给initSellVol刷新当前信号。
F_FreshSig() 取一个新信号(如果模型已经发出了多个信号,取最早发出的信号,信号兄啊是而是一种信号)返回1表示取到新信号,返回0表示失败即已经没有新信号可取,取到新信号以后可以配合F_sig,F_SigVol,F_SigValid,F_SigTime,F_sigPos使用例:IF(F_FreshSig()) 如果取得了新的信号取当前的信号(BK│SK│BP│SP│BPK│SPK)。
F_Sig()返回当前的信号是什么类型(BK│SK│BP│SP│BPK│SPK)例:IF(F_Sig()==BPK&&F_SigValid()==1) 如果信号是BPK且不是信号消失状态取当前信号发生时的价格。
F_SigPrice()取当前的信号发生时刻的价格。
例:IF(F_SigPrice()>3500) 如果信号发生的价格大于3500当前信号是发出的,还是消失的F_SigValid() 返回模型信号存在两种类型之一(信号发出,信号消失),返回1表示信号发出。
返回0表示信号消失。
例:IF(F_Sig()==BPK&&F_SigVolid()==1) 如果信号是BPK且不是信号消失状态当前信号的发出时间F_SigTime() 返回当前信号的发出时间(以总秒数表示),例:IF(SamePeriod(“m1009”,”min10”,LastOrderTime(),F_SigTime())) 如果取得新信号的时间与上次交易的时间是同一个周期当前信号在模型中是第几个指令的语句F_SigPos() 如果当前信号是模型中第5个含信号的语句发出的,返回5例:IF(F_SigPos()==5) 如果当前信号是第5行发出的三、下单接口最后一次下单的时间。
LastOrderTime() 返回最后一次下单的时间,以总秒数表示例:IF(LastOrderTime()-CurrentTime())=300)如果距离上次下单时间超过5分钟查询合约所属交易所的状态。
T_IsExchangeOpen(Code) 返回合约Code所属的交易所的开闭盘状态,开盘返回1,闭盘返回0,查询失败返回-1.例:VAR Status;Status=T_IsExchangeOpen(“m1009”);Status为合约m1009所属交易所当前的开盘状态。
当Status为1时,说明该交易所开盘;当Status为0时,说明该交易所闭盘;当Status 为-1时,说明当前查询失败交易系统某合约多头持仓。
T_BuyPosition(Code) 返回交易系统中合约Code的多头持仓,Code为某合约的合约代码。
例:VAR BuyVol;BuyVol=T_BuyPosition(“m1009”);BuyVol为交易系统中合约代码为m1009的合约的多头持仓。
交易系统某合约的多头盈亏。
T_BuyProFitLoss(code) 返回交易系统合约code的多头盈亏例:VAR BuyEarn;BuyEarn=T_BuyProfitLoss(“m1009”); 定义一个变量BuyEarn,Buyearn的值为交易系统合约m1009的多头盈亏交易系统某合约的空头持仓。
T_SellPosition(Code)返回交易系统中合约Code的空头持仓,Code为某合约的合约代码。
例:VAR SellVol;SellVol=T_SellPosition(“m1009”); SVol 为交易系统中合约代码为m1009的合约的空头持仓。
交易系统某合约空头持仓成本价。
T_SellAvgPrice(code)返回交易系统合约code的空头持仓成本价,code为某合约合约代码,例:VAR SellPriceSellPrice=T_SellAvgPrice(“m1009”);定义一个变量SellPrice,SellPrice的值为交易系统合约m1009空头持仓成本价交易系统某合约的空头盈亏。
T_SellProfitLoss(code)返回交易系统合约code的空头盈亏例:VAR SellEarn;SellEarn=T_SellProfitLoss(“m1009”) 定义一个变量SellEarn,SellEarn的值为交易系统合约m1009的空头盈亏发出委托。
T_Deal(Code,bs,kp,Vol,price),发出委托。
Code(字符串):合约编码,bs(整数0,1):0买1卖,bk(整数0,1,2):0开1平2平今Vol(整数):下单手数,Price(整数或小数):下单价格,0为市价返回唯一委托标识OrderID(字符串)例:VAR orderID=T_Deal(“m1009”,0,0,5,2900);发出委托:m1009买开5手限价2900可用资金。
T_Freemargin(Type),返回可用资金。
Type(整数0,1)0期货1股票,返回可用资金数(小数)例:VAR margin;Margin=T_freeMargin(0); 返回当前期货账户的可用资金数权益T_Equity(Type),返回权益。
Type (整数0,1)0期货1股票,返回权益(小数)例:VAR margin;Margin=T_Equity(0); 返回当前期货账户的权益数某品种最大可开仓手数。
T_MaxOpen(Code,margin,bs),某品种最大可开仓手数。
Code(字符串):合约编码,margin(小数):保证金比例bs(整数0,1):0买1卖返回该品种在当前可用资金,当前价格下的可开仓手数(整数)例:VAR vol;Vol=T_MaxOpen(“m1009”,0.1,0); 变量vol为m1009的在保证金比例为0.1下的可开仓手数查询委托状态。
T_OrderState(OrderID)根据委托唯一标识OrderID(字符串)查委托状态,返回值含义:-1查询失败0挂单1成交2被撤单3部分成交4 其它例:IF(T_OrderState(X)=0) 如果委托X是挂单查询挂单数量T_OpenOrder(Code,Type)返回未成交委托数量,Code:交易编码,Type:0所有方向;1买开;2卖平;3卖开;4买平例:IF(LastOrderTime()-CurrentTime>=300$$T_OpenOrder(ru1009,1)>0)T_OpenOrder(“ru1009”,1) 如果距离上次下单超过5分钟,且存在买开挂单,撤掉剩余买开委托合约X的未成交委托数量委托撤掉T_DeleteOrder(OrderId)根据委托唯一标识orderID(字符串)撤单,返回0撤单发出成功,返回其它失败例:IF(T_DeleteOrder(orderID)!=0)如果撤单失败委托撤单(通过合约代码)T_DeleteOrder(Code,Tyep)委托撤单。