程序化交易策略开发:第1个策略

  学习程序化交易策略开发是一个很简单的事,也就是学习1门简单脚本语言或甚至是一个插件使用那么简单。难的是开发出一个能赚钱的策略,但程序员这么多,也许你能通过程序化交易找到适合你的发展方向呢。下面通过几个简单步骤开发一个交易策略。

  1.选择开发平台,国内的有开拓交易者(期货),国外的MiultiCharts(期货),还有MT4(外汇),这里以开拓交易者(简称TB)为例。

  2.下载、注册与登录,按提示操作即可

  

3.进入后关闭默认图表后的界面

4.点击左侧的“超级图表”,默认的投资标的不对,需要更换,图表中点右键,选择“插入商品”

一般选择“××指数”,这里选"股指指数"

继续在图表中点右键,选择“商品设置”,出现对话框,将默认合约下移后删除

           

这样,就选择了策略运行的投资标的(股指),最后需要选择你在几分钟上的K线周期上做交易

这时候可以保存一下工作区了,点工具栏“保存”,按提示操作即可,保存后,多工作区时注意切换

5.交易标的选择后之后,就是编写策略了。选择导航的“新建公式应用”,按提示输入英文名称,选择模板“交易策略”

生成默认代码,下面这个编译按钮很重要,没有出现时,随意修改下文件即可,例如输入一个空格。编译后,输出窗口会提示成功与否(默认代码的Condition1、Condition1赋初值错误,编译不通过)

6.修改代码

7.代码完成并编译通过后,记住公式名称。回到图表页面,点右键“插入公式应用”,选择编辑的公式。

       

下面是一个策略范例,大致逻辑是均线之下开空,均线之上开多

//------------------------------------------------------------------------
// 简称: eleven
// 名称: eleven
// 类别: 公式应用
// 类型: 用户应用
//------------------------------------------------------------------------
Params
    Numeric AM_CO(40);//Close-Open
	Numeric AM_CM(200);//Close-Max(High/low)
Vars
	NumericSeries sum_up(0);
	NumericSeries sum_down(0);
	Numeric Am(0);
	Numeric Am2(0);
	Numeric Am3(0);
Begin
	Am = Close[1] - Open[1];
	Am2 = Close[1] - Close[2];
	if ( sum_up[1] > 0 ) {
		if ( Am >= 0 ) {
			sum_up=sum_up[1]+1;
		} else if ( Abs(Am) <= AM_CO  ) {
			if ( Close[2] - Open[2] < 0 ) {
				sum_down = 2;
				sum_up = 0;
			} else {
				sum_up=sum_up[1]+1;
			}
		} else {
				sum_down = 2;
				sum_up = 0;
		}
		PlotString("num", Text(sum_up));
		if ( sum_up == 0 ) {

				if ( MarketPosition != -1 ) {
					SellShort(1,open);
				}
		}

	} else if ( sum_down[1] > 0 ) {
		if ( Am <= 0 ) {
			sum_down=sum_down[1]+1;
		} else if ( Abs(Am) <= AM_CO  ) {
			if ( Close[2] - Open[2] > 0 ) {
				sum_up = 2;
				sum_down = 0;
			} else {
				sum_down=sum_down[1]+1;
			}
		} else {
				sum_up = 2;
				sum_down = 0;
		}
		if ( sum_down == 0 ) {
			if ( MarketPosition != 1 ) {
					Buy(1,open);
				}
		}
		PlotString("num2",Text(sum_down));

	} else {
		if ( Am > 0 ) {
			sum_up=sum_up[1]+1;
		} else if ( Am < 0 ) {
			sum_down = sum_down[1]+1;
		}
	}

End

  

8.选择完公式后,对效果进行测试,点击工具栏的测试报告图表,如下:

出现测试报告

可以看出总体是净利润为正,选择不同的K线周期效果不同。不过这还不是一个合格的策略。正常的交易不是市价就能成交的,需要考虑增加1-2个滑点。

暂时就到这里,后面会讲更多的开发问题和一些潜规则,避免大家走弯路。如果你能开发出好的策略,而没有资金运行,可以考虑放到我们的策略超市网站上出租

时间: 2024-10-11 05:18:52

程序化交易策略开发:第1个策略的相关文章

《程序化交易初级教程》读书总结

目录 导论 程序化交易的基本原理和应用准备 程序化交易平台:国信TradeStation 程序化交易策略开发语言:EasyLanguage 程序化交易系统的开发过程 趋势跟踪策略 逆向交易策略 横盘突破策略 交易策略的组合 资产组合投资策略 风险控制于资金管理策略 加仓减仓策略 交易测试系统的测试与优化 交易策略系统的使用和维护 一.导论 1)金融交易的发展趋势 14世纪伦巴第商人对货币进行兑换,世界金融市场有八百年历史. 1611年阿姆斯特丹建立了世界上第一家证券交易所,主要是通过人工交易.

期货程序化交易的优缺点有哪些?

