文华赢智程序化交易(WH3)编程函数
赢智程序化交易系统使用说明书 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(三十二如何设置页面保存机制 (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如何使用锁仓、移仓、反手操作。
文华财经WH策略函数列表

3非过滤模型持仓不为0时:BKPRICE2返回交易合约理论持仓的开仓均价.
4非过滤模型持仓为0时:BKPRICE2返回值为0.
3、模组运行,盘中出现BK信号,BKPRICE2取值为交易合约模组多头持仓的开仓均价.
4、该函数在模组运行中读取的是模组实际持仓的开仓均价,非理论持仓.
2设置信号执行方式为K线走完复核例如:在模型中写入CHECKSIG_SECBK,'A',N,'D',0;
BARSBK返回值为上一个BK信号距离当前的K线根数包含当前K线
例:
1、BARSBK>10,SP;
史信号计算中,出现SK信号当根K线,BARSSK返回空值
b.加载运行过程中,SK信号当根K线,信号固定后BARSSK返回空值
3、信号执行方式选择不进行信号复核例如:在模型中写入MULTSIG_SEC或MULTSIG_MIN;,BKBPK信号的当根K线返回从信号发出到K线走完时行情的最高价;BK
BPK信号之后的K线返回信号发出以来行情的最高价.
例:
C>O,BK;
C>BKPRICE&&C<bkhigh-5,sp;
AUTOFILTER;
4、当模组自动初始化时,BKPRICE返回的为上一次买开信号时数据合约行情的最新价;手动初始化,BKPRICE返回为初始化弹出框中填入的持仓价格.
例:
BKPRICE-CLOSE>60 && BKPRICE>0 && BKVOL>0, SP;
史回测:BKPRICE1返回信号发出时的交易合约行情最新价
b.模组运行:BKPRICE1返回信号发出时的交易合约行情最新价
赢智程序化交易培训

赢智“麦语言” MY language
指标 指能够绘出图线但不发交易指令的公式。指标是一个技术分析范畴的概念。 交易指令 指交易模型自动发出的下单委托指令,可以不经过投资者确认直接下单,也可以等待投资者回车确认再下单。交易指令在K线图上以不同颜色和形状的箭头来代表。交易指令是一个程序化交易范畴的概念。 交易模型 指能够发出BK、SP等交易指令,模型还包含下单方向,交易手数,止盈止损等与交易、资金使用相关的参数设置。交易模型是一个交易范畴的概念。
模型
将指标转化为模型:
运作模型:
一、模型的基本结构和跨指标模型的编写
1、模型编写的语法与操作符
MY language 编写语法
1
MY language 操作符
2
MY language 编写语法:
定义变量名称
半角输入法的全英大写状态;
每个语句应该以分号结束;
命名
参数
MY language 操作符
理解以下名词:
KDJ指标源码:
单击此处添加大标题内容
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:SMA(RSV,M1,1); D:SMA(K,M2,1); J:3*K-2*D;
指标
用指标监测行情: K线上穿D线
交易指令
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:SMA(RSV,M1,1); D:SMA(K,M2,1); J:3*K-2*D; //以下是加入的交易指令 CROSS(K,D),BK;//K向上穿越D,发出买开交易指令 CROSS(J,100),SP;//J向上穿越100,发出卖平交易指令 CROSS(D,K),SK;//K向下穿越D,发出卖开交易指令 CROSS(0,J),BP;//J向下穿越0,发出买平交易指令 AUTOFILTER;
文华赢智程序化交易系统

模型源码 命名
参数
Mytrader模型回顾
MA5:=MA(C,5); MA10:=MA(C,10); CROSS(MA5,MA10),BK; CROSS(MA10,MA5),SP;
定义变量 指令 条件
Wh3模型加仓
MA5:=MA(C,5); MA10:=MA(C,10); CROSS(MA5,MA10)&&BUYVOL=0,BK(5); EVERY(MA5>MA10,3)&&BUYVOL>0,BK(1); CROSS(MA10,MA5),SP(BUYVOL);
No
No
Image Image
赢智程序化交易系统
No Image
No Image
软件学习途径
No Image
祝交易顺利
谢谢
画线下单—对行情超快速反馈交易
画画线线开开仓仓
上 下穿穿价 买突突格 入破破上 开箱箱破 仓体体箱 成卖买体 功出入
买卖线触发规则: 画于最新价上方,最新价上穿即触发, 画于最新价下方,最新价下穿即触发。
画线止损止赢
止损止盈触发规则: 多单:下穿触发止损,上穿触发止盈 空单:上穿触发止损,1、下计穿划触突发破前止期盈高点
基本操作简介
专业的程序化交易平台
1.竖式下单
2.横式下单
1、开仓、平仓 逻辑清晰,点按
钮即可完成 2、买平、卖平 智能判断,不必 再为此浪费时间
注:止损单设置保存在本地电脑,电脑断网、断电、软件没有正常开启都会导致止损单无法触发
横式下单
1
2 3
1、开仓、平仓 逻辑清晰,点按
钮即可完成 2、买平、卖平 智能判断,不必 再为此浪费时间
赢智程序化交易系统使用说明书

赢智程序化交易系统使用说明书目录一、常用窗口基本操作在文华赢智程序化交易系统行情列表和技术分析图表窗口,鼠标右键单击分析窗口-插入内容,有14个可选操作窗口,各窗口具体操作说明如下:(一)、自选报价列表1、设置自选合约方法: 右键菜单中选入合约鼠标右键单击自选报价列表窗口——》“选入合约”,在弹出的窗口中选择市场和品种后确定即可。
2、调整报价顺序鼠标右键单击自选报价列表窗口,选择报价顺序调整,选中合约后,鼠标左键单击上移或者下移确定位置后,点击确定即可。
3、抬头格式(域)的调整第一步:鼠标右键单击自选报价列表窗口,选择抬头格式(域)调整。
第二步:在弹出的窗口中进行调整抬头格式的操作。
第三步:保存抬头模板。
可以将一些常用格式域格式保存下来,换至其他页面时可直接调用该种格式。
通过选择报价界面右键菜单中的“保存/调用抬头模板”对自定义的抬头格式域进行保存和调用4、实现多股同列鼠标右键单击自选报价列表窗口,选择多股同列,可实现分时图多股同列;选中一个合约点击多周期同列,可以实现该合约不同周期K线图同列。
5、设置价格预警鼠标右键单击自选报价列表窗口,在弹出的菜单中选择设置价格预警,在价格预警设置窗口中对合约进行警告设置。
(二)、分时走势图分时走势图也叫做即时走势图,它是把市场上的交易信息实时地用曲线在坐标上加以显示的技术图形。
坐标的横轴是交易时间,纵轴是价格。
图中:白色曲线表示该合约的分时成交价格,默认快照频率为1分钟。
黄色曲线表示均价,用价格与成交量的加权计算。
1、查看该合约的涨跌停板位置。
鼠标右键单击分时图窗口,选中“查看停板位置”,即途中出现的小黄线。
注:该功能需在交易系统已登录的前提下使用2、叠加其他合约鼠标右键单击分时图窗口,选中“叠加其他合约”。
选择合约及显示的类型。
注:如需取消叠加可按“鼠标右键单击分时图窗口——叠加其他合约——取消叠加”这一步骤进行合约叠加的取消3、使用画线功能鼠标右键单击分时图窗口,选中“画线”,可以在图表中使用画线分析。
文华“赢智程序化交易系统”培训XXXX0715

多维的效果测试功能
多维的效果测试功能
策略模型与下单组件之间的关系
下单组件——有效控制交易细节
C语言格式, 编写更自由
下单组件包括的函数
下单组件举例
程序化自动交易运行组群
多线程计算——组群后台运行
程序化日内高频交易系统
日内高频收益测算及交易回放
赢智程序化交易系统
软件学习途径
VOLMARGIN 计算当前的持仓保证金。
FEE 返回当前合约的手续费。 (用户启动模组时设置的)
Wh3模型资金管理
MA5:=MA(C,5); MA10:=MA(C,10); N:=(MONEY*0.3)/(C*MARGIN*5); CROSS(MA5,MA10)&&BUYVOL=0,BK(N); EVERY(MA5>MA10,3)&&BUYVOL>0,BK(1); CROSS(MA10,MA5),SP(BUYVOL);
支持账号 群组设置 支持批量 止损功能
6.专有多账号下单界面——跟盘炒单
基本操作简介 多样化下单界面风格
专业的程序化交易平台
MY language 编写格式:
命名部分: 支持汉字、字母、数字、划线格式命名,长度控制在31字符 内。 命名不能和已存在的公式名称重复;
参数部分: 可以设置六个参数, 首先是参数名称,然后是参数的最小值,最大值,最后是参 数的默认值。 在定义参数时要注意的是参数名称不可以重复,12个字符内
祝交易顺利
谢谢
策略模型组件——取消过滤机制
加仓减仓——有效利用可用资金
资金管理——有效控制开仓头寸
MONEY 返回虚拟资金余额。 MONEYTOT 返回当前虚拟总资金。
文华财经WH策略函数列表

2、计算方向移动:DIRECTION:=ABS(CLOSE-REF(CLOSE,9));
3、计算波动性:波动性是市场噪音的总数量,计算了时间段内价格变化的总和。
VOLATILITY:=SUM(ABS((CLOSE-REF(CLOSE,1))),9);
CONSTANT是平滑系数,用麦语言函数可以表示为:
CONSTANT:=SQUARE((ABS((CLOSE-REF(CLOSE,N))/(SUM(ABS((CLOSE-REF(CLOSE,1))),N))))*(2/(P+1)-2/(Q+1))+2/(Q+1));
算法举例:计算C在9周期的,快线频率参数为2,慢线频率参数为30的考夫曼均值。
AMACLOSE:REF(EMA(C,9),1)+CONSTANT*(C-REF(EMA(C,9),1));
ALIGN
设置文字对齐方式(左中右)。
用法:DRAWTEXT(COND,PRICE,TEXT),ALIGNX;
COND条件满足时,在PRICE的位置,标注TEXT,文字按照ALIGNX写入的方式对齐。ALIGN0,ALIGN1,ALIGN2,分别表示左对齐,居中对齐,右对齐。
2、该函数需要有五档行情授权才能取到有效值,否则返回空值。
例:
AA:ASK4;//加载到有五档授权的TICK图中,定义AA为该笔TICK的卖四价;
ASK5
ASK5取得TICK图该笔TICK的卖五价。
注:
1、该函数必须在TICK图中使用,在K线图上返回空值。
2、该函数需要有五档行情授权才能取到有效值,否则返回空值。
程序化交易高级教程文华

目录
第一章 如何优化你的交易策略...................................................................................................... 1 1.1 PANZHENG 函数,减少盘整行情中的交易次数............................................................. 1 1.2 CHECKSIG 函数,实现更具有优势进场价格................................................................. 7 1.3 MULTSIG 函数,在一根 k 线上灵活进出..................................................................... 12 1.4 TRADE_OTHER 函数,在指数交易中的应用................................................................. 17 1.5 拓展思路—结合盘口数据研发策略............................................................................ 27
5
(增加阅读软件的页面放大率可查看清晰图片) 加入 PANZHENG 函数后,代码如下 MA10:=MA(C,10); C>MA10&&PANZHENG=0,BPK;//非盘整行情中,价格大于 10 周期均线,做多 C<MA10 &&PANZHENG=0,SPK;//非盘整行情中,价格小于 10 周期均线,做空 AUTOFILTER; 如下图所示 胜率提升 14% 盈利率提升 37% 最大回撤减少 45% 年化盈利率提升 21% 单次交易盈利能力提升 40% 减少盘整行情中的交易次数后,不仅仅盈利能力得到提升,模型的稳定性同时也得到大幅度提升, 大大提高了模型的可执行性
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
合约当前价格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)委托撤单。