期货程序化自动交易教程

期货程序化自动交易教程
期货程序化自动交易教程

期货程序化自动交易教程

自动化交易教程

历经16年金融风雨,经历了全球市场所有商品的真实磨练

准确、迅速、无所不能是投资家的目标

自动化交易教

程 ..................................................................... ............ 错误~未定义书签。 1. 把交易思路告诉计算机 --- 交易公式的创造 ......................... 错误~未定义书签。 2. 让公式跑起来 --- 组装交易策略........................................... 错误~未定义书签。 3. 多种入仓方式 --- 灵活使用先进的武器 ................................ 错误~未定义书签。

入仓...................................................................... ............... 错误~未定义书签。

出仓...................................................................... ............... 错误~未定义书签。 4. 各取所需 --- 价位驱动和时间驱

动 ....................................... 错误~未定义书签。 5. 不可或

缺的所见所得的创作手段 --- 仿真测试...................... 错误~未定义书签。 6. 图形化交易 --- 手工和自动的完美结合,让机器完成团队的工作错误~

未定义书签。

7. 附录一博雅语言教

材 .......................................................... 错误~未定义书签。

Boya说

明 ..................................................................... ....... 错误~未定义书签。

变量、数组与序列变量......................................................... 错误~未定义书签。

系统关键词、注释和说

明 ..................................................... 错误~未定义书签。

输入数据...................................................................... ........ 错误~未定义书签。

运算符、表达式和赋值......................................................... 错误~未定义书签。

控制语句...................................................................... ........ 错误~未定义书签。

系统函数...................................................................... ........ 错误~未定义书签。

子程

序 ..................................................................... ............ 错误~未定义书签。

隐含执行过程和自控循

环 ..................................................... 错误~未定义书签。

DLL方

式 ..................................................................... ........ 错误~未定义书签。

举例...................................................................... ............... 错误~未定义书签。 8. 附录二多周期共振公式代

码 ................................................ 错误~未定义书签。

1. 把交易思路告诉计算机 --- 交易公式的创造

交易者一般都有自己一套完备的交易思路,这套思路包括什么条件下开仓、什么条件下加仓、什么条件下平仓、什么条件下止盈止损等等。如果要想把这套思路让计算机自动执行,必须得描述给计算机。这个描述的手段有不少,最主要的手段就是创造交易公式。创造好了交易公式,自动化的工作就完成的大部分。本小节我们就以一个例子为代表,描述一下交易公式的创作过程,具体的语法大家参考附录一。

假设一个期货交易者,交易思路如下:

开多仓的条件:1分钟5分钟15分钟的MACD的DIFF都高于MEA

平多仓的条件:1分钟 MACD的DIFF低于MEA

开空仓的条件:1分钟5分钟15分钟的MACD的DIFF都低于MEA

平空仓的条件:1分钟 MACD的DIFF高于MEA

止盈的条件:无

止损的条件:5个步长动态止损

鉴于商品期货和大盘指数的对应关系,还希望平仓条件加入大盘的因素,比如,大盘1分钟、5分钟均线向上也作为平空单的条件,1分钟、5分钟均线向下也

作为平多单的条件。

这个公式怎么创作呢? 为了高效,我们先创作两个子公式,一个MACD的公式,一个是大盘均线方向的描述的公式。当然,MACD这个公式系统里有,我们不需再创

作,只是展示出来让大家看一下。

MACD的子公式:

//MACD的算法

DIFF = 对数平均(收盘价,P1) - 对数平均(收盘价,P2);

DEA=对数平均(DIFF,P3);

MACDV=2*(DIFF-DEA);

//三个输出

连线(DIFF,0);#outportdef("DIFF",0xff8040,1,1,1,0,0)

连线(DEA,0);#outportdef("DEA",0xff0080,1,1,1,0,0)

色棒线(MACDV,0);#outportdef("MACD",0x8080ff,1,1,1,0,0,2)

大盘方向的子公式,我们命名它叫”大盘方向”:

//加载上证指数的收盘价

a = 加载数据(0, 1, 收盘价);

//求5周期均线

b = 算术平均(a,5);

//判断均线的方向

d = 0;

if(a>b && b>前面的值(b,1))

d = 1;

