欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    麦语言程序化模型的编写.ppt

    • 资源ID:149139       资源大小:1.25MB        全文页数:47页
    • 资源格式: PPT        下载积分:5
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要5
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    麦语言程序化模型的编写.ppt

    1、文华财经文华财经 研究部研究部课程内容课程内容一、模型的基本结构和跨指标模型的编写一、模型的基本结构和跨指标模型的编写二、跨周期模型的编写二、跨周期模型的编写三、模型中资金管理的编写三、模型中资金管理的编写赢智赢智“麦语言麦语言”MY languageMY language MY 语言的编写基于文华财经wh3平台中。通过本节课的学习,了解文华公式编写平台的基本函数与语法,设计自己的指标和程序化交易策略模型,实现全自动的委托发单交易。泛指指标、模型。没有具体指向性。指标指标 指能够绘出图线但不发交易指令的公式。指标是一个技术分析范畴的概念。交易信号交易信号 指指标上出现的提示投资者买卖的指示,可

    2、以是图线交叉、文字、图形。投资者需要按照信号指示去手动委托下单。交易信号也是一个技术分析范畴的概念。公式:公式:交易模型:交易模型:指能够发出BK、SP等交易指令,模型还包含下单方向,交易手数,止盈止损等与交易、资金使用相关的参数设置。交易模型是一个交易范畴的概念。交易指令:交易指令:指交易模型自动发出的下单委托指令,可以不经过投资者确认直接下单,也可以等待投资者回车确认再下单。交易指令在K线图上以不同颜色和形状的箭头来代表。交易指令是一个程序化交易范畴的概念。例如编写例如编写KDJKDJ指标:指标:RSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LOW,N)*

    3、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,发出买平交易

    4、指令AUTOFILTER;运作模型运作模型:一、模型的基本结构和跨指标模型的编写一、模型的基本结构和跨指标模型的编写1 1、模型、模型编写的语法与操作符编写的语法与操作符 MY language 编写语法MY language 操作符1、命名部分:支持汉字、字母、数字、划线格式命名,长度控制在31字符内。命名不能和已存在的公式名称重复;2、定义变量名称变量名称不能相互重复;不能与参数名重复;不能与函数名重复;3、半角输入法的大写状态;4、每个语句应该以分号结束;MY language MY language 编写语法:编写语法:5、参数部分:可以设置六个参数首先是参数名称,然后是参数的最小值,

    5、最大值,最后是参数的默认值。在定义参数时要注意的是参数名称不可以重复,12个字符内6、运用函数语言,也就是表达你的语言函数具有自己的表达式,运行它就需要将我们的思路,按照函数的表达式套用表述。MY language MY language 编写语法:编写语法:命名命名参数参数模型源码模型源码MY language MY language 操作符操作符如何运用操作符:如何运用操作符:A:(O+C)/2;B:CO;/判断是否收阳;满足条件返回1,否则返回0D:TIME=0900&CO;/用于多条件逻辑关系MA5:=MA(C,5);MA10:=MA(C,10);CROSS(MA5,MA10);其他:

    6、其他:注释或者舍去想要在编写后,加入自己的语言注释,在结尾处用“/”表示;或者想舍去某段,在某段在最前端加入“/”;IFELSE(C,A,B)如果条件C成立则返回A值,否则返回B值编写练习:编写练习:SETTLE引用结算价REF(X,N)引用X在N个周期前的值MA(X,N)求X在N周期内的简单移动平均。定义变量:当根K线最高价;结算价:15周期收盘价均线(显示定义);REF(HH,1);REF(MA15,1);HH:=H;S:=SETTLE;MA15:MA(C,15);衍生:当前K线的前一个周期最高价;当前K线的前一个周期15均线;在编写前,需要将交易思想清晰量化后,通过语言函数编写完成交易模

    7、型基本结构交易模型基本结构1.1.定义需要的每个变量定义需要的每个变量2.2.交易条件交易条件+交易指令交易指令2 2、模型的基本结构、模型的基本结构 MA5:=MA(C,5);MA10:=MA(C,10);MA20:=MA(C,20);CROSS(MA5,MA10),BK;CROSS(MA10,MA5),SP;CROSS(MA10,MA5),SK;CROSS(MA5,MA10),BP;定义思路中涉及到的变量交易条件,写入交易指令模型中使用的交易指令模型中使用的交易指令编写练习:编写练习:关键字:反手指令均线上穿平空做多,均线下穿平多做空;CROSS(MA5,MA10),BPK;CROSS(M

    8、A10,MA5),SPK;具体细化思路:5日均线上穿10日均线,平空做多;5日均线下穿10日均线,平多做空;模型中跨指标,是将多个指标交易思想结合在一起进行看盘模型中跨指标,是将多个指标交易思想结合在一起进行看盘断势。断势。关键词:关键词:多个交易条件多个交易条件1:以均线结合KD交叉指标为例:2:练习编写:MACD、KDJ指标模型。3 3、跨指标模型的编写、跨指标模型的编写 均均线结合线结合KDKD交叉指标模型:交叉指标模型:MA5:=MA(C,5);MA10:=MA(C,10);MA5MA10,BK;/5日均线大于10日均线买入。MA5MA10&CROSS(K,D),BK;/5日均线大于1

    9、0日均线或者KD金叉买入MA5MA10&CROSS(D,K),SP;/10日均线大于5日均线或者KD死叉卖出AUTOFILTER;MACDMACD、KDJKDJ指标模型:指标模型:DIFF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);DEA:=EMA(DIFF,N);MACD:=2*(DIFF-DEA);RSV:=(CLOSE-LLV(LOW,N)/(HHV(HIGH,N)-LLV(LOW,N)*100;K:=SMA(RSV,M1,1);D:=SMA(K,M1,1);J:=3*K-2*D;(CROSS(K,D)&J1),BK;(CROSS(D,K)&REF(J,1)70

    10、)|(CROSS(DEA,DIFF)&MACD70)|(CROSS(DEA,DIFF)&MACD-1),SK;(CROSS(K,D)&REF(J,1)1),BP;AUTOFILTER;总结:多条件下用“()”明确逻辑关系 二、跨周期模型的编写二、跨周期模型的编写跨周期函数介绍跨周期函数介绍引用某品种在某个周期上加载了某个指标的数据。用法:#IMPORT CODE,PERIOD,FORMULA AS VAR引用 CODE 所对应的合约 PERIOD 周期下指标 FORMULA 的数据。CODE 文华码,PERIOD 周期,FORMULA 引用指标名,VAR 定义变量名跨周期跨合约模型的编写规则跨

    11、周期跨合约模型的编写规则1.只能引用.FML/.XFML文件 2.只能引用如下周期:MIN1 MIN3 MIN5 MIN15 MIN30 HOUR1 DAY WEEK MONTH 3.只能短周期引用长周期4.被引用的指标中不能存在引用5.如果不写文华码,默认引用当前合约,也可以直接写合约代码如:rb12016.FORMULA 引用指标名,只能引用除数字、或者数字开头的名称之外的名称。例例 同一合约不同周期的数据调用同一合约不同周期的数据调用要求要求n当日均线出现多头排列时,5分钟KD线金叉,做多。n当日均线出现空头排列时,5分钟KD线死叉,做空。先建立一个指标 名称AAAMA5:=MA(C,5

    12、);MA10:=MA(C,10);MA30:=MA(C,30);在建立你的模型#IMPORT ,DAY,AAA AS VARDM5:=VAR.MA5;DM10:=VAR.MA10;DM30:=VAR.MA40;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;DM5DM10&DM10DM30&CROSS(K,D),BPK;DM5DM10&DM10RM10&CROSS(MA5,MA10)&TIME1450,BK;(RM5=1450,SP;RM5RM10&CROSS(

    13、MA10,MA5)&TIMERM10&CROSS(MA5,MA10)|TIME=1450,BP;AUTOFILTER;思考:思考:不同合约的数据如何调用不同合约的数据如何调用 三、模型中资金管理的编写三、模型中资金管理的编写1、头寸函数函数介绍、头寸函数函数介绍ISLASTBK判断上一个交易信号是否是BK。用法:ISLASTBK 如果上一个交易信号是BK则返回1(Yes),否则返回0(No)ISLASTSK判断上一个交易信号是否是SK。用法:ISLASTSK 如果上一个交易信号是SK则返回1(Yes),否则返回0(No)ISLASTBP判断上一个交易信号是否是BP。用法:ISLASTBP 如果

    14、上一个交易信号是BP则返回1(Yes),否则返回0(No)ISLASTSP判断上一个交易信号是否是SP。用法:ISLASTSP 如果上一个交易信号是SP则返回1(Yes),否则返回0(No)ISLASTBPK判断上一个交易信号是否是BPK。用法:ISLASTBPK 如果上一个交易信号是BPK则返回1(Yes),否则返回0(No)ISLASTSPK判断上一个交易信号是否是SPK。用法:ISLASTSPK 如果上一个交易信号是SPK则返回1(Yes),否则返回0(No)BARSBK上一次买开信号位置用法:BARSBK返回上一次买开仓距离当前k线的k线数。BARSSK上一次卖开信号位置用法:BARS

    15、SK返回上一次卖开仓距离当前k线的k线数。BARSBP上一次买平信号位置用法:BARSBP返回上一次买平仓距离当前k线的k线数。BARSSP上一次卖平信号位置用法:BARSSP返回上一次卖平仓距离当前k线的k线数。BKPRICE买开信号位置的买开信号价位。用法:BKPRICE返回最近一次模型买开位置的买开信号价位。例如:BKPRICE-CLOSE60&BKPRICE0,SP;/如果买开价位比当前价位高出60,且买开价位存在,卖平仓请注意当模型存在连续多个开仓信号(加仓)的情况下,该函数返回的是最后一次开仓信号的价格,而不是开仓均价。注:BKPRICE 只在加载之后的K线上才返回信号价位,历史K

    16、线信号由于无信号价位会返回0,使用时请注意判断BKPRICE0。效果测试中该函数返回信号位置的收盘价SKPRICE卖开信号位置的卖开信号价位用法:SKPRICE返回最近一次模型卖开位置的卖开信号价位。例如:CLOSE-SKPRICE60&SKPRICE0,BP;/如果当前价位高出卖开价位60,且卖开价位存在,买平仓请注意当模型存在连续多个开仓信号(加仓)的情况下,该函数返回的是最后一次开仓信号的价格,而不是开仓均价。注:SKPRICE 只在加载之后的K线上才返回信号价位,历史K线信号由于无信号价位会返回0,使用时请注意判断SKPRICE0。效果测试中该函数返回信号位置的收盘价FEE合约手续费用

    17、法:FEE返回当前合约的手续费(用户启动模组时设置的)。注意不能与未来函数同时使用如ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!MONEY虚拟资金余额用法:MONEY返回虚拟资金余额。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。MARGIN合约保证金用法:MARGIN返回当前合约的保证金比率(用户启动模组

    18、时设置的)。注意与未来函数同时使用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,PE

    19、AK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。MONEYTOT虚拟总资金用法:MONEYTOT返回当前虚拟总资金(虚拟资金余额+持仓保证金)。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。PROFIT虚拟逐笔浮盈用法:PROFIT返回当前的虚拟逐笔浮动盈亏。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。SE

    20、TDEALPERCENT设置下单的虚拟资金使用比例用法:SETDEALPERCENT(fPercent)表示每次按资金的fPercent(范围1100)下单。例子:SETDEALPERCENT(20);/每次按资金比例的%20下单注:应该与AUTOFILTER函数同时使用BUYVOL模型虚拟多头持仓用法:BUYVOL返回模型虚拟多头持仓。注意与未来函数同时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。SELLVOL模型虚拟空头持仓用法:SELLVOL返回模型虚拟空头持仓。注意与未来函数同

    21、时使用ISLASTBAR,EMA2,ZIGZAG,BACKSET,PEAK,PEAKBARS,TROUGH,TROUGHBARS,REFX等可能会导致误差。2、利用头寸函数实现对仓位的加减。、利用头寸函数实现对仓位的加减。注意,交易时要考虑前一信号方向防止锁仓。例:资金管理模型例:资金管理模型-加减仓模型加减仓模型A:=多头交易条件;B:=空头交易条件;E:=多头平仓条件;F:=空头平仓条件;A&NOT(ISLASTBK),BK(2);B&NOT(ISLASTSK),SK(2);BUYVOL2&A&BARSBK1,BK(1);SELLVOL2&B&BARSSK1,SK(1);E&ISLASTB

    22、K,SP(BUYVOL);F&ISLASTSK,BP(SELLVOL);3、利用、利用BKPRICE和和 SKPRICE等函数。编写限价止等函数。编写限价止盈、限价止损和追踪止损。盈、限价止损和追踪止损。例:限价止损、限价止盈模型例:限价止损、限价止盈模型A:=多头交易条件;B:=空头交易条件;E:=多头平仓条件;F:=空头平仓条件;A,BK;E|C=BKPRICE+150,SP;B,SK;F|C=SKPRICE+100|CMA1,BK;/收盘价大于5周期均线,开仓CMA1|(C=(BKPRICE-(ZS*JW)+(BC*JW)*FLOOR(H1-BKPRICE)/(BC*JW),SP;/收盘价小于5周期均线,或者满足追踪止损条件,平仓 谢谢 谢谢 祝交易顺利祝交易顺利


    注意事项

    本文(麦语言程序化模型的编写.ppt)为本站会员(飞猪)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!




    宁ICP备18001539号-1

    三一文库
    收起
    展开