有些程序化交易模型从长期看是盈利,但是短期内可能会出现巨幅的资金回撤.部分投资者对程序化交易认识比较模糊,认为程序化交易就是一台赚钱的机器.永远盈利.这些投资者在这种资金回撤下就可能难以继续进行程序化交易,从而错过后期出现的大幅盈利. 2.或将加剧金融风险避免人为主观性既是程序化交易的优点也是程序化交易的缺点,在进行期货交易时,正是人的主观判断得以利润的攫取,有一部分非常优秀的炒单手在期货市场的交易中获得了巨大的利润,他们的主观性是程序化交易所不能替代的.但是,更多的投资者的主观性可以说在期货市

程序化交易与算法交易、量化投资的区别

现在市面上对本行业有很多不同的术语,包括程序化交易.算法交易.量化投资.高频交易.统计套利等,这些术语意思相近却仍有不同点,本文对各个名词进行解释说明: 1.程序化交易:program trading 很简单的字面意思,意味着你利用程序(program)进行交易.具体的交易时机,交易仓位,止损止盈获利标准可能包含在程序本身,也可能独立于程序之外,程序本身只是执行的方式.与程序交易对应的是人工交易.一般利用程序交易有几大优势,比如说较快的速度,脱离了人为情绪的影响,执行力有保证等等. 同时也应注意

放弃文华财经,自己编程实现期货程序化交易

一.目前期货程序化现状: 由于有免费的CTP接口,期货程序化交易目前比较普遍,很多人都尝试过在文华财经.金字塔之类的软件上回测和编写实盘策略. 期货程序化交易有很多优点:程序会按照设计自动执行,不受任何其它因素干扰,设计正确的请假下不会出错.借助于程序,交易速度更快,远远超过人工下单的速度.节省人工成本,一个策略可以部署多个机器人,特别当前期货存在夜盘的情况下,耗费非常大的人力成本.可以说,从事期货交易,每个人都应该学习程序化. 本文将劝你自己实现量化交易,摆脱文华财经之类的软件,看完不会后悔.

程序化交易的几点小总结

一.程序交易的要点: 1.相对固化的高胜率的交易系统 程序化交易系统的设计是一项复杂的系统工程,不是简单的几个指标的应用,理论上来说程序化交易系统就是一种赢利模式,体现的应该是设计者的操作风格和手法,设计者应该是实际操作中的赢家,所做的只是把行之有效的赢利模式程序化.自动化. 最有名的交易系统无疑是“海龟交易系统”.1983年年中,著名的商品投机家理查德.丹尼斯为了一个赌注招聘交易学员,因为里克(理查德的昵称)或许是当时世界上最著名的交易员,所以,有1000多位申请人前来投奔他.他从这一群人精选

【安卓中的缓存策略系列】安卓缓存策略之综合应用ImageLoader实现照片墙的效果

在前面的[安卓缓存策略系列]安卓缓存之内存缓存LruCache和[安卓缓存策略系列]安卓缓存策略之磁盘缓存DiskLruCache这两篇博客中已经将安卓中的缓存策略的理论知识进行过详细讲解,还没看过这两篇博客的看官建议先去看一下,本博客将依据这些理论知识打造一个ImageLoader,实现照片墙的效果,关于照片墙的知识网上相关博客也很多,首先解释一下照片墙的概念:用一个GridView控件当作"墙",然后随着GridView的滚动将一张张照片贴在"墙"上,很显然因为

【AD】【组策略】跨域转移组策略&可导入的组策略

跨域转移组策略&可导入的组策略 环境: AD PDC 均为:  Win2012 R2 客户端:Win7 x64 A 域:xifan.com B 域:abc.com 需求: 将A域的数个组策略,直接导入B域,简化B域组策略设置 操作步骤: 打开A域的PDC主机. 进入控制台-组策略管理-组策略对象: 导出图中所示所有组策略. 以"测试用-登陆脚本"为示例: 右击-备份 依次全部备份. 将其复制到B域abc.com的PDC内 新建数个组策略,命名与组策略完全一致. 右击登录脚本 注

程序化交易一(自动开仓)

所有的兼职交易者都存在一个问题:工作和盯盘的时间冲突.时间冲突导致交易者无法做到时刻盯盘,价格具备时未能及时进场.趋势反转时未能快速止损.盈利后不能有效保存利润.上述种种无形中增加了交易建仓成本和交易难度(决胜快手提供服务器自动重连.自动价格触发,让您在第一时间进场,提高每一次交易成功概率!).决胜快手的程序化全自动交易通过计算机实时监控行情,到价自动触发,全自动报单解决了这个难题.最终获得了及时.良好的入场点.极大增加了交易者的盈利机会.减小止损难度,可以更好保存资本.赢得复利. 程序化交易单

Keymob发力程序化交易 拥抱移动广告未来

作为行业领先的广告交易服务平台,Keymob相关负责人表示,目前,程序化广告交易被认为是能够服务各方需求的较好模式.但市场数据显示,程序化交易仅占到展示广告市场规模的1%左右.这样的发展趋势显然远远没有达到各方的预期.期盼与合作伙伴并肩同行,共同拥抱程序化购买的未来. 进入众媒时代,广告投放平台的选择增多,广告主需要将更多精力集中到如何实现利益最大化上来.在这样的移动营销需求下,以百度联盟.腾讯广点通.Keymob等为代表的互联网率先发力程序化广告交易.Keymob拥有DSP.SSP.DMP,已