if(a

d = -1;

//把得到方向的数值输出

连线(d);#outportdef("Dir",0xff0000,1,1,1,0,0)

为什么要先创作这两个子公式,因为这两个部分要被多次引用,为了简洁方便,我们先写两个子公式。从下面主公式的书写就可以看到这一点。

主公式(命名为多周期共振)代码:

//引用1分钟MACD的输出

DIF1 = MACD(12,26,9).DIFF;#period(MIN1)

DEA1 = MACD(12,26,9).DEA;#period(MIN1)

//引用5分钟MACD的输出

DIF5 = MACD(12,26,9).DIFF;#period(MIN5)

DEA5 = MACD(12,26,9).DEA;#period(MIN5)

//引用15分钟MACD的输出

DIF15 = MACD(12,26,9).DIFF;#period(MIN15)

DEA15 = MACD(12,26,9).DEA;#period(MIN15)

//引用大盘方向

DP1 =大盘方向.Dir;#period(MIN1)

DP5 =大盘方向.Dir;#period(MIN5)

大家看,MACD公式被引用了3次,大盘方向被引用了2次。那现在我们就把上面

那个交易者的操盘思路描述一下:

//开多仓条件

bOcnd= DIF1>DEA1 && DIF5>DEA5 && DIF15>DEA15;

//平多仓条件

sCcnd = DIF1

//开空仓条件

sOcnd = DIF1

//平空仓条件

bCcnd = DIF1>DEA1 || (DP1>0 && DP5>0);

//买开仓,使用系统隐含数量和价位策略

买开仓(bOcnd, 0, 0, 1, 0, 0);

//卖开仓,使用系统隐含数量和价位策略

卖开仓(sOcnd, 0, 0, 1, 0, 0);

if(bCcnd)

{

//得到空单仓位

scw = 得到仓位(0,0,1,0);

//买平仓,也就是平空仓,使用系统隐含数量和价位策略

买平仓(scw>0, 0, scw, 1, 0, 0);

}

if(sCcnd)

{

//得到多单仓位

bcw = 得到仓位(0,0,0,0);

//卖平仓,也就是平多仓,使用系统隐含数量和价位策略

买平仓(bcw>0, 0, bcw, 1, 0, 0);

}

到此为止,这个公式就基本描述完了。这个思路基本上都是使用的价格趋势类指标作为决策的依据,这类指标有随价格变化而变化的属性,原则上讲不能做到料敌机先,所以存在交易信号的来回变化的问题,一些朋友希望用在每根K线结束的时候再发出信号,还有,一旦有了仓位,在一个价格区间内不要来回交易,突破指定的2个步长的价格带,再做平仓和反手的操作,怎么改写, 下面改写过的公式作为附件2供大家参考,这里只简单截图如下:

基于该投资者的止盈止损比较简单,5个步长动态止损,这个系统设置很容易实现,故就不在公式里编写了。

这个例子虽然简单,但是书写起来还是需要一定的编程技术,投资家平台另外提供了一个图形化的公式创造环境,不熟悉编程语言编写的朋友,可以尝试使用这个图形化平台。

2. 让公式跑起来 --- 组装交易策略

如果想让自动跑起来,怎么办,那就要把交易公式组装成一个交易策略,主要要

指定监控哪些品种,止盈止损的设定,仓位的隐含信息设定等等。我们还是举例说

明,还是以上面的公式为例。

交易策略只需组装一次,以后每次交易直接登入交易系统就行了。组装成交易策略的步骤如下:

1. 打开巫师选股平台

2. 指定筛选范围,也就是设定同时监控几个合约:

3. 指定使用的公式和跟踪的周期

设定完范围后,按“下一步”,指定交易公式。

设置周期为5秒钟。为什么要这么短的周期,因为对提高利润率很有帮助。确定后,再按”下一步”,设定选股结果直接到交易平台和多空都做。之后保存选股方案到”多周期共振.sel”,如下图:

4. 打开交易平台,配置并生成交易策略:

用热键ALD+D或者工具条上的图标或者菜单,打开交易平台,如下图:

按下设置按钮,进行交易策略配置,如下:

指定入仓方案为”多周期共振.sel”并填写完其他的选项后,确认返回即可。因为我

们的公式中,既有入仓也有出仓,所以,出仓方案可以空置。如果出仓和入仓使用独

立的方案,那就都需要填写。我们也可以把这些所有的设置保存为一个交易策略,比如

叫”多周期共振.tpc”,以备切换策略的时候,方便调用。确定返回后,登入交易系统,

自动交易就开始了。

当然,没必要每次打开系统都配置交易策略,软件打开后可直接登入交易系统,

登入的时候,总是隐含调入最后一次使用的交易策略。

登入交易系统后,监控将在后台运行,和界面上任何操作互不影响。当然,界面的

图形也可以自动或者手工下单,这个后面再介绍。

本节只是介绍了价位驱动方式的自动交易方法,投资家还有多种入仓的方式,这

些内容将在下一节介绍,进入下一节之前,先给大家介绍几个概念。 , 仓指的是和该平台连接的交易系统持有的所有品种,包括股票、期货、股指期货、权证、外汇、期权等所有金融品种。

, 入仓

是指向仓内输送满足条件的金融品种,也就是买入和开仓的过程。 , 出仓是指向将仓内满足条件的金融品种卖出或平仓。

, 选股方案和预警方案

是多层投资家公式的组合。这些公式可以是不同的理念,不同的周期。方案有一个监控或者选择的范围,比如可以是监控所有A股,也可是以监控所有的期货主力合约,也可以只监控一个股指期货品种。选股方案和预警方案可以通用,选结尾,预警方案文件名以“.war”结尾,两种文件可以互股方案文件名以

“.sel”

换。两者都存放在plan目录下.

, 价位驱动实时选股平台

是投资家多层次选股平台,每笔价位到达时都会实时检测是否有满足方案的品种出现,如果有满足买入或卖出条件的品种出现,则提示或者自动送入交易平台(入仓)。

, 价位驱动实时预警平台

是投资家多层次监控预警平台,每笔价位到达时都会实时检测是否有满足方案的品种出现,如果有满足买入或卖出条件的品种出现,则提示或者自动出仓。 , 时间驱动选股平台

是投资家多层次选股平台,不是每笔价位到达都驱动选股,而是一定时间间隔筛选一次,时间间隔可以设定。其公式的选股范围的设定和价位驱动平台类似。本平台可以运行多个而不像价位驱动只能运行一个。和价位驱动一样,品种一旦选出,则提示或者自动送入交易平台(入仓)。这种方案的文件名是“.tds”结尾,他和“.sel”可以互相转换。Tds文件和sel文件一样,存放在plan目录下. , 选股巫师

设计筛选方案,手工运行方案的筛选工具。

, 画线告警

所画之线大都可以设置穿越告警,穿越告警之时,也可以形成入仓的动作。 , 价位告警

所设置价位告警满足时,也可以形成入仓的动作。

, 短线精灵

单公式(非多层)价位驱动的实时监控工具,每笔价位到达时都会公式运行。如

果有满足买入或卖出条件的品种出现,则提示或者自动送入交易平台(入仓)。

, 公式直接入仓

通过公式平台里的四个函数(买开仓、卖开仓、买平仓、卖平仓),也可以直接

从公式入仓。

, 手工操作

是手工入仓或出仓。

, 交易策略

是指平台的整个交易配置的总和,包括出入仓方案,止盈止损方法,多空隐含量,登录需要暂停与否等等交易参数。交易策略文件名以“.tpc”结尾, 从放在config目录下.

3. 多种入仓方式 --- 灵活使用先进的武器

投资家的自动交易平台是一个功能强大的平台,也是一个经过多年验证和考验

的平

台,支持多种多个入仓和出仓的方式。投资家自动交易的体系结构如下图所示: 时间驱动选时间驱动选股价位驱动实时股选股平台N 平台平台1

画线预警价位告警

图表公式手工操作

手工确认环节(可省略)

价位驱动预警

止盈止损监控方案

持仓等数据库

柜台接口

入仓

入仓的方法有以下几个:价位驱动实时选股平台、时间驱动实时选股平台、短线精灵、选股巫师、画线预警、价位告警。当然还有手工下单,比如输入一些压力支撑位或者阻力位的买卖单。

1. 价位驱动实时选股平台

此平台已经在上一节里介绍过,故从略。

2. 时间驱动实时选股平台

如下图所示,“工具”菜单可以调出相应功能。

3. 短线精灵

如下图所示,“工具”菜单可以调出相应功能。

4. 选股巫师

如果选股巫师选择了“结果到交易平台”,那么每次手工选股,最后的结果都会

入仓。

5. 画线预警

所画之线大都可以设置穿越告警,穿越告警之时,也可以形成入仓的动作。首先需要在画的线上设置告警(具体设置方法是在线条之上点鼠标右键,通过菜单实现),如下图:

如果希望价格上穿或者下穿次线条的时候,给出买入卖出的动作,还需要在画笔属性里面选中相应选项,如下图。注意,“穿越告警线到交易平台”和“交易结束再给交易信号”可以针对某个线段独立设置,线段之间互不干扰,但是最后一个的属性将作为隐含属性被记忆。当“交易结束再给交易信号”设置之时,信号如果在周期结束之时仍然是穿越状态,才会发出指令。但是交易之外的系统的告警并不受此限制。

6. 价位预警

当价位告警满足条件是,也可以作为入仓的条件。价位告警的设置在系统菜单里。每

条价位告警可以单独设置是不是触发下单,每条之间各自独立,互不干扰。如下图所

示。

出仓

出仓的方法可以有以下几个:价位驱动实时预警方案,止盈止损,手工干预。

1. 价位驱动实时预警方案

和价位驱动实时选股方案入仓相似,只不过它所监控的范围不是固定死的,而是随着

持仓的变化而动态变化,始终监控持仓内容,如果有满足条件的品种,马上出仓,如

果需要手工确认,则放入确认队列。

2. 止盈止损

系统开启止盈止损原则后,一旦满足条件,自动出仓。系统的止盈止损原则在交易系

统的设置里面完成设置。如下图。

3. 手工干预

, 在双击键为交易状态时(子窗菜单之双击鼠标左键下单),打开交易平台后,在

任何子窗双击鼠标左键,调出下单对话框。

, 快捷键下单:

i. 点击某品种(可以是报价窗口,技术分析、单品种等任何窗口中的品种),然

后Alt+C, 则可以平掉本品种所有的开仓或者卖出该品种。Alt+B是买开仓,Alt+S是卖开仓。

ii. 双击交易平台的持仓列表和历史交易列表可以手工开平仓 iii. Alt+M可以调出手工下单界面进行下单操作

iv. Alt+T可以以指定价位调出手工下单界面进行下单操作

v. Alt+W撤掉所有挂单,Shift+B\ Shift+S\ Shift+O\ Shift+C 分别是撤掉所有的买

单,卖单,开仓单,平仓单。

vi. Alt+K是平掉所有仓位,Shift+K\Ctrl+K分别是平掉所有多单和空单。等等。 vii. Shift+T是反手所有多单,Ctrl+T是反手所有空单。

4. 各取所需 --- 价位驱动和时间驱动

所谓价位驱动,就是每一笔数据到达都要驱动平台筛选一次。对一些激烈变化的品种,每天大概有几万笔的数据,比如橡胶合约就是如此。于自动交易而言,我们当然希望尽可能抓到起点,如果使用隔一段时间筛选一次,而不是每笔价位都筛选,那么可能漏掉很大利润或者造成很大损失。因为很多激烈品种的价格变动可能在几十秒之间就已经完成了大部分内容。所以价位驱动是利润提升的不可缺少的手段。一个好的交易公式,不仅要检测大周期的数据,也要检测tick等这样最基本的数据,这样才能

见微知著,做好自动交易。

当然,对于股票等T+1以上的商品而言,价位驱动是不太必要的,因为股价的变化要慢得多,这时候,时间驱动可能又成了合适的选择。所以根据自己的需求,使用不同的入仓方法,才是正确的自动交易之道。

比如对于对冲基金而言,可以用时间驱动大范围筛选股票,用价位驱动完成对变化快的商品的筛选,比如股指期货。这样,各种方案在一台机器上就可以运行,各取

完成利润的最大化。所需,

投资家同时支持价位驱动方式和时间驱动方式,他们都可以是多层次筛选,同时都可以跟踪多个品种,跟踪数目可以上万个。

5. 不可或缺的所见所得的创作手段 --- 仿真测试

交易开拓者(TB)编程初级篇

交易开拓者(TB)期货程序化交易编程 本文仅是写给完全不懂编程的朋友的,仅是最基本的入门资料。 TB里面代码执行 1,代码从第一根K线开始执行,一直到最后一根K线; 2,在每一根K线上,代码都是从第一行开始执行,一直到最后一行; 我们就写个输出每日的收盘价的例子; 打开TB,在左边的TB公式里面,点击新建技术指标, 然后在出来的公式编辑器里面输入 Begin End 注意,除了参数和变量定义外,所有的代码都必须包含在Begin和End之间 我们再在Begin和End之间输入一些代码,完整的就是: Begin FileAppend("c:\\",Text(Year)+"年"+Text(Month)+"月"+Text(Day)+"日的收盘价等于"); FileAppend("C:\\",Text(Close)); End 我们再说说这两行代码是什么意思 File就是文件,Append就是添加,现在明白了吧 FileAppend就是添加一个文件,文件名是什么呢就是你后面写的,这个文件的路径在哪里呢就是c:\\里面的C盘,且在这个文件里面添加一行东西, 这行东西的内容就是你后面所写的Text(Year)+"年"+Text(Month)+"月"+Text(Day)+"日的收盘价等于" 当然,如果这个文件已经存在,他就不会添加文件了,仅仅在这个文件的后面添加一行上面你写的内容 好了,再看看Text,Text的意思就是把那些不是字符串的东西如数字啊,等变成字符串.而Year,Month,Day就代表了正在执行你写的代码的那一根K线的年,月,日,年月日是数字,我们当然要用Text把它搞成字符串 CloseK线的收盘价啊,如果代码执行到最后的那根K线 我们点公式编辑器上面的工具栏的第五个按钮(打勾的那个东西),校验保存公式,稍微等一下,就OK了 我们在回到K线图里面,TB把K线图叫做超级图表 在K线图里面右键,选择商品设置,然后吧里面的样本数由默认的300改成5,意思是让在超级图表里面仅仅显示5条K线,点确定后,你就看到在K线图里面只显示了5跟K线, 当然现在代码还不能被执行,因为我们现在还需要把我们刚刚所写的那个指标加到K线图上面才能被执行的 我们上面说了,我们这个例子仅仅是把每日的收盘价写到文件里面去啊,那么我们找一找文件在什么地方咯FileAppend("c:\\",很明显,文件是在c盘的,文件的名字是 好了,我们到c盘找到文件,双击打开,我们就会看到下面的内容: 2007年9月24日的收盘价等于 67280 2007年9月25日的收盘价等于 67800 2007年9月26日的收盘价等于 67160 2007年9月27日的收盘价等于 67300 2007年9月28日的收盘价等于 68020

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

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

商品期货交易策略的数学模型.

商品期货交易策略的数学模型 摘要 商品期货交易在当前中国的经济体系中占据着很重要的作用,投资者都希望从大量的期货交易中获取一定的利润,但是期货交易作为一种投机行为,交易者置身其中往往要承担很大的风险,本文研究了商品期货交易中的一些问题,给出了获取较大收益的交易方式。 问题一:我们首先利用SPSS中的模型预测方法给出了橡胶期货交易各项指标在9月3号这天随时间推移的波动图,又给出了利用Matlab软件作出的成交价与各个指标的相关性图表。分析所作的图得出的结论是商品期货的成交价与B1价、S1价具有显著相关性,与成交量、持仓增减、B1量、S1量也具有相关性而与总量不具有相关性。最后利用SPSS软件双变量相关分析进一步确认其相关性指标。为了对橡胶期货价格的这些变化特征进行分类,我们作出了成交价19天的波动图,并以持仓量为例分析其他指标的变化特征,将七项指标分成了上涨和周期波动两类。 问题二:本文采用了回归分析的方法建立价格波动预测模型。首先介绍回归分析的基本原理与内容,叙述了回归分析中用到的最小二乘法,之后在第一问的基础上建立回归分析的数学模型,得出函数关系,算得价格的波动趋势并与实际数据对比,再分析模型中的残差数据,验证所建立的回归模型合理性。 问题三:为建立收益最大化的交易模型,本题我们分析价格的波动数据后,借助移动平均线的理论方法,再分析价格的“高位”与“低位”,得出买点卖点。建立交易模型后,利用MATLAB 软件分析出合适的交易时机,并画出图形,利用所给数据根据建立的模型计算收益。 关键词:期货交易波动 SPSS软件回归分析

我国商品期货交易的品种迅速增加,吸引了大量交易者的参与,如何从商品期货的交易中获取相对稳定的收益成为交易者非常关注的问题。商品期货交易实行T+0的交易规则,所开的“多单或空单”可以马上平仓,从而完成一次交易,这样就吸引了大量的投机资金进行商品期货的日内高频交易。某种商品价格在低位时开“多单”,当价格高于开“多单”的价格时平仓,或者,价格在高位时开“空单”,当价格低于开“空单”的价格时平仓,差价部分扣除手续费后就是交易者的盈利;反之则是亏损。 现在题中给出了2012年9月相关商品期货交易的成交数据,让你以所给数据为基础,建立数学模型解决下面的问题: 1、通过数据分析,寻找价格的波动和哪些指标(仅限于表中列出的数据,如持仓量、成交 量等指标)有关,并对橡胶期货价格的波动方式进行简单的分类。(提示:这里的波动方式是指在某一时间段内(简称周期)价格的涨跌、持仓量的增减、成交量的增减等指标的变化特征。周期的选取可以短到几秒钟,长到几十分钟甚至是以天为单位,具体时长通过数据分析确定,较优的周期应该是有利于交易者获取最大的盈利)。 2、在实时交易时,交易者往往是根据交易所提供的实时数据,对价格的后期走势做出预测 来决定是开“多单”还是开“空单”。请在第1问的基础上建立合理的橡胶价格波动预测模型; 3、橡胶期货交易的手续费是20元/手,保证金为交易额的10%,设初始资金为100万。请 利用前面已经得到的相关结果,建立交易模型,使交易者的收益最大; 4、试分析确定合理的评价指标体系,用以评价你的交易模型的优劣。(这一问为选做) 2.模型假设与符号说明 2.1模型的假设 1.由于题中所给指标外的其他因素对期货价格波动影响较小,可以忽略,认为价格的波动只受所给指标影响。 2.假设所给的19天的数据能准确反映期货交易中出现的各种变化特征情况。 3.假设不考虑交易模型中交易者的主观因素。 2.2符号说明 B1价指的是买1价、B1量是指买1量、S1价指卖1价、S1量指卖1量。在问题二的回归分析中,x1指成交量,x2指总量,x3指属性,x4指b1价,x5指s1价,x6指b1量,x7指s1量。

期货程序化交易

1.什么是程序化交易? 程序化交易是交易员根据自己的交易思想,借助市场技术指标,将进场条件和离场条件定量化,形成交易模型。再将交易模型编写成计算机程序,当价格的变化满足预设条件时,由计算机自动激发买入或卖出信号。 2.程序化交易相对于一般交易有哪些特点,其主要解决哪些问题? 凡是交易决策和交易执行过程中的一切环节是程序化的,机械的就是程序化交易。一般来说,程序化交易是指利用计算机语言将人的交易策略和思想编辑成交易模型,当交易模型中设定的买卖条件被满足后,由计算机程序自动发送下单指令完成交易。 程序化交易并不是和计算机必然联系的,它指的是一种交易的决策和执行方式,与它相对应的是主观交易。即使交易决策是基本面分析,交易执行是人工手动下单,但整个流程都是程序化的,那么也属于程序化交易或系统化交易。具体的程序化交易如何进行,取决于投资者自身交易策略的需要。 程序化交易的特点和优势:首先是“死的”不是“活的”。这种客观的,机械的交易决策和执行方式排除了人在交易中的非理性的感情因素,解决了交易中的纪律性问题。这也是程序化交易取得成功的关键。其次是可以做到“心中有底”,而不是交易中人们时常感觉的“没底”。程序化交易的策略具有可验证性,由于交易策略是定量的,因此每一种策略在使用前都可以运用科学方法对其进行历史或实盘的效果测试,做到在正式投入使用前定量地掌握该交易策略的收益、风险对应的概率。不理想的话就重新设计直到认同。

每一个市场参与者都有自己的交易策略,和自己的交易纪律性。让交易策略或计划更科学,更符合客观实际;让充分准备的计划被严格的执行,就是程序化交易主要解决的问题。 3.假设一种程序化交易方式被众多投资者竞相使用,会不会带来程序失效?作为程序化交易的设计者,应如何避免这一类问题? 这要看具体的交易策略。按交易策略可以分为高频交易,趋势性交易,统计套利交易等若干种,他们都采用的是程序化交易的方式。其中一些持仓时间周期短的策略如短期套利交易会出现用的人越多越不利的问题。而人多对趋势交易则没有影响。 如果是短周期交易者的话不能避免这一类问题,只能力争在竞争中取胜。这就需要提高自己交易模型的科学性和自己的交易科技,也就是计算机技术支撑。 4.华西期货从什么时候开始尝试程序化交易,资金量有多大?是不是国内所有的商品期货品种都可以利用程序化交易?在哪种市场环境下,程序化交易的作用可以发挥到最大? 华西期货从2008年8月开始引入程序化交易。现在,程序化交易客户的交易量占华西期货总交易量的60%。 所有期货品种以及股票都可以进行程序化交易,它是一种交易方式。至于有些品种是否适合某些交易策略则要具体分析。

程序化交易系统大全

程序化交易系统大全 (收集了主流程序化交易系统) 一、趋势跟踪类 1、海龟交易系统 2、趋势线突破交易系统 3、波动性突破交易系统 4、通道突破交易系统 5、四周规则 6、NEWS交易系统 7、MACD交易系统 8、EMA交易系统 9、均线交易系统 、三重滤网交易系统 1010、三重滤网交易系统 1111、、SAR交易系统 1212、、OBV交易系统 (另有 克罗均线系统、、时间价格 双均线交易系统、、克罗均线系统 (另有::双均线交易系统 单均线交易系统、、趋势跟踪类全套多空强弱、、单均线交易系统 突破 突破、、LSS多空强弱 鳄鱼法则等系统)) 浮动波动性突破、、鳄鱼法则等系统产品 产品、、不动如山SAR SAR、、浮动波动性突破 二、反趋势振荡类 1、网格交易法 2、海岸线交易系统 3、假突破交易系统

5、薛斯通道交易系统 6、经典K线交易系统 7、RSI交易系统 8、KDJ交易系统 9、乖离率交易系统 、江恩回调带交易系统 1010、江恩回调带交易系统 、技术背离交易系统 1111、技术背离交易系统 、量价背离交易系统 1212、量价背离交易系统 BOLL通道交易、反四周 法则、BOLL (另有:维克多123法则、 规则 单摆震荡原理、、LSS轴点封套 轴点封套、、BIAS交易SLOWKD、、单摆震荡原理 规则、、SLOWKD 动能震荡、、分形交易系统等系价格通道交易、、ROC动能震荡 系统、、价格通道交易 系统 统) 三、波段交易类 1、海浪交易系统 2、天堂地狱交易系统 3、矩形交易系统 4、旗形交易系统 5、楔形交易系统 6、三角形交易系统 7、八段交易系统 8、波浪理论交易系统

程序化初级交易模型总结

阶段涨幅:(CLOSE-REF(CLOSE,N)/REF(CLOSE,N); 再创新高:HIGH=HHV(HIGH,N); 放量上攻:CLOSE/REF(CLOSE,5)> &&VOL>MA(VOL,5)*3; 窄幅整理:(HHV(CLOSE,20)-LLV(CLOSE,20))/CLOSE,; 均线多头排列:MA(CLOSE,5)>MA(CLOSE,10) && MA(CLOSE,10)>MA(CLOSE,20);前期高点及其位置:HHV(HIGH,20) HHVBARS(HIGH,20); 60天前到40天前的最高价格: REF(HHV(HIGH,20),40) 动态平均EMA(X,N) SMA(X,N,M) SMA(CLOSE,VOL) 点到面转化 COUNT SUM HHV LLV 面到点转化 CROSS 线性回归 SLOPE(CLOSE,10)/REF(CLOSE,10)>; 之字转向 PEAK TROUGH PEAKBARS TROUGHBARS 大阳线 LOW=OPEN &&CLOSE=HIGH&&CLOSE/OPEN>; 穿头破脚 C/O> &&OPENREF(OPEN,1); 吊颈 O=H && (OPEN-CLOSE)/(HIGH-LOW)<1/3 && (HIGH-LOW)/HIGH>; 低开大阳线 OPEN ; 跳空缺口 LOW>REF(HIGH,1) && LOW/REF(HIGH,1)>;

MA普通金叉 CROSS(MA(CLOSE,5),MA(CLOSE,10)) && MA(CLOSE,5)>MA(CLOSE,10) && MA(CLOSE,10)>MA(CLOSE,20) 3条均线多头排列持续3天CC:= MA(CLOSE,5)>MA(CLOSE,30) && MA(CLOSE,10)>MA(CLOSE,30); EVERY(CC,3)=1 ; 均线死叉 CROSS(MA(CLOSE,10),(CLOSE,5)); 当日成交量放大2倍的金叉 CROSS(MA(CLOSE,5),MA(CLOSE,10)) && VOL/REV(VOL,1)>2 KDJ指标RSV:=(CLOSE-LLV(LOW,N1))/(HHV(HIGH,N1)-LLV(LOW,N1))*100; K:=SMA(RSV,N2,1); D:=SMA(K,N3,1); 综合判断条件 CROSS(K,D)&&D ; RSI指标N1[ N2[ := REF(CLOSE,1); RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100; RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100; WR指标N[ 综合判断条件 CROSS(WR,80) CROSS(WR,20) MACD指标L1[ L2[ L3[ DEA:EMA(DIFF,L1); MACD:2*(DIFF-DEA),COLORSTICK;

期货程序化交易策略研发

.. .. .. 期货程序化交易策略研发 .专业资料.

.. .. .. .专业资料. 摘要 期货程序化交易起源于欧美国家,随着计算机技术的发展,程序化交易得到了快速的发展。程序化交易主要通过阿拉法模型、交易成本模型和风险控制模型三个模型构成,通过对历史数据的分析寻找阿拉法策略,通过多策略组合实现能够收益稳定回撤可控的程序化策略组。本文主要是通过对程序化交易各个环节的特点进行剖析,实现通过数量模型就能稳定盈利的方法。 关键词:阿拉法模型,交易成本模型,风险控制模型,数据,多策略组合

.. .. .. .专业资料. Abstract Futures program trading originated in Europe and the United States, with the development of computer technology, program trading has been rapid development. Program trading is mainly constituted by alpha model, transaction cost model and risk control model of three model, by finding the Alpha strategy for the analysis of historical data, the combination of strategies can yield stable retracement controllable program strategy group. This paper is mainly through the analysis of characteristics of every part of the transaction on the program, through the method of quantitative model can stable profit. Key Words:Alpha model, Transaction cost model, Risk control model, Data, Multiple strategies

文华程序化交易说明文档

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

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

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

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

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

职业操盘手培训教程

职业操盘手培训教程是广州智航旗下:领航者期货培训网,是目前国内专业培养期货职业操盘手的培训机构。领航者期货培训网十几年来以专职期货操盘手教育,期货股票外汇编程教育为主线。服务于国内期货人才教育领域,致力于为中国期货行业培养紧缺实用人才。经过多年的发展,让更多的期货散户投资者学习到更专业的期货操盘技术。 教程内容简介 本教程由职业操盘手培训教程基础教程和职业操盘手培训教程两套组成。 第一套职业操盘手培训教程基础教程简介: 是以基础为主,主要介绍讲解了目前国内市场的几种交易模式,例如:短线交易,套利手法,套利保值等的。 各种指标在实战中的运用技巧,期货实战技术精华讲解。通过近千幅幅实战示例图让期货学员在短时间内充分了解各种交易模式的交易方法及技巧。 详细的讲解了程序化编辑,交易模型的编辑。资金管理,风险控制,决策体系建立等为主。让我们的学习更加专业化。 教程目录: 1、短线交易技巧。 2、套利交易技巧。 3、程序化交易。如何把技术指标转换成程序化交易。 4、交易系统模板指标编辑,设计及实战中使用技巧。 5、各种技术指标买卖技巧,参数的设置。 6、期货风险控制,资金管理及决策体系建立。 7、技术分析详解,日常交易及下单软件设置技巧。 8、所有实战技术分析讲解。 让期货初学者在很短的时间就可以学会技术分析,让长期无法获利的期货投资者豁然开朗,走出亏损困境,真正意义上的做到进场有依出场有据,明明白白的计划着你的交易,交易着你的计划。 第二套职业操盘手培训教程简介: 第二套直奔主题,全部是实战技术,是初中级主要内容,都是目前国内在职操盘手通过10几年的实战经验总结出来的行情分析方法。各种指标的与散户不同的分析方法。 职业操盘手通过实战总结出来的10几种职业操盘手常用的进出场方法,各种行情的不

期货程序化自动交易教程

期货程序化自动交易教程 自动化交易教程 历经16年金融风雨,经历了全球市场所有商品的真实磨练 准确、迅速、无所不能是投资家的目标 自动化交易教 程 ..................................................................... ............ 错误~未定义书签。 1. 把交易思路告诉计算机 --- 交易公式的创造 ......................... 错误~未定义书签。 2. 让公式跑起来 --- 组装交易策略........................................... 错误~未定义书签。 3. 多种入仓方式 --- 灵活使用先进的武器 ................................ 错误~未定义书签。 入仓...................................................................... ............... 错误~未定义书签。 出仓...................................................................... ............... 错误~未定义书签。 4. 各取所需 --- 价位驱动和时间驱 动 ....................................... 错误~未定义书签。 5. 不可或 缺的所见所得的创作手段 --- 仿真测试...................... 错误~未定义书签。 6. 图形化交易 --- 手工和自动的完美结合,让机器完成团队的工作错误~ 未定义书签。

软件销售十大策略

软件销售十大策略 随着信息时代的来临,市场对软件的需求量飞速增长。2000年,中国软件市场销售额突破200亿元,年均增长率超过了30%,使得软件销售业成为新的投资热点。软件销售的好坏对软件开发商来说尤为重要,它关系到软件开发商能否收回成本、能否取得利润,更事关企业的生死存亡。作为销售人员在拓展软件的销售渠道通路的同时,一定要深入用户市场,分析用户所需,全面拓展渠道,进行广泛合作,才能取得软件销售的成功,而如何合理地运用软件销售的策略则是每位推销员所必备的技能。 一、软件市场分类 按照软件的销售特点,软件市场分为三大块:套装市场、OEM市场和系统集成市场。 1.套装市场 通常看见的软件被包装成一个标准产品,放在零售店面上销售,这种方式称为套装零售。这种购买标准软件产品的市场称为套装市场。它是软件销售的基本方式。 2.OEM市场 软件厂商通过授权允许其他厂商(比如PC厂商)把软件预装在其产品中,这种销售方式的称为OEM(OEM是OriginalEquipmentManufacturer的简称,即原设备制造商)。有些产品的OEM市场大于零售套装市场,如Windows98中文标准版预装在联想、方正、实达电脑中的销售额预计一年可达几亿元人民币,远远大于零售套装市场。目前总体上讲,OEM市场销售额小于其套装零售市场销售额。 3.系统集成市场 针对大用户需求专门为其设计开发软件并负责将软硬件集成一个系统,这种方式称系统集成。通过这种方式销售的软件市场,称为系统集成市场。系统集成市场的软件价值较难准确统计。从目前市场实际情况来看,这是国内软件市场最大的一块。 二、软件销售的策略

第一策略:品牌策略 品牌策略即通过宣传公司的品牌、公司的名称,从而将该品牌留在客户的脑海之中。1.做品牌广告,树形象法 把公司品牌名称做广告,可以将该品牌留在客户的脑海之中,即使产品本身是变化了或者是不连续的,这对企业建立市场领导地位也是关键的。此外,软件商树立起本企业的品牌形象,可以降低客户进行购买决策时的信息成本。再有,品牌有助于一个公司的招聘,因为他们有能力传达公司及其文化的正面形象。 2.办知识竞赛,提高知名度法 与电视台、电台、报刊杂志、协会组织、教育机构合作共同举办软件知识竞赛,提高企业的知名度,品牌的知名度。 3.发行企业刊物法 发行刊物是软件商定期对用户传达信息、保持联系的一种有效做法,也是一种提高企业知名度、品牌知名度的有效手段。通过企业刊物的联系,用户可以了解企业的新产品研究、开发及投产情况。企业也可以了解用户对企业产品的满意程度、偏好以及使用效果等最新动向。如希望集团发行《希望软件用户》杂志,成功地使用了企业刊物发行这一促销方法。 4.合理运用“递增回报法则”法 递增回报法则即你的顾客越多,你得到的回报也就越多。该法则是营销软件产品的极端重要的关键原因之一。获得市场领导地位的品牌甚至会吸引更多的顾客,这样你就取得更大的回报。一旦用户学会了如何使用某一品牌软件,他们就变得不太愿意转到其他竞争者的软件上去。他们甚至会忠诚地从这家公司购买升级版,而不是抓住时机改换门庭。第二策略:产品策略 产品策略即通过开发公司的产品,不断地增加新功能、新系列,从而居于市场领导者的地位。

量化投资入门教程六——技术指标MA策略

量化投资入门教程六——技术指标MA策略 目录 1.策略原理及代码 1.1策略原理 1.2策略代码 1.2.1ATR.ini 1.2.2ATR.py 1.2.3stock_pool.csv 2.Python相关函数 2.1Python标准函数 2.2掘金接口函数 3.金融术语(移动平均线)

1.策略原理及代码 1.1策略原理 基于ta-lib的MA策略。如果当前价格高于MA,买入股票;如果当前价格低于MA,卖出股票。 实现量化投资策略的相关编程并非想象中这么困难,从Python的安装到量化编程的实现只需简单几步(具体见 https://www.360docs.net/doc/521031634.html,/q/forum.php?mod=viewthread&tid=54&extra=page%3D1轻松安装Python、掘金量化平台及相关工具包) 1.2策略代码(可直接在python中实现) 1.2.1 ma.ini [strategy] username= password= ;回测模式 mode=4 td_addr=localhost:8001 strategy_id= ;订阅代码注意及时更新 subscribe_symbols=SHFE.ag1705.tick,SHFE.ag1705.bar.60 [backtest] start_time=2017-02-15 21:00:00 end_time=2017-03-07 16:00:00 ;策略初始资金 initial_cash=10000000 ;委托量成交比率,默认=1(每个委托100%成交) transaction_ratio=1 ;手续费率,默认=0(不计算手续费) commission_ratio=0.0004

期货交易模型编写经典教程

一、程序化交易的编写 ㈠、交易模型编写规范和一般原则 1、编辑平台支持的操作符 操作符意义例 CLOSE+OPEN 表示求收盘价及开盘价的+加法 和。 CLOSE-OPEN 表示求收盘价及开盘价的-减法 差。 CLOSE*OPEN 表示求收盘价及开盘价的* 乘法 积。 CLOSE/OPEN 表示求收盘价及开盘价的/ 除法 商。 AND 与(并且),也可简写为&& OR 或(或者), 也可简写为|| CLOSE>OPEN 表示判断当前周期是否收> 大于 阳。 CLOSE=OPEN 表示判断当前周期是否平< 小于 盘。 >= 大于等于 <= 小于等于 <> 不等于 = 等于

:= 只定义一个局部变量 (这个变量在画图时是不画的) TMP1:=(OPEN+CLOSE)/2; :MA(TMP1,10); 上面的公式的第一个语句定义了一个局部变量TMP1,在下面一行中引用了这个局部变量,但是要注意的是这个公式在画图的时候只画了第二条语句MA10所求出的结果。相反下面这个公式则需要画出两条线,第一条是自己定义的均价线,同时显示了均价的名称为A VP,第二条线是均价的简单移动平均线。 A VP:(OPEN+CLOSE)/2; MA(A VP,10); :声明了一个变量, 在画图时画出它并且按这个名字显 示。 2、编辑平台支持的函数 ⑴引用数据 A VPRICE 引用均价(在盘后对于国内三个期货交易 所指结算价) SETTLE 引用结算价(只有在日线周期盘后才能引 用当日的结算价) 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个周期的收盘价

C17027S_程序化交易系统研究与风险防范

1 . 下列不属于程序化交易优点的是()。 ? A.根据规则自动交易,有利于克服人性弱点 ? B.突破人的生理极限,大幅提高投资效率 ? C.系统性的交易、资金和仓位管理,有利于投资的组合优化管理和风险控制 ? D.交易者只要拥有一套好的交易系统,利用程序化交易平台就可以稳步盈利https://https://www.360docs.net/doc/521031634.html,/view/9b8934810029bd64783e2c7b.html 2 . ()交易策略是指套利者利用程序化交易系统在指数现货市场与指数衍生产品市场之 间,利用两类产品在不同市场上出现的瞬间定价的不同来迅速实现贱买贵卖的交易,并从中获得价差收益。 ? A.组合保险 ? B.久期平均 ? C.指数套利 ? D.算法交易 ?指数套利(Index Arbitrage)交易策略是指是套利者利用程序化交易在指数现货市场与指数衍生产品市场之间,利用两类产品在不同市场上出现的瞬间定价的不同来迅速实现贱买贵卖的交易,并从中获得价差收益[5]。它一般发生在股票指数的现货市场和与其相对应的股票指数期货市场。当股票指数现货与股票指数期货的价差大到足以超过无风险利率并能够抵补所有的交易费用时,从理论上讲,就可以进行指数套利 3 . ()交易策略是运用较为复杂的数学模型来确定订单最佳的执行路径、执行时间、执 行价格及执行数量的交易方法。 ? A.组合保险 ? B.久期平均 ? C.指数套利 ? D.算法交易

算法交易是指使用计算机来确定订单最佳的执行路径、执行时间、执行价格及执行数量的交易方法。 多选题(共4题,每题10分) 1 . 明确禁止的程序化交易包括()。 ? A.进行股指期货套期保值交易 ? B.频繁报撤且成交较低 ? C.影响收盘价、误导他人交易 ? D.制造趋势以影响价格 https://www.360docs.net/doc/521031634.html,/content/2015-10/10/content_3939157.htm ?《办法》明确列举了禁止的程序化交易,主要包括证券自买自卖、期货自成交、频繁报撤且成交较低、影响收盘价、误导他人交易、制造趋势以影响价格等。 ? 2 . 在国外程序化交易系统建设及应用中,使用完全自主开发的程序化交易系统具有哪些特 点? ? A.高速、安全、稳定、灵活 ? B.重视界面友好、人机交互 ? C.开发工作量大,业务与技术紧密结合 ? D.策略的技术实现风险和业务管理风险高 3 . 目前开设程序化交易的交易所主要包括()。 ? A.纽约股票交易所 ? B.纳斯达克市场 ? C.芝加哥期货交易所 ? D.芝加哥期权交易所

从一无所知开始学习交易开拓者(TB)期货程序化交易编程

从一无所知开始学习交易开拓者(TB)期货程序化交易编程 经常会看到很多朋友问:帮我写个公式怎么样啊?帮我把某个公式改成TB的怎么样啊? 我想出现这种情况的原因有两种: 一是真的不会,毕竟做期货的会编程的不多; 二是自己如果多花点时间的话是弄的出来,但是有点懒; 我想无论是哪种原因,都应该好好的学习下TB,因为真正的你的交易思路只有你自己才清楚 而且也只有你自己去把你的交易思路用TB表现出来你才能更清楚的知道你的交易思维中有何缺点 但是编程不是一件很容易的事情,当然,如果您入门了,你会发觉TB编程其实和泡妞一样的简单,就看你敢不敢下手了 所以本文仅是写给完全不懂编程的朋友的,仅是最基本的入门资料,如果您是高手,请忽略此文,以免耽误您的时间. 我先不说那些专业术语,什么变量,函数和语法的,我们先不管他,以免看的头晕. 我想先说说在TB中代码的执行顺序,也就是说在TB的K线图(TB把K线叫做Bar)里面你写的公式或者指标是如何得到执行的; 我想这个东西是最重要而且也是最好理解的. 在其他的期货软件比如文华飞狐一类,我们是无法知道你写的公式是如何执行的,甚至我们不知道我们写出来的公式是不是真的 就体现出了我们的思想,因为你写的公式或者指标是被这些软件在幕后进行处理的,是黑箱操作! 而TB不同,我们能够清楚的看到你写的代码在任意一根K线上是如何得到执行的!!!! 好了,先说说在TB里面代码是如何得到执行的. 1,代码从第一根K线开始执行,一直到最后一根K线; 2,在每一根K线上,代码都是从第一行开始执行,一直到最后一行; 明白了吧,是不是很简单,我们先看一个小例子,如果您还不明白,那只能说我完全没有任何能力写这文章,您就板砖吧 我们就写个输出每日的收盘价的例子; 打开TB,在左边的TB公式里面,点击新建技术指标,新建其他的也没有关系,然后在出来的对话框的简称里面填入名字,记住,这个名字只能是E文哦 在名字里面填入你喜欢的名字,点确定就OK了啊 然后在出来的公式编辑器里面输入 Begin End 注意,除了参数和变量定义外,所有的代码都必须包含在Begin和End之间 意思很简单 就是Begin后,你的代码就开始执行了,End了,你的代码就执行完毕拉 呵呵 我们再在Begin和End之间输入一些代码,完整的就是: Begin FileAppend("c:\\a.log",Text(Year)+"年"+Text(Month)+"月"+Text(Day)+"日的收盘价等于"); FileAppend("C:\\a.log",Text(Close));

最初的程序化交易策略编写

最初的程序化交易策略编写 作者:杨清婉 一般人第一眼看到程序交易,总觉得太困难又复杂。其实,在避免人性干扰时又可以24hr执行监测,彻底执行设定好的策略,在投入真正资金前可以回测自己交易策略的绩效,即是自动化程序交易的目的。 程序交易的基础其实一点都不难,If A happens, then buy. If B happens, then sell.用中文来解释就是:当符合某种情形时,就买进。当符合某种情形时,就卖出。 所以我们只要去定义A、B,以及更明确地把Buy 、Sell的模式定义出来就好。这已经几乎快要变成咱们MC 认得的easy language 程序语言了。 难道一定要有工程背景的人才能写出程序吗?其实在交易领域里面所使用的程序语言与英文很像,而且使用的都是很简单的英文。 其实,电脑的执行也是依据K棒的价格变化,K棒上最重要的四个价位显示了价格的变化:Low 最低价,Open 开盘价,High 最高价,Close 收盘价。 语法中Close > 100 (表示收盘价大于100 ),Low < 100 (最低价小于100 ),High > Open (最高价大于开盘价)。

上面是平铺直述的直述句,若是加上一点简单的if ...then ...(假如...发生,就....),就可以变成一个可执行的策略, 举例:(先不考虑marketposition目前手中部位的情形) if High > Open then buy next bar at market; //当最高价高于开盘价时,买进1手市价。 if Low < Open then sell next bar at market; //当最低价低于开盘价时,卖出1手市价。 备注: next bar是指下一根K棒,market是指市价。 再进阶一些可以开始使用一些技术分析的指标来协助。例如RSI,中文名称是相对强弱指标Relative Strength Index ,是一个0~100 的指标,50以下代表目前偏空,50以上代表目前偏多。 我们来一起写一个简单的策略: RSI 大于52 买进1口(做多),RSI 小于48 卖出1口(做空or 平仓),(意思是,趋势转向上,我就跟跟看,趋势转向下就快跑), 首先我们得知道什么是变数,望文生义,就像开车时的时速表,就是在程序执行中,会一直变动的数字。 所以我们得先告诉电脑,RSI的定义。这个动作叫做宣告。 所以在策略一开头, inputs: Price(close), Len(12); //input 是未来可以在MC里调整的参数,price(收盘价)以及时间周期Len(在这边是12根K棒), vars: var1(0); //vars 告诉系统我们要宣告变数了,定义一下var1 变数(variable) ,告诉电脑我们有这个变数要侦测。 var1=RSI(Price,len); //定义,var1=RSI 让var1 这个变数等于指标RSI,而且是用上面定义的时间以及价格参数去计算RSI,此例为12根K棒的收盘价。

程序化交易模型中常用的几大止损策略

程序化交易模型中常用的几大止损策略 既要避免被无谓的随机波动震出局,又要起到保护交易者作用的才是优秀的止损策略。 时间止损 时间止盈止损逻辑:开仓后的时间(通常使用开仓K线到当前K线的区间内的K线数量)触发设定的条件时进行止损/止盈平仓,通常与价差条件结合使用。 例1: BARSBK=1,SP;//开仓后下一根K线开始时平仓 BARSSK=1,BP;//开仓后下一根K线开始时平仓 价差止损 最新价与基准价之间的价差触发设定的条件时进行止损平仓。以资金盈亏额为条件的止损策略也被我们归为这一类。比较常用的策略有追踪止损、阶梯止损、限价止损等。 常用的基准价有开仓价格、开仓后的最高价/最低价,和重要的支撑/压力位。 主要有两个因素影响价差的选择: 1.交易者盈利预期和愿意并且能够承受的亏损。 2.交易品种的随机波动性,可以通过对历史数据分析或经验总结等方法研究。衡量随机波动性标准的通常是ATR指标。 我们除了基准价和价差外,有时还会设置一个启动止损止盈的条件,例如:通常我们会限制当最大盈利达到某一标准后再启动跟踪止损。时间也经常被作为止损的触发条件。 跟踪止损 跟踪止损的逻辑:以开仓后的最高或者最低价为基准价,回撤超过价差后进行止损。

这里的价差可以使用最大盈利的百分比,也可以是固定价差。通常还会限制当最大盈利超过某一范围后再启动止盈止损策略。 例2: A:=MINPRICE;//取模组交易合约的最小变动价位 BKHIGH-BKPRICE>50*A && C50*A && C>SKLOW+0.3*(SKPRICE-SKLOW),BP; //触发条件:卖开仓价格与卖开仓后的最低价的差值大于50个最小变动价位 //止损条件:最新价大于基准价加价差。(基准价是卖开仓后的最低价,价差是最大盈利的30%) 限价止损/止盈 限价止盈/止损的逻辑:以开仓价格为基准价,当前亏损或盈利超过固定的价差时进行止损/止盈。 例3: A:=MINPRICE;//取模组交易合约的最小变动价位 C<=BKPRICE-10*A,SP;//最新价低于买开仓价10个最小变动价位,多头止损; C>=BKPRICE+20*A,SP;//最新价高于买开仓价20个最小变动价位,多头止赢; C>=SKPRICE+10*A,BP;//高于卖开仓价10个最小变动价位,空头止损; C<=SKPRICE-20*A,BP;//低于卖开仓价20个最小变动价位,空头止赢; 阶梯止损 阶梯止损的逻辑:以开仓价格为基准价,开仓时以M点固定价差设置止损,行情每向有利的方向波动N 个点,将止损价格提高(多头)或者降低(空头)P个点。 例4: CSKPEICE+30-INTPART((SKPRICE-SKLOW)/10)*5,BP; //卖开仓后,初始止损价差30个点,行情每下跌10点,止损价格降低5点 时间+价差阶梯止损

相关文档
最新文档