如何获得99%空气质量数据的TICK数据

Tick 数据-用MT4实现99%的回测数据数据
为什么需要TICK数据
原因是我们从MT4历史中心下载的数据,最小单位是M1分钟图,MT4通过插值算法模拟得出实时的Tick数据,而并非真实的Tick数据,这种数据一般来说对于盈利大于15点的EA问题不是很大,但是对于那些小于15点,甚至5个点的剥头皮EA,数据的精确程度就至关重要了。1到2个点的差别就会导致结果大大的不同,因此当然是越精确越好。
获取Tick数据
最简单的办法就是到DUK的网站上去申请一个模拟帐户,然后通过其终端下载TICK数据。目前只有DUK提供免费的TICK数据下载,而且仅仅是从日到现在,数据质量较高。
注册模拟帐户:
输入名字和邮箱,就可以申请一个14天的模拟帐户,你的邮箱里即刻可以收到登录信息,以及JFOREX平台的下载链接:
点击图上的Jforex会自动下载JAVA插件以及自动会安装
装完后会用你在邮箱里收到的登录用户名和密码登录
进入后选择:工具-历史测试
然后选择你需要下载的货币对
选择时间段
需要下载的时间段(最早到),注意截止日最好选择前几日,因为当日的数据不一定有效,特别是周末。
点击得到数据
根据你所选择的时间段,下载时间会不同。
当进度达到100%的时候,点击保存数据,这时历史数据将以.csv的格式保存到你所选择的目录,同理你可以选择下载
其他货币对。
如何使用这些TICK数据?
转换*.csv成为MT4可识别的FXT文件
– 拷贝附件脚本到MT4的相应目录(压缩包里有目录格式)
– 移动你刚才得到的TICK数据(*.CSV)文件到experts/files目录
– 打开你需要的货币对图表(比如欧元/美元)
– 选择图表的时间周期,比如如果你想测试H1就选H1
– 双击脚本:JFOREX2FXT,在弹出窗口中,点击输入参数标签项,第一项参数中输入CSV文件名:
比如”EURUSD_Ticks___.csv“
点击确定,如果不弹出错误,会根据文件大小,以及您的计算机速度不同,转换的时间不同。完成后会弹出finished的提示窗。
具体过程点击查看终端下的”智能交易“标签。
注:不知何故,笔者在XP下执行未能成功,但是在VISTA下执行成功;各位可自行尝试。完成后你将在EXPERTS/FILES目录下发现你所需要的FXT文件。例如欧元15分钟:EURUSD15_0.FXT
有些使用WIN7或则VISTA的朋友可能找不到FXT文件生成,可能是由于开启UAC导致的,可到 c:\Users\username\AppData\Local\VirtualStore\Program Files\ 下查找,如果仍然找不到,请搜索计算机,一定在某个地方生成了。
2,拷贝FXT文件到tester/history目录
将脚本所产生的.FXT文件拷贝到tester/history目录中
3,利用TICK数据进行历史测试。
双击”PATCH”脚本,点击确定。没有报错误,你就可以进行历史测试了。如果它正常工作,你将不会再看到”收集M1…”等信息,而是直接进行测试,最后显示的报告中你会看到99%的数据质量。
(备注:什么是FXT文件?简单说就是MT4用你所下载的M1分钟图转换成你所测试周期的数据文件,通常你测试看到“收集M1,使用M5…就是产生FXT的过程,我们通过脚本直接生成FXT文件,就不需要MT4自动产生了)
附:JFOREX2FXT 主要参数说明:
CsvFile:你下载的TICK数据文件名,注意包含CSV的扩展名
CreatHst:是否建立HST文件,默认选择否,就是普通历史测试所需的文件
Spread:指定点差,默认是0,使用交易商提供的点差
Gmtoffset:时差设置,DUK的时差是GMT时间,如果你想使用CET时间,这里可以设置为1
Pipscommission:可以设置佣金费率
脚本下载:&& (29.7 KiB, 5,614 hits)
后记:如何获得100%的数据质量?
答案只有一个:真仓测试,也就是forward test。原因很简单,交易商不可能提供你100%的历史数据,何况交易清淡时期有扩大点差的行为,每个交易商的点差都不一样,你如何能通过
DUK的数据得到所有交易商的精确数据?不可能的,所以说进行真仓测试是严谨测试的必要步骤。虽然真仓测试会消耗大量的人力物力,但是为了对你自己的资金负责,还是请不要跳过这个步骤!您现在的位置:>>
>>正文内容
Bar内交易如何获得每Tick的时间,价格和交易量? [MC]
咨询内容:
请教一个问题:Bar内交易如何获得每Tick的时间(越精确越好),价格和交易量?,我想分析有关价格突变的规律,谢谢
MC技术部:
bar内交易,开启精细回测,选择逐笔tick回测,前题是要有tick数据,MC 目前只提供3个月tick数据
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ:
&进行 有偿 编写!
【字体: 】【】【】
没有相关内容
&本月热门排行
&用户常看内容
会员登录/注册[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量
如何获取高质量历史数据以及90%的历史测试质量?
进行MT4的历史测试是有技巧的,MT4历史中心下载的数据往往质量不高,如果方法不正确只会浪费时间,更重要的是得到的是不可靠的测试结果;这篇文章将指导你如何下载历史数据,如何正确用一个独立账户来安装它并且转换到不同的时间框架,你将很快会明白并轻易掌握它。
&&&;数据是每个月更新;请选择相对应的货币对进行下载,解压备用。
第二步: 从 下载一个全新的版本到计算机(建议),当然用现有的也行,不需要另外复制一份;因为这个MT4是历史测试专用的,不用登录到服务器,你可以把它命名为MT4测试。
如果你是全新安装,当MT4装完后问是否启动MT4的时候,选则不立即启动,点击完成就行了。
当你完成这个新的MT4安装后,删除MT4原有的所有历史数据,目录一般为:程序&
Metatrader
4(或则你取的任何名字)&history.(如果这里不是全新安装用的以前的MT4就得进MT4把账户全部也删除了)
<img HEIGHT="1" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/delete-history-folders.jpg" BORDER="0" STATUS="2" NAME="aimg_K11rF"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
第五步: 现在你删除完了所有隶属数据后,启动MT4 并且创建一个模拟账户(任何交易商都
一旦你的模拟账户建立了,你就需要将它删除,对,你没有看错,我们要删除我们刚才建立的模拟账户,为了防止它复写我们将导入的历史数据;而建立这个账户的目的只是需要一些货币对的目录结构。
<img HEIGHT="556" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/delete-demo-account.jpg" WIDTH="377" BORDER="0" STATUS="2" NAME="aimg_xin2N"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
删除完了之后,关闭MT4.现在我们需要将你刚才下载下来的历史数据拷贝到这个新的MT4的历史数据目录中去,打开你的资源管理器,找到你下载的数据并解压他们,应该是一些类似EURUSD.TXT的文件;这步也可以省略,直接从你解压的目录导入也可以。
<img HEIGHT="1" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/place-history-data-here.jpg" BORDER="0" STATUS="2" NAME="aimg_42n2a"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
在我们继续之前,再次确认一下history目录相关账户里面没有.hst文件,有的话全部删除。
<img HEIGHT="359" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/delete-remaining-history-files.jpg" WIDTH="437" BORDER="0" STATUS="2" NAME="aimg_531QC"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
把历史数据拷贝到history目录,注意只需要文件,不包含有目录。
<img HEIGHT="1" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/copy-files-over.jpg" BORDER="0" STATUS="2" NAME="aimg_8Bjxh"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
现在,再次打开MT4终端。通常来讲,每次我们打开MT4(如果没有账户的话)都会提示开一个模拟账户,你要选择取消;接着问你登录也选择取消;记住以后每次都这样。
<img HEIGHT="448" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/cancel-account-open.jpg" WIDTH="600" BORDER="0" STATUS="2" NAME="aimg_cDCFl"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
登录也取消:
<img HEIGHT="1" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/cancel-account-login.jpg" BORDER="0" STATUS="2" NAME="aimg_29EeG"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
第九步: 现在我们需要改变图表的最大数据设置,选择 TOOLS &
<img HEIGHT="368" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/tools-options.jpg" WIDTH="533" BORDER="0" STATUS="2" NAME="aimg_tkOKO"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
选择图表标签,编辑最大历史柱数量和最大图表显示数量为,点击确定。
<img HEIGHT="1" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/set-chart-max-values.jpg" BORDER="0" STATUS="2" NAME="aimg_11l1s"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
关闭MT4再次打开,你将看到这个样子:
<img STYLE="CUrsor: pointer" HEIGHT="363" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/set-chart-max-values-2.jpg" WIDTH="600" BORDER="0" STATUS="2" NAME="aimg_qfAlF"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
第10步: 到工具TOOLS & HISTORY
CENTER(历史数据中心) (或者按 F2 ).
<img HEIGHT="1" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/tools-history-center.jpg" BORDER="0" STATUS="2" NAME="aimg_yz6zD"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
在左边菜单中选者你想要导入的货币对,比如AUDUSD.
展开菜单你可以看到不同时间框架。他们应该是灰色的,双击1分钟时间框架。还是灰色的,不过你需要双击来导入数据。
<img STYLE="CUrsor: pointer" HEIGHT="357" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/history-center-select-m1.jpg" WIDTH="600" BORDER="0" STATUS="2" NAME="aimg_FmfAH"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
第11步:点击 IMPORT或者是导入按钮. 然后点击
BROWSE(浏览)并且找到你下载的货币历史数据,就是那个TXT文件,例如 Metatrader
& history & demo account
whe选择文件并打开它,或许要等待几分钟,视计算机速度而定,有可能你需要将文件类型从TXT变为所有,以便显示所有文件。
<img HEIGHT="1" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/select-import-data.jpg" BORDER="0" STATUS="2" NAME="aimg_UHHjQ"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
如果没有打开,你可以尝试跳过一列(skip 1 columns),通常情况都可以正常打开。然后点击OK。
<img HEIGHT="367" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/import.jpg" WIDTH="585" BORDER="0" STATUS="2" NAME="aimg_TeNCC"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
重复以上步骤就可以导入更多的货币对。
第12步:&&打开一个你希望的货币对(你刚导入的)图表,选者1分钟图,你应该可以看到1分钟图了。其他周期的图,你可能只看到“等到更新”画面,因为我们还没有那些周期的历史数据,需要下面的工具转换一下。
<img HEIGHT="1" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/open-chart-audusd.jpg" BORDER="0" STATUS="2" NAME="aimg_JQrLh"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
&&&转换数据
& 下载周期转换脚本:,将 ,拷贝到MT4/experts/scripts目录下
,然受将这个脚本拖动到1分钟图表上,输入5就将得到5分钟数据;再次拖动输入15就将得到15分钟数据。如果嫌麻烦,还可以用: Period_converter_auto.mq4the一次性全部转换为5,15分钟。。。知道日线图。不过周线和月线图还得自己转换。
<img STYLE="CUrsor: pointer" HEIGHT="571" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/period-converter.jpg" WIDTH="600" BORDER="0" STATUS="2" NAME="aimg_Zknjb"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
有没有转换成功查看日志或者历史数据目录就可得知。
<img HEIGHT="1" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/images/BlogImages/period-converter-records-written.jpg" BORDER="0" STATUS="2" NAME="aimg_Ur1Z1"
TITLE="[mt4使用方法]&教程:正确获取高质量历史数据以及90%的历史测试质量" />
第14步: 重复以上步骤导入其他货币对。
OK,重新打开MT4,现在你应该可以看到所有周期图表了。就是这样,接下来你就可以可以进行历史测试了。后面的不用我告诉你怎么做了吧。
写在最后:即使是90%的数据质量,对于测试剥头皮(1-15个点盈利)的EA的历史测试结果还是不太可靠的,这个时候我们就需要tick数据了,通过tick数据我们可以得到高达99%的数据质量,不过过程也要复杂得多,有机会再写。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。帐号:密码:下次自动登录{url:/nForum/slist.json?uid=guest&root=list-section}{url:/nForum/nlist.json?uid=guest&root=list-section}
贴数:1&分页:方寸纵横发信人: enceladus (我爱小母牛), 信区: ProgramTrading
标&&题: [合集] Tick 数据-用MT4实现99%的回测数据数据
发信站: 水木社区 (Wed Nov&&7 18:35:14 2012), 站内 && ☆─────────────────────────────────────☆ &&
babypig (猪爸爸) 于
(Thu Sep 27 03:21:02 2012)
提到: && 你们啊,合伙欺负飞哥是不对的,我来搭救飞哥! && 都说MT4只能1分钟以下只能基于插值来回测,误差很大
其实你们不知道dukacopy提供外汇的tick级别数据
而mt4是可以进行99%数据质量的tick级别回测的
最牛逼的是每时每刻的ask,bid都是真实的dukacopy点差
真正做到一次编写,回测和实盘极度一致
1%的误差我想任何tick级别平台都无法保证完全一致 &&
&& 所以NB的工具永远是NB的,垃圾的工具永远是垃圾的
这一点不以人的意志为转移。。。。
说MT4不能进行tick级别回测的可以闭嘴了。。。 && &&&&&& ☆─────────────────────────────────────☆ &&
LVZHL (Taoism Trader) 于
(Thu Sep 27 07:28:29 2012)
提到: && 只要有tick数据,所有平台都能回测tick
。谁说过mt4不能回测tick?mt4肯定有这功能。问题是哪个服务器也不可能保留很长历史的tick。文华目前差不多能有一年多tick,再内盘工具里已属罕见。
什么眼神啊你,对天空开炮了
【 在 babypig 的大作中提到: 】
: 你们啊,合伙欺负飞哥是不对的,我来搭救飞哥!
: 都说MT4只能1分钟以下只能基于插值来回测,误差很大
: 其实你们不知道dukacopy提供外汇的tick级别数据
: ...................
&&&& ☆─────────────────────────────────────☆ &&
gucst (飞哥) 于
(Thu Sep 27 08:19:35 2012)
提到: && 平台回测和实盘是否在软件内核上做到一致,我总结出一个标准:
回测一致性衡量标准:如果必须是tick驱动的回测系统,那就可以做到一致。
用这个标准去判定MT4
当有BB猪说的下述情况,有tick数据,那没有问题,MT4可以做到一致;
当没有tick数据!最小才M1,那MT4通过插值制造tick数据实现tick驱动,那也没有问题,距离M1较远的级别,如M15以上可以作到一致
用这个标准去判定内盘软件
如果有tick数据,可以实现tick驱动的回测,那没有问题;
关键在这一步,没有tick数据怎么办!如果这个平台是把最小级别的K线,比如M1,一次囫囵吞枣读入进行回测,那不好意思,这个平台就是我认为的不能保证一致性的平台。
希望以上的总结有人可以彻底理解。判定回测一致性的标准,只和回测的驱动机制有关。
但是要实现交易上的回测和实战一致,还要交易商的服务和交易者的智慧,形成合力才可以接近这一目标。
【 在 babypig (猪爸爸) 的大作中提到: 】
: 你们啊,合伙欺负飞哥是不对的,我来搭救飞哥!
: 都说MT4只能1分钟以下只能基于插值来回测,误差很大
: 其实你们不知道dukacopy提供外汇的tick级别数据
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
babypig (猪爸爸) 于
(Thu Sep 27 08:20:14 2012)
提到: && dukecopy保存了以来主要货币对的tick数据
而且免费下载 && 以外汇24小时的交易时间来算,文化毛都不是。。。 && 【 在 LVZHL (Taoism Trader) 的大作中提到: 】
: 只要有tick数据,所有平台都能回测tick
: 。谁说过mt4不能回测tick?mt4肯定有这功能。问题是哪个服务器也不可能保留很长历史的tick。文华目前差不多能有一年多tick,再内盘工具里已属罕见。
: 什么眼神啊你,对天空开炮了
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
flop (flop) 于
(Thu Sep 27 08:20:56 2012)
提到: && 3点发帖。。CTO NB!
【 在 babypig (猪爸爸) 的大作中提到: 】
: 你们啊,合伙欺负飞哥是不对的,我来搭救飞哥!
: 都说MT4只能1分钟以下只能基于插值来回测,误差很大
: 其实你们不知道dukacopy提供外汇的tick级别数据
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
babypig (猪爸爸) 于
(Thu Sep 27 08:21:22 2012)
提到: && 我失眠了,F总。。。 && 【 在 flop (flop) 的大作中提到: 】
: 3点发帖。。CTO NB!
&&&&&&&& ☆─────────────────────────────────────☆ &&
flop (flop) 于
(Thu Sep 27 08:21:44 2012)
提到: && 干啥呢。想我么
【 在 babypig (猪爸爸) 的大作中提到: 】
: 我失眠了,F总。。。
&&&&&&&& ☆─────────────────────────────────────☆ &&
babypig (猪爸爸) 于
(Thu Sep 27 08:23:13 2012)
提到: && 为你们这么欺负飞哥痛心疾首!
海马不大也是马! && 【 在 flop (flop) 的大作中提到: 】
: 干啥呢。想我么
&&&&&&&& ☆─────────────────────────────────────☆ &&
flop (flop) 于
(Thu Sep 27 08:24:21 2012)
提到: && 哈哈,笑翻了。。。
哎呀。。上班要迟到了,完蛋了
【 在 babypig (猪爸爸) 的大作中提到: 】
: 为你们这么欺负飞哥痛心疾首!
: 海马不大也是马!
&&&&&&&& ☆─────────────────────────────────────☆ &&
babypig (猪爸爸) 于
(Thu Sep 27 08:25:10 2012)
提到: && 羡慕有班上的。。。 && 【 在 flop (flop) 的大作中提到: 】
: 哈哈,笑翻了。。。
: 哎呀。。上班要迟到了,完蛋了
&&&&&&&& ☆─────────────────────────────────────☆ &&
enceladus (我爱小母牛) 于
(Thu Sep 27 08:25:28 2012)
提到: &&&&&&同样只使用1min数据, mt4和内盘任何软件都一样没法保证. 只能通过策略设计解决问题. &&插值只是掩耳盗铃 && 【 在 gucst (飞哥) 的大作中提到: 】
: 平台回测和实盘是否在软件内核上做到一致,我总结出一个标准:
: 回测一致性衡量标准:如果必须是tick驱动的回测系统,那就可以做到一致。
: 用这个标准去判定MT4
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
gucst (飞哥) 于
(Thu Sep 27 08:31:52 2012)
提到: && 我反复说的是M1插值,在M15以上足够精确,MT4这样做,恰恰不是掩耳盗铃,是提高回测效率,M15去回测日线1甲子,是7个月,7个月的tick数据,可不是开玩笑的。
MT4的关键是,没有tick数据就无法驱动回测,如果有就正常回测,如果没有就插值制造tick数据,这是其内在核心的部分
如果哪个平台有tick数据就回测tick,有M1就回测M1,有M15就回测M15,这才是欺世盗名的做法
【 在 enceladus (我爱小母牛) 的大作中提到: 】
:&&同样只使用1min数据, mt4和内盘任何软件都一样没法保证. 只能通过策略设计解决问题.
:&&插值只是掩耳盗铃
&&&&&&&& ☆─────────────────────────────────────☆ &&
enceladus (我爱小母牛) 于
(Thu Sep 27 08:38:15 2012)
提到: &&&&&&MT4做不到,别的软件做到了,就是欺世盗名 &&这个逻辑强大........ &&MT4必须拿ticks回测, 只有M1的时候也必须插值化,那是一个限制,而不是一个长处.
要知道基于ticks的回测和直接基于M1的回测, 速度上有数量级的差别. && 【 在 gucst (飞哥) 的大作中提到: 】
: 标&&题: Re: Tick 数据-用MT4实现99%的回测数据数据
: 发信站: 水木社区 (Thu Sep 27 08:31:52 2012), 站内
: 我反复说的是M1插值,在M15以上足够精确,MT4这样做,恰恰不是掩耳盗铃,是提高回测效率,M15去回测日线1甲子,是7个月,7个月的tick数据,可不是开玩笑的。
: MT4的关键是,没有tick数据就无法驱动回测,如果有就正常回测,如果没有就插值制造tick数据,这是其内在核心的部分
: 如果哪个平台有tick数据就回测tick,有M1就回测M1,有M15就回测M15,这才是欺世盗名的做法
: 【 在 enceladus (我爱小母牛) 的大作中提到: 】
: :&&同样只使用1min数据, mt4和内盘任何软件都一样没法保证. 只能通过策略设计解决问题.
: :&&插值只是掩耳盗铃
: 名利脚下踩,情义两肩挑!
: ※ 来源:·水木社区 newsmth.net·[FROM: 218.60.139.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
gucst (飞哥) 于
(Thu Sep 27 08:45:06 2012)
提到: && 我是针锋相对,你先说掩耳盗铃,我才说欺世盗名。MT4的回测很快,运行也不占用资源。
其实很简单,如果内盘平台,交易级别是M15,回测的时候驱动机制是M1,那没有问题,不用插值,也足够精确。
但是如果交易级别是M15,回测的时候驱动机制也是M15!!!那问题就太恐怖了,这无论如何也不能保证一致。
日内交易者,必须用tick数据去回测,才能足够精确,用M1去回测,有苦果子吃
同样,外汇如果要做M1级别,目前MT4的回测系统是不能给于支持的,必须有tick数据,才能去回测
【 在 enceladus (我爱小母牛) 的大作中提到: 】
:&&MT4做不到,别的软件做到了,就是欺世盗名
:&&这个逻辑强大........
:&&MT4必须拿ticks回测, 只有M1的时候也必须插值化,那是一个限制,而不是一个长处.
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
enceladus (我爱小母牛) 于
(Thu Sep 27 08:48:55 2012)
提到: &&&&&&你这个不用担心,国内多数平台不能简单实现跨周期. hehe &&要想精确,其实小一个级别的周期数据就够了, 关键是看到大周期内高低点的出现顺序; &&但是1分钟数据能不能用来做日内回测,完全和策略设计有关系. && 【 在 gucst (飞哥) 的大作中提到: 】
: 我是针锋相对,你先说掩耳盗铃,我才说欺世盗名。MT4的回测很快,运行也不占用资源。
: 其实很简单,如果内盘平台,交易级别是M15,回测的时候驱动机制是M1,那没有问题,不用插值,也足够精确。
: 但是如果交易级别是M15,回测的时候驱动机制也是M15!!!那问题就太恐怖了,这无论如何也不能保证一致。
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
LVZHL (Taoism Trader) 于
(Thu Sep 27 08:56:04 2012)
提到: && 如果保存这么长时间 那他很NB
【 在 babypig (猪爸爸) 的大作中提到: 】
: dukecopy保存了以来主要货币对的tick数据
: 而且免费下载
: 以外汇24小时的交易时间来算,文化毛都不是。。。
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
LVZHL (Taoism Trader) 于
(Thu Sep 27 08:56:53 2012)
提到: && 我勾了勾小拇指 笑了
【 在 babypig (猪爸爸) 的大作中提到: 】
: 为你们这么欺负飞哥痛心疾首!
: 海马不大也是马!
&&&&&&&& ☆─────────────────────────────────────☆ &&
LVZHL (Taoism Trader) 于
(Thu Sep 27 09:03:43 2012)
提到: &&&& 【 在 gucst (飞哥) 的大作中提到: 】
: 标&&题: Re: Tick 数据-用MT4实现99%的回测数据数据
: 发信站: 水木社区 (Thu Sep 27 08:45:06 2012), 站内
: 我是针锋相对,你先说掩耳盗铃,我才说欺世盗名。MT4的回测很快,运行也不占用资源。
: 其实很简单,如果内盘平台,交易级别是M15,回测的时候驱动机制是M1,那没有问题,不用插值,也足够精确。
: 但是如果交易级别是M15,回测的时候驱动机制也是M15!!!那问题就太恐怖了,这无论如何也不能保证一致。
: 日内交易者,必须用tick数据去回测,才能足够精确,用M1去回测,有苦果子吃
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
: 同样,外汇如果要做M1级别,目前MT4的回测系统是不能给于支持的,必须有tick数据
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
才能去回测
(显然,上面我标记的波浪部分是一派胡言。纯粹主观想象,毫无事实依据。
透露出无知和愚昧。外汇基于1m的交易模型和交易者多了去了,照你这么说,大家都没法回测就用了?显然你这是胡说八道啊 严重与事实不符) &&&&&&&&&&&& : 【 在 enceladus (我爱小母牛) 的大作中提到: 】
: :&&MT4做不到,别的软件做到了,就是欺世盗名
: :&&这个逻辑强大........
: :&&MT4必须拿ticks回测, 只有M1的时候也必须插值化,那是一个限制,而不是一个长处.
: : ...................
: 名利脚下踩,情义两肩挑!
: ※ 来源:·水木社区 newsmth.net·[FROM: 218.60.139.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
gucst (飞哥) 于
(Thu Sep 27 09:07:21 2012)
提到: && 任何情况都可以去回测,外汇肯定有M1交易者,也有用M1去回测的,但是你看到过外汇M1交易者有实盘实时发布周报或者日报盈利的没有?
在本版,我只看到我和bb猪可以实现外汇ea生存并盈利,没有公布者,我不予考虑
【 在 LVZHL (Taoism Trader) 的大作中提到: 】
: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
: 才能去回测
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
LVZHL (Taoism Trader) 于
(Thu Sep 27 09:13:50 2012)
提到: && 又要转移话题?
现在说的是MT4本身的1min回测能否准确的问题,你怎么扯到其他问题去了?
【 在 gucst (飞哥) 的大作中提到: 】
: 任何情况都可以去回测,外汇肯定有M1交易者,也有用M1去回测的,但是你看到过外汇M1交易者有实盘实时发布周报或者日报盈利的没有?
: 在本版,我只看到我和bb猪可以实现外汇ea生存并盈利,没有公布者,我不予考虑
&&&&&&&& ☆─────────────────────────────────────☆ &&
diamondust (诸行无常) 于
(Thu Sep 27 09:14:50 2012)
提到: && 飞哥你错了 mt4官方说了tick回测是用1分钟插值出来的 因为mt4的数据格式根本就
不支持1分钟以下的tick数据 是那个birts的哥们自己写了个软件修改了mt4内存 才
能在mt4上进行tick级别的回测的 我也做过这方面的尝试 但是没有birts做得那么
好 所以一直用他家的。。 && 【 在 gucst (飞哥) 的大作中提到: 】
: 我反复说的是M1插值,在M15以上足够精确,MT4这样做,恰恰不是掩耳盗铃,是提
高回测效率,M15去回测日线1甲子,是7个月,7个月的tick数据,可不是开玩笑的。
: MT4的关键是,没有tick数据就无法驱动回测,如果有就正常回测,如果没有就插
值制造tick数据,这是其内在核心的部分
: 如果哪个平台有tick数据就回测tick,有M1就回测M1,有M15就回测M15,这才是
欺世盗名的做法 &&&&&& ☆─────────────────────────────────────☆ &&
gucst (飞哥) 于
(Thu Sep 27 09:17:20 2012)
提到: && 你没有看明白我说的意思
【 在 diamondust (诸行无常) 的大作中提到: 】
: 飞哥你错了 mt4官方说了tick回测是用1分钟插值出来的 因为mt4的数据格式根本就
: 不支持1分钟以下的tick数据 是那个birts的哥们自己写了个软件修改了mt4内存 才
: 能在mt4上进行tick级别的回测的 我也做过这方面的尝试 但是没有birts做得那么
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
babypig (猪爸爸) 于
(Thu Sep 27 09:20:48 2012)
提到: && NB! 高手! && 【 在 diamondust (诸行无常) 的大作中提到: 】
: 飞哥你错了 mt4官方说了tick回测是用1分钟插值出来的 因为mt4的数据格式根本就
: 不支持1分钟以下的tick数据 是那个birts的哥们自己写了个软件修改了mt4内存 才
: 能在mt4上进行tick级别的回测的 我也做过这方面的尝试 但是没有birts做得那么
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
gucst (飞哥) 于
(Thu Sep 27 09:28:44 2012)
提到: && 还是说一下,下面说的是数据存储的问题,不是回测驱动机制的问题,本质上一样,也就是
MT4只承认一种回测驱动模式——“tick”驱动,高人可以通过修改数据存储,实现
真正的tick驱动,而像我这样的粗人,是通过提高交易级别到M15,使得M1插值出的tick尽可能接近真实tick以实现回测一致。
这就好比台湾淫少的27.5G,追求完美的人,去下载27.5G,而我没有这么多时间和耐性,下载的是压缩版的3G,看了5分钟就删除了。3G肯定没有27.5G清晰!但是实际观感呢?一个特写都没有,画面本来就是远镜头,清晰不清晰,有个P用,在实际观感上,两者差不多,但是下载效率,可相差很多!
【 在 diamondust (诸行无常) 的大作中提到: 】
: 飞哥你错了 mt4官方说了tick回测是用1分钟插值出来的 因为mt4的数据格式根本就
: 不支持1分钟以下的tick数据 是那个birts的哥们自己写了个软件修改了mt4内存 才
: 能在mt4上进行tick级别的回测的 我也做过这方面的尝试 但是没有birts做得那么
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
gucst (飞哥) 于
(Thu Sep 27 09:42:03 2012)
提到: && 电驴搜索李宗瑞
我百度搜索了一下,想不到我十年前写的文章
《电驴傻瓜教程-我为人人,人人为我》
依然到处被转载。再次说明,这篇长达12课的教程,原作者是本人,嘿嘿。10年前会用电驴和电骡的人,不多
【 在 sim (null) 的大作中提到: 】
: 求3g链接
&&&&&&&& ☆─────────────────────────────────────☆ &&
JPY (日) 于
(Thu Sep 27 09:50:39 2012)
提到: && 你这才叫欺负他,他估计看不了那么大段的英文,否则也不会玩了那么久才知道close[0]是bid
【 在 babypig (猪爸爸) 的大作中提到: 】
: 你们啊,合伙欺负飞哥是不对的,我来搭救飞哥!
: 都说MT4只能1分钟以下只能基于插值来回测,误差很大
: 其实你们不知道dukacopy提供外汇的tick级别数据
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
JPY (日) 于
(Thu Sep 27 09:52:45 2012)
提到: && 又吹破牛皮了吧,emule是2002年才有的,你难道10年前就穿越了?
【 在 gucst (飞哥) 的大作中提到: 】
: 电驴搜索李宗瑞
: 我百度搜索了一下,想不到我十年前写的文章
: 《电驴傻瓜教程-我为人人,人人为我》
: .................
&&&&&& ☆─────────────────────────────────────☆ &&
JPY (日) 于
(Thu Sep 27 09:55:42 2012)
提到: && 电脑上的东西,别卖老,本版有人玩电脑的时候,你估计还玩泥巴呢
【 在 gucst (飞哥) 的大作中提到: 】
: 电驴搜索李宗瑞
: 我百度搜索了一下,想不到我十年前写的文章
: 《电驴傻瓜教程-我为人人,人人为我》
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
gucst (飞哥) 于
(Thu Sep 27 09:55:46 2012)
提到: && 你确实很弱智,这是电骡,电驴是eDonkey,2000年就有了,当然两者功能是一致的。
eDonkey网络(英文:eDonkey Network,也称eDonkey2000 Network或eD2k、eD2k网络),由美国MetaMachine公司开发,是一种文件分享网络,最初用于共享音乐、电影和软件。与多数文件共享网络一样,它是分布式的;文件基于点对点原理传输,而不是由中枢服务器提供。2005年因与美国唱片工业协会的官司败诉被美国联邦最高法院判为非法并且永久停止开发。 && 一款P2P文件共享软件,电驴英文名eDonkey(意为:electronic donkey,中文译做“电驴”,),文件共享网络eDonkey2000网络(ed2k Network)由美国MetaMachine公司的创始人Jed.McCaleb和Sam.Yagan在2000年创立,是一种档案分享网络,最初用于共享音乐、电影和软件。
【 在 JPY (日) 的大作中提到: 】
: 又吹破牛皮了吧,emule是2002年才有的,你难道10年前就穿越了?
&&&&&&&& ☆─────────────────────────────────────☆ &&
JPY (日) 于
(Thu Sep 27 09:56:34 2012)
提到: && 看你原文最后一段头三个字
【 在 gucst (飞哥) 的大作中提到: 】
: 你确实很弱智,这是电骡,电驴是eDonkey,2000年就有了,当然两者功能是一致的。
: eDonkey网络(英文:eDonkey Network,也称eDonkey2000 Network或eD2k、eD2k网络),由美国MetaMachine公司开发,是一种文件分享网络,最初用于共享音乐、电影和软件。与多数文件共享网络一样,它是分布式的;文件基于点对点原理传输,而不是由中枢服务器提供。2005年因
: 一款P2P文件共享软件,电驴英文名eDonkey(意为:electronic donkey,中文译做“电驴”,),文件共享网络eDonkey2000网络(ed2k Network)由美国MetaMachine公司的创始人Jed.McCaleb和Sam.Yagan在2000年创立,是一种档案分享网络,最初用于共享音乐、电影和软件。
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
babypig (猪爸爸) 于
(Thu Sep 27 10:17:17 2012)
提到: && 嗷嗷嗷~ 强烈要求回帖中标记了m算楼主一半
为澳门游添砖加瓦! && 【 在 babypig (猪爸爸) 的大作中提到: 】
: 你们啊,合伙欺负飞哥是不对的,我来搭救飞哥!
: 都说MT4只能1分钟以下只能基于插值来回测,误差很大
: 其实你们不知道dukacopy提供外汇的tick级别数据
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
Nodlehs (Hello World!) 于
(Tue Oct&&2 11:20:14 2012)
提到: && 双击”PATCH”脚本,好像没有运行成功啊.
patch EURUSD,M15: Process already patched for the 2gb limit removal or we just can't find the area to patch.
patch EURUSD,M15: FXT overwriting already disabled or unable to find the location to patch.
【 在 babypig 的大作中提到: 】
: 你们啊,合伙欺负飞哥是不对的,我来搭救飞哥!
: 都说MT4只能1分钟以下只能基于插值来回测,误差很大
: 其实你们不知道dukacopy提供外汇的tick级别数据
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
babypig (猪爸爸) 于
(Tue Oct&&2 13:14:09 2012)
提到: && 不知道,我没玩过。。 && 【 在 Nodlehs (Hello World!) 的大作中提到: 】
: 双击”PATCH”脚本,好像没有运行成功啊.
: patch EURUSD,M15: Process already patched for the 2gb limit removal or we just can't find the area to patch.
: patch EURUSD,M15: FXT overwriting already disabled or unable to find the location to patch.
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
Nodlehs (Hello World!) 于
(Tue Oct&&2 13:29:22 2012)
提到: && 那你用啥数据回测的?
【 在 babypig 的大作中提到: 】
: 不知道,我没玩过。。
: &&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Tue Oct&&2 18:01:12 2012)
提到: && 贴个看了本文之后写的抓数据的程序吧。
用jforex抓数据太蛋疼了。
我估计按照那个速度,怎么也要1个月到2个月才能抓下来。
而且会产生上百G的csv文件...
我这个可以多线程抓,支持断点续传,自动寻找tick数据开始时间~ && 对于大部分异常已经做了处理,还存在少部分会卡住的问题,每天检查一次,
如果有就强制关掉再开让它续传就行了。 && 大概是3天时间抓好,总数据量26G
不要外传,不要抓太狠,
毕竟是多线程的,免得dukascopy一怒之下不再提供tick数据... && 准备工作:需要安装python-lzma,以及python-tables
------------ && import urllib2
from datetime import datetime, timedelta, date
import struct, math
from time import mktime, sleep, time
import lzma
import tables
import multiprocessing.dummy && CONCURRENTLY=24 && currencies = [ &&&& 'AUDCAD',&&'AUDCHF',&&"AUDJPY",&&"AUDNZD",&&'AUDSGD',&&"AUDUSD",&&'CADCHF',&& 'CADHKD', &&&& "CADJPY",&&"CHFJPY",&&'CHFSGD',&&"EURAUD",&&"EURCAD",&&"EURCHF",&&'EURDKK',&&
"EURGBP", &&&& 'EURHKD',&&"EURJPY",&&"EURNOK",&&'EURNZD',&&'EURPLN',&&"EURSEK",&&'EURSGD',&&
'EURTRY', &&&& "EURUSD",&&'GBPAUD',&&'GBPCAD',&&"GBPCHF",&&"GBPJPY",&&'GBPNZD',&&"GBPUSD",&&
'HKDJPY', &&&&&& 'NZDCAD',&&"NZDCHF",&&'NZDJPY',&&'NZDUSD',&&'SGDJPY',&&"USDCAD",&&"USDCHF",&&
'USDDKK', &&&& 'USDHKD',&&"USDJPY",&&'USDMXN',&&"USDNOK",&&'USDPLN',&&'USDRUB',&&"USDSEK",&&
"USDSGD", &&&& 'USDTRY',&&'USDZAR',&&"XAGUSD",&&"XAUUSD", &&&& ] && def toTimeStamp(dtobj): &&&& """ &&&& convert dtobj(datetime) into EPOCH seconds(with millisec) &&&&&& &&& from datetime import datetime &&&& &&& toTimeStamp(datetime()) &&&&
&&&& """ &&&& assert type(dtobj) in [datetime, date] &&&&&& micro_second = dtobj.microsecond &&&& return mktime(dtobj.timetuple()) + micro_second /
&& class DukascopyForex(tables.IsDescription): &&&& time = tables.Time64Col() &&&& ask&&= tables.Float32Col() &&&& bid&&= tables.Float32Col() &&&& askvol = tables.Float32Col() &&&& bidvol = tables.Float32Col() && class H5Store: &&&& def __init__(self, fn): &&&&&&&& self.h5file = tables.openFile(fn, mode='a', title = "dukascopy forex tick") &&&&&& def new_pair(self, pair_name): &&&&&&&& try: &&&&&&&&&&&& table = self.h5file.createTable('/', pair_name, DukascopyForex, "tick", &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& filters=tables.Filters(complevel=1, complib='lzo'),&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& expectedrows=) &&&&&&&& except: &&&&&&&&&&&& pass &&&&&&&&&& return self.h5file.getNode('/', pair_name) &&&&&& def new_data(self, datas, pair_obj, lasttick=None): &&&&&&&& row = pair_obj.row &&&&&&&& c=0 &&&&&&&& for x in datas: &&&&&&&&&&&& t = toTimeStamp(x[0]) &&&&&&&&&&&& if lasttick and t&=lasttick:&&&& continue &&&&&&&&&&&& row['time'] = t &&&&&&&&&&&& row['bid']&&= x[1] &&&&&&&&&&&& row['ask']&&= x[2] &&&&&&&&&&&& row['bidvol'] = x[3] &&&&&&&&&&&& row['askvol'] = x[3] &&&&&&&&&&&& c+=1 &&&&&&&&&&&& row.append() &&&&&&&& pair_obj.flush() &&&&&&&& return c &&&&&& def exists(self, pair_name): &&&&&&&& try: &&&&&&&&&&&& table = self.h5file.getNode("/", pair_name) &&&&&&&&&&&& return table, table.cols.time[-1] &&&&&&&& except: &&&&&&&&&&&& return None, None && def binary_search(pair_name): &&&& print "binary search start time for:", pair_name &&&& date_from = datetime() &&&& date_end = datetime.now() &&&& while True: &&&&&&&& if date_end - date_from & timedelta(seconds=10): &&&&&&&&&&&& print "not found!" &&&&&&&&&&&& return None &&&&&&&& d = date_from + (date_end - date_from)/2 &&&&&&&& url = "/datafeed/%(pair)s/%(year)d/%(month).2d/%
(day).2d/%(hour).2dh_ticks.bi5" % \ &&&&&&&&&& {'pair':pair_name, 'year':d.year, 'month':d.month, 'day':d.day, 'hour':d.hour} &&&&&&&& try: &&&&&&&&&&&& doc = urllib2.urlopen(url) &&&&&&&&&&&& date_end = d &&&&&&&&&&&& if date_end - date_from & timedelta(hours=20): &&&&&&&&&&&&&&&& break &&&&&&&& except urllib2.HTTPError as e: &&&&&&&&&&&& date_from = d &&&&&& print "found:", d &&&& return toTimeStamp(d) && def download(h5_store, jobs=CONCURRENTLY): &&&& for pair in currencies: &&&&&&&& pair_obj, firsttick = h5_store.exists(pair) &&&&&&&& lasttick = firsttick &&&&&&&&&& if firsttick is None: &&&&&&&&&&&& pair_obj = h5_store.new_pair(pair) &&&&&&&&&&&& firsttick = binary_search(pair) &&&&&&&&&&&& lasttick = None &&&&&&&& else: &&&&&&&&&&&& print "continue from:", datetime.fromtimestamp(firsttick) &&&&&&&&&& urls = [] &&&&&&&& for i in range(int(firsttick), int(time()), 3600): &&&&&&&&&&&& d = datetime.fromtimestamp(i) &&&&&&&&&&&& url = "/datafeed/%(pair)s/%(year)d/%(month).2d/%
(day).2d/%(hour).2dh_ticks.bi5" % \ &&&&&&&&&&&&&& {'pair':pair, 'year':d.year, 'month':d.month, 'day':d.day, 'hour':d.hour} &&&&&&&&&&&& urls.append((d, url)) &&&&&&&&&& # download concurrently &&&&&&&& p=multiprocessing.dummy.Pool(jobs) &&&&&&&& for url_group in igroup_by(urls, jobs): &&&&&&&&&&&& results = p.map(fetch_data, url_group) &&&&&&&&&&&& for d, url, result in results: &&&&&&&&&&&&&&&& if not result: &&&&&&&&&&&&&&&&&&&& print "omit: %s, date:%r" % (url, d) &&&&&&&&&&&&&&&&&&&& continue &&&&&&&&&&&&&&&& decomp = lzma.LZMADecompressor() &&&&&&&&&&&&&&&& data = decomp.decompress(result) &&&&&&&&&&&&&&&& feeded = h5_store.new_data(decode_bi5(d.year, d.month, d.day, d.hour, data),&& pair_obj, lasttick) &&&&&&&&&&&&&&&& print "%s =& %d, date:%r, feeded:%d" % (url, len(result), d, feeded) && def fetch_data(d_url): &&&& d, url = d_url &&&& for i in range(5): &&&&&&&& try: &&&&&&&&&&&& doc = urllib2.urlopen(url) &&&&&&&&&&&& lzma_data = [] &&&&&&&&&&&& while True: &&&&&&&&&&&&&&&& data = doc.read() &&&&&&&&&&&&&&&& if not data:break &&&&&&&&&&&&&&&& lzma_data.append(data) &&&&&&&&&&&&&& result = "".join(lzma_data) &&&&&&&&&&&& return d, url, result &&&&&&&& except urllib2.HTTPError as e: &&&&&&&&&&&& print "exception: %r, code:%r, url:%s" % (e, e.code, url) &&&&&&&&&&&& return d, url, None &&&&&&&& except Exception as e: &&&&&&&&&&&& print "exception:", e &&&&&&&&&&&& sleep(120) && def igroup_by(sequence, length): &&&& """ &&&& split a sequence into groups with equal length: &&&&&& &&& [x for x in igroup_by("abcdefg", 3)] &&&& ['abc', 'def', 'g'] &&&&&& &&& [x for x in igroup_by("abcdefg", 4)] &&&& ['abcd', 'efg'] &&&&&& &&& [x for x in igroup_by("abcdefgh", 4)] &&&& ['abcd', 'efgh'] &&&&&& &&& [x for x in igroup_by("abcdefg", 2)] &&&& ['ab', 'cd', 'ef', 'g'] &&&&&& """ &&&& for i in range(int(math.ceil(len(sequence)*1.0 / length))): &&&&&&&& yield sequence[i*length: (i+1)*length] && def decode_bi5(year, month, day, hour, sequences): &&&& time_base = datetime(year, month, day, hour) &&&& for sequence in igroup_by(sequences, 20): &&&&&&&& try: &&&&&&&&&&&& tdelta, ask, bid, ask_vol, bid_vol = struct.unpack("&IIIff", sequence) &&&&&&&& except: &&&&&&&&&&&& continue &&&&&&&& ask = ask/1000.0 &&&&&&&& bid = bid/1000.0 &&&&&&&& time_point = time_base + timedelta(seconds = tdelta/ 1000, microseconds =&& tdelta % ) &&&&&&&& yield (time_point, bid, ask, bid_vol, ask_vol) && def verify(): &&&& "binary search for every pair" &&&& for c in currencies: &&&&&&&& print c, binary_search(c) && if __name__=="__main__": &&&& # verify() &&&& download(H5Store('/data/forex_tick/dukascopy_tick.h5'), CONCURRENTLY) && 【 在 babypig (猪爸爸) 的大作中提到: 】
: 你们啊,合伙欺负飞哥是不对的,我来搭救飞哥!
: 都说MT4只能1分钟以下只能基于插值来回测,误差很大
: 其实你们不知道dukacopy提供外汇的tick级别数据
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
FlawZero (零缺点) 于
(Tue Oct&&2 19:31:05 2012)
提到: && 呃,其实网上有现成的,虽然是PHP写的 &&
&& 【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: 贴个看了本文之后写的抓数据的程序吧。
: 用jforex抓数据太蛋疼了。
: 我估计按照那个速度,怎么也要1个月到2个月才能抓下来。
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
Trade (交易) 于
(Tue Oct&&2 20:05:03 2012)
提到: && 碉堡!
超级码农! && 【 在 lvsoft 的大作中提到: 】
: 贴个看了本文之后写的抓数据的程序吧。
: 用jforex抓数据太蛋疼了。
: 我估计按照那个速度,怎么也要1个月到2个月才能抓下来。
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Tue Oct&&2 20:40:36 2012)
提到: && 这个我知道~
它的问题是照搬duakscopy的目录,一小时一个文件,会弄出无数小文件~
我的vps有最大文件数目限制,没法用他的脚本。 && 另外这个php的版本写的太罗嗦,而且它的list里面的货币对不够多,开始时间又是是手
动指定的,我想增加货币对很麻烦。 && 最后这个是单线程下载的,有的等呢。
【 在 FlawZero (零缺点) 的大作中提到: 】
: 呃,其实网上有现成的,虽然是PHP写的
&&&& ☆─────────────────────────────────────☆ &&
FlawZero (零缺点) 于
(Tue Oct&&2 21:34:50 2012)
提到: && openvz的vps么,这倒可能是个问题,我在一个xen的vps上跑的
而且我只需要十来个货币对,随便改了下它的shell脚本起四个进程差不多两天下完了
主要是觉得为这种事重新写个脚本略不划算。。。 && 【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: 这个我知道~
: 它的问题是照搬duakscopy的目录,一小时一个文件,会弄出无数小文件~
: 我的vps有最大文件数目限制,没法用他的脚本。
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
Nodlehs (Hello World!) 于
(Tue Oct&&2 21:45:02 2012)
提到: && 我下数据没问题。。。问题是下完了再转换不行。。。
【 在 lvsoft 的大作中提到: 】
: 这个我知道~
: 它的问题是照搬duakscopy的目录,一小时一个文件,会弄出无数小文件~
: 我的vps有最大文件数目限制,没法用他的脚本。
: ...................
&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Tue Oct&&2 22:03:21 2012)
提到: && 主要是,就算是用他的脚本下好,也只是bi5文件。
就算再用另一组脚本转换成csv,也还是需要decode然后变成我能接受的格式。 && 不管怎么说都是需要折腾点代码的。
所以我就干脆一步到位了~
连调试在内的时间大概是2小时吧。
少灌几桶水的时间... && 【 在 FlawZero (零缺点) 的大作中提到: 】
: openvz的vps么,这倒可能是个问题,我在一个xen的vps上跑的
: 而且我只需要十来个货币对,随便改了下它的shell脚本起四个进程差不多两天下完了
: 主要是觉得为这种事重新写个脚本略不划算。。。
&&&& ☆─────────────────────────────────────☆ &&
Nodlehs (Hello World!) 于
(Wed Oct&&3 09:21:21 2012)
提到: && 按照你的方法下好后,还需要脚本转换之类的才能被MT4使用吗?
【 在 lvsoft 的大作中提到: 】
: 主要是,就算是用他的脚本下好,也只是bi5文件。
: 就算再用另一组脚本转换成csv,也还是需要decode然后变成我能接受的格式。
: 不管怎么说都是需要折腾点代码的。
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Wed Oct&&3 13:03:11 2012)
提到: && 那肯定啊。
这个脚本输出的数据是为我自己的平台服务的。
【 在 Nodlehs (Hello World!) 的大作中提到: 】
: 按照你的方法下好后,还需要脚本转换之类的才能被MT4使用吗?
&&&&&& ☆─────────────────────────────────────☆ &&
Nodlehs (Hello World!) 于
(Wed Oct&&3 17:48:47 2012)
提到: && 你是在linux平台跑的还是cygwin
【 在 lvsoft 的大作中提到: 】
: 那肯定啊。
: 这个脚本输出的数据是为我自己的平台服务的。
&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Wed Oct&&3 17:56:01 2012)
提到: && linux。
除了玩游戏,我从来不用windows
【 在 Nodlehs (Hello World!) 的大作中提到: 】
: 你是在linux平台跑的还是cygwin
&&&&&& ☆─────────────────────────────────────☆ &&
Nodlehs (Hello World!) 于
(Fri Oct&&5 20:12:20 2012)
提到: && 我在ubuntu运行报错了:
from: can't read /var/mail/datetime
from: can't read /var/mail/time
./getTicket.py: 行 11: currencies: 未找到命令
./getTicket.py: 行 12: AUDCAD,: 未找到命令
./getTicket.py: 行 13: CADHKD,: 未找到命令
./getTicket.py: 行 14: CADJPY,: 未找到命令
./getTicket.py: 行 15: EURGBP,: 未找到命令
./getTicket.py: 行 16: EURHKD,: 未找到命令
./getTicket.py: 行 17: EURTRY,: 未找到命令
./getTicket.py: 行 18: EURUSD,: 未找到命令
./getTicket.py: 行 19: HKDJPY,: 未找到命令
./getTicket.py: 行 21: NZDCAD,: 未找到命令
./getTicket.py: 行 22: USDDKK,: 未找到命令
./getTicket.py: 行 23: USDHKD,: 未找到命令
./getTicket.py: 行 24: USDSGD,: 未找到命令
./getTicket.py: 行 25: USDTRY,: 未找到命令
./getTicket.py: 行 26: ]: 未找到命令
./getTicket.py: 行 28: 未预期的符号 `(' 附近有语法错误
./getTicket.py: 行 28: `def toTimeStamp(dtobj): ' && 【 在 lvsoft 的大作中提到: 】
: 贴个看了本文之后写的抓数据的程序吧。
: 用jforex抓数据太蛋疼了。
: 我估计按照那个速度,怎么也要1个月到2个月才能抓下来。
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Fri Oct&&5 21:50:26 2012)
提到: && 呃,先问问你懂python么... &&&& 【 在 Nodlehs (Hello World!) 的大作中提到: 】
: 我在ubuntu运行报错了:
: from: can't read /var/mail/datetime
: from: can't read /var/mail/time
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
Nodlehs (Hello World!) 于
(Fri Oct&&5 21:56:56 2012)
提到: && 汗,第一次跑。是不是得先编译?
【 在 lvsoft 的大作中提到: 】
: 呃,先问问你懂python么...
:&& &&&&&& ☆─────────────────────────────────────☆ &&
Nodlehs (Hello World!) 于
(Fri Oct&&5 22:03:19 2012)
提到: && 编译时报错:
url = "/datafeed/%(pair)s/%(year)d/%(month).2d/%&& (day).2d/%(hour).2dh_ticks.bi5" % \&&&&&&&&&&&&&&{'pair':pair_name, 'year':d.year, 'month':d.month, 'day':d.day, 'hour':d.hour}&& 【 在 lvsoft 的大作中提到: 】
: 呃,先问问你懂python么...
:&& &&&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Fri Oct&&5 22:11:01 2012)
提到: && ...
我贴这个程序不是给完全不懂python的人用的...
而是给懂一点python,又刚好需要的同学参考的... && 首先python里面缩进是有语义的,而贴出来的代码因为有强制换行的问题,
所以有2、3个被换行的地方要自己修正,比如你贴的这一行是不应该换行的。 && 其次,要装python-tables以及python-lzma这2个扩展之后才能跑。 && 最后,如果你完全不懂python,那么你怎么用抓下来的信息呢...
虽然最后抓下来的文件你可以用vitables打开看看...但也仅限于此啊...
最后终究是需要写点代码把这个数据转换成你需要的格式的... && 【 在 Nodlehs (Hello World!) 的大作中提到: 】
: 编译时报错:
: url = "/datafeed/%(pair)s/%(year)d/%
(month).2d/%&& : (day).2d/%(hour).2dh_ticks.bi5" % \&&
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
Nodlehs (Hello World!) 于
(Fri Oct&&5 22:16:59 2012)
提到: && 两个扩展我都装好了。。。
最后转换的代码能贡献下吗?
【 在 lvsoft 的大作中提到: 】
: 我贴这个程序不是给完全不懂python的人用的...
: 而是给懂一点python,又刚好需要的同学参考的...
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
gucst (飞哥) 于
(Fri Oct&&5 22:17:10 2012)
提到: && 我做外汇程序化的体会:
在编制策略方面,细节决定成败
在市场走势方面,揪细节必失败
所以,真正的tick数据,其实耗费大量的存贮空间和CPU时间,我是觉得没有什么大的用处
【 在 Nodlehs (Hello World!) 的大作中提到: 】
: 编译时报错:
: url = "/datafeed/%(pair)s/%(year)d/%(month).2d/%&&
: (day).2d/%(hour).2dh_ticks.bi5" % \&&
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
Nodlehs (Hello World!) 于
(Fri Oct&&5 22:19:19 2012)
提到: && 现在我缺少有效的历史数据回测啊
【 在 gucst 的大作中提到: 】
: 我做外汇程序化的体会:
: 在编制策略方面,细节决定成败
: 在市场走势方面,揪细节必失败
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Fri Oct&&5 22:33:58 2012)
提到: && 我不需要转换啊...
我自己的平台就直接能用这样的数据结构~ && 【 在 Nodlehs (Hello World!) 的大作中提到: 】
: 两个扩展我都装好了。。。
: 最后转换的代码能贡献下吗?
&&&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Fri Oct&&5 22:35:16 2012)
提到: && 诶?你前一阵子不是一直在说MT4用1分钟线差值出来的tick用于回测怎么怎么好么...
难道真实的tick数据还不如插值出来的tick数据? && 【 在 gucst (飞哥) 的大作中提到: 】
: 我做外汇程序化的体会:
: 在编制策略方面,细节决定成败
: 在市场走势方面,揪细节必失败
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
gucst (飞哥) 于
(Fri Oct&&5 22:38:07 2012)
提到: && 插值出的tick,其用途不是用来100%复原历史,是用来tick驱动的,也就是1个tick,ea运行一次
而很多的平台回测,是一根K线,程序运行一次!
这就是MT4为什么要插值tick的妙处,巧妙的解决了复原历史和tick驱动两个矛盾,走了中庸之道
【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: 诶?你前一阵子不是一直在说MT4用1分钟线差值出来的tick用于回测怎么怎么好么...
: 难道真实的tick数据还不如插值出来的tick数据?
&&&&&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Fri Oct&&5 22:40:23 2012)
提到: && 那岂不是速度很慢?
既然都是tick驱动了,还要插值干嘛,直接上真实tick岂不是更好? && ps:其实,我也不太care这些问题,我可以按任意周期回测的。 && 【 在 gucst (飞哥) 的大作中提到: 】
: 插值出的tick,其用途不是用来100%复原历史,是用来tick驱动的,也就是1个tick,ea
: 而很多的平台,是一根K线,程序运行一次!
: 这就是MT4为什么要插值tick的妙处,巧妙的解决了复原历史和tick驱动两个矛盾,走了
中庸之道 &&&&&& ☆─────────────────────────────────────☆ &&
gucst (飞哥) 于
(Fri Oct&&5 22:45:39 2012)
提到: && 速度还是很快的。tick数据的存储是大问题,如果全部的直盘货币对的十年tick数据,有这个都可以开店卖钱的。很多策略和tick的关系不大,比如我的策略,其实tick怎么走,都无所谓,1分钟内,怎么也走不出最高和最低点
【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: 那岂不是速度很慢?
: 既然都是tick驱动了,还要插值干嘛,直接上真实tick岂不是更好?
: ps:其实,我也不太care这些问题,我可以按任意周期回测的。
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Fri Oct&&5 22:55:19 2012)
提到: && 那个dukascopy最早提供07年的数据,52个货币,用我的程序抓下来总共26g
还行吧,最长的货币对大概是12亿条记录规模
【 在 gucst 的大作中提到: 】
: 速度还是很快的。tick数据的存储是大问题,如果全部的直盘货币对的十年tick数据,有这个都可以开店卖钱的。很多策略和tick的关系不大,比如我的策略,其实tick怎么走,都无所谓,1分钟内,怎么也走不出最高和最低点
&&&& ☆─────────────────────────────────────☆ &&
gucst (飞哥) 于
(Fri Oct&&5 23:11:13 2012)
提到: && 这个据说是bid的tick数据,要完全的真实,显然还需要同时有ask的tick数据,而且在回测内在机制方面,还需要同时调用bid和ask的数据,而且必须是同一个tick,这个我觉得
根本无法实现,实际MT4是用bid再加上固定点差,模拟ask的,既然这个都有0.5-1个点的误差,其实追求完全真实的tick,和插值也就是半斤八两
【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: 那个dukascopy最早提供07年的数据,52个货币,用我的程序抓下来总共26g
: 还行吧,最长的货币对大概是12亿条记录规模
&&&&&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Fri Oct&&5 23:12:02 2012)
提到: && bid/ask/bidvol/askvol/精确到0.001秒的时间 && 【 在 gucst (飞哥) 的大作中提到: 】
: 这个据说是bid的tick数据,要完全的真实,显然还需要同时有ask的tick数据,而且在回
测内在机制方面,还需要同时调用bid和ask的数据,而且必须是同一个tick,这个我觉得
: 根本无法实现,实际MT4是用bid再加上固定点差,模拟ask的,既然这个都有0.5-1个点
的误差,其实追求完全真实的tick,和插值也就是半斤八两 &&&&&& ☆─────────────────────────────────────☆ &&
gucst (飞哥) 于
(Fri Oct&&5 23:14:20 2012)
提到: && 那就很牛逼了,这个数据其实对小的平均盈点和亏点的系统比较重要,当然硬件的交易反映速度更是关键。对于盈亏大于10点,且对硬件条件要求一般的系统,用这个数据,容易导致
自取灭亡,也就是回测完全和实战背离
【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: bid/ask/bidvol/askvol/精确到0.001秒的时间
: 测内在机制方面,还需要同时调用bid和ask的数据,而且必须是同一个tick,这个我觉得
: 的误差,其实追求完全真实的tick,和插值也就是半斤八两
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
justforone (君子袒蛋蛋,小人藏鸡鸡) 于
(Fri Oct&&5 23:14:58 2012)
提到: && 如果策略本身就支持上下10点的误差
那搞这些精细的活就有点不合算了&&代价太大 && 【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: bid/ask/bidvol/askvol/精确到0.001秒的时间
: 测内在机制方面,还需要同时调用bid和ask的数据,而且必须是同一个tick,这个我觉得
: 的误差,其实追求完全真实的tick,和插值也就是半斤八两
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Fri Oct&&5 23:22:55 2012)
提到: && 我折腾自己的平台,目的是不想有局限性。
每个人都有每个人的优势嘛,这点代价对我来说不算什么。 && 【 在 justforone (君子袒蛋蛋,小人藏鸡鸡) 的大作中提到: 】
: 如果策略本身就支持上下10点的误差
: 那搞这些精细的活就有点不合算了&&代价太大
&&&&&& ☆─────────────────────────────────────☆ &&
justforone (君子袒蛋蛋,小人藏鸡鸡) 于
(Fri Oct&&5 23:28:52 2012)
提到: && 基于tick级别回测一个较复杂的ea,回测时间超过1年以上
耗时是小时级别的&& 我的ea回测我都不敢这么干
因为时间更长&& 回测1年以小时记是不能接受的
我一般回测13组数据,这样算来回测一次至少是13个小时了。。。
不崩溃不行 && 【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: 我折腾自己的平台,目的是不想有局限性。
: 每个人都有每个人的优势嘛,这点代价对我来说不算什么。
&&&&&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Fri Oct&&5 23:29:38 2012)
提到: && 说说为啥会自取灭亡啊,
实际运行的系统也是用的一样的tick数据。
唯一无法精确模拟的就是滑点和网络延迟而已。 && 而对于CTP,我记录的数据是包含网络延迟的。所以只剩下滑点一个问题而已。
【 在 gucst (飞哥) 的大作中提到: 】
: 那就很牛逼了,这个数据其实对小的平均盈点和亏点的系统比较重要,当然硬件的交易
反映速度更是关键。对于盈亏大于10点,且对硬件条件要求一般的系统,用这个数据,
: 自取灭亡,也就是回测完全和实战背离
&&&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Fri Oct&&5 23:36:45 2012)
提到: && 我前面提到过了,我的平台对回测的周期级别是没有限制的。
用3秒,10秒,45秒,1分钟,5分钟等等任意周期的K线来回测。 && 另外目前的策略平台还没有完全构建好,所以我自己也对回测的代价没数。
而且我也不确定最终策略里会用哪些计算量比较大的东西。 && 不过,可以优化的余地相当的大。
这么说吧,对于简单的机械交易策略,5年时间的tick数据,5分钟回测完毕也不是不可
能。事实上,现在遍历一遍只需要30秒上下而已。
而且同时对多个货币对回测也不会增加时间开销。分布式计算和高性能计算都是我的老
本行。 && 更何况这26G的数据体积,本身就是没优化过的,如果对数据结构稍微优化以下,恐怕
可以控制到10G内。 && 这就是我自己搭平台的目的:没有任何局限性。 && 【 在 justforone (君子袒蛋蛋,小人藏鸡鸡) 的大作中提到: 】
: 基于tick级别回测一个较复杂的ea,回测时间超过1年以上
: 耗时是小时级别的&& 我的ea回测我都不敢这么干
: 因为时间更长&& 回测1年以小时记是不能接受的
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
LVZHL (Taoism Trader) 于
(Fri Oct&&5 23:37:45 2012)
提到: && lvsost和他们这些连啥是tick数据都不明白的人讨论tick的问题,相当于职业杀手和小混混儿讨论如何杀人。
有句老话,酒逢知己千杯少,话不投机半句多。
风清扬是不会和桃谷六仙动手的。
黄药师也不会去杀柯镇恶这种瞎子。 &&&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Fri Oct&&5 23:41:49 2012)
提到: && 坦白的说,技术领域的问题是我擅长的地方。
不过到交易方面的问题,这个就不是了。 && 所以我还是谨慎点比较好~ && 【 在 LVZHL (Taoism Trader) 的大作中提到: 】
: lvsost和他们这些连啥是tick数据都不明白的人讨论tick的问题,相当于职业杀手和小混
混儿讨论如何杀人。 &&&&&& ☆─────────────────────────────────────☆ &&
gucst (飞哥) 于
(Fri Oct&&5 23:42:43 2012)
提到: && 其实是基于下面的认知
MT4已经提供了M1的插值tick回测,这个可以得出回测结果A
自己获得真实的tick数据,这个可以得出回测结果B
如果A等于B,那真实的tick其实用处不大,费时费力
如果A不等于B,那说明真实的tick和M1插值出来的结果差距巨大,那显然这个策略,是对于极小波动过于敏感的,无法在市场生存。
所以结果是,如果结果一致,那干嘛要用真实tick?如果结果不一致,那这个模型过于敏感,等于没有任何的免疫力,必然死菜。所以只能推出,用M1插值tick研究策略,足以了
能充分理解上面,才能去看外汇的K线,不能理解的,看外汇的K线,心都会凉半截
【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: 说说为啥会自取灭亡啊,
: 实际运行的系统也是用的一样的tick数据。
: 唯一无法精确模拟的就是滑点和网络延迟而已。
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Fri Oct&&5 23:48:14 2012)
提到: && 问题是,你最终的策略是按照真实tick执行还是按照真实1分钟K线执行的? && 如果策略是按照1分钟K线执行,那回测也按照K线回测。
但是如果策略是按照tick执行,那回测按照K线插值出来的tick数据回测,很显然是有不
一致的。 && 总之更多的信息肯定是没坏处的,因为减少信息量很容易。
反过来说,根据插值重建出来的数据,意义不是很大。 && 而我目前这个阶段的目的,不是构造出一个如何牛X的策略,而是先拥有一个没有任何
局限性的平台。
【 在 gucst (飞哥) 的大作中提到: 】
: 其实是基于下面的认知
: MT4已经提供了M1的插值tick回测,这个可以得出回测结果A
: 自己获得真实的tick数据,这个可以得出回测结果B
: ...................
&&&&&& ☆─────────────────────────────────────☆ &&
LVZHL (Taoism Trader) 于
(Fri Oct&&5 23:49:55 2012)
提到: && 国外管理基金的机构都用tick数据研发和测试模型。这个问题就没啥好说的。机构就是机构,实力摆在那。tick就是有一个壁垒,一般的个人玩不转。
【 在 lvsoft 的大作中提到: 】
: 坦白的说,技术领域的问题是我擅长的地方。
: 不过到交易方面的问题,这个就不是了。
: 所以我还是谨慎点比较好~
: ...................
&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Fri Oct&&5 23:52:04 2012)
提到: && 他们其实玩的更深入,tick只是一个起步门槛。
他们用的数学模型之复杂,那个才是真正的门槛。 && 不过他们的资金量跟个人也有质的差异,面临的困难与个人也完全不同。
所以个人还是有的玩的。 && 【 在 LVZHL (Taoism Trader) 的大作中提到: 】
: 国外管理基金的机构都用tick数据研发和测试模型。这个问题就没啥好说的。机构就是
机构,实力摆在那。tick就是有一个壁垒,一般的个人玩不转。 &&&&&& ☆─────────────────────────────────────☆ &&
gucst (飞哥) 于
(Fri Oct&&5 23:53:05 2012)
提到: &&&& 【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: 标&&题: Re: Tick 数据-用MT4实现99%的回测数据数据
: 发信站: 水木社区 (Fri Oct&&5 23:48:14 2012), 站内
: 问题是,你最终的策略是按照真实tick执行还是按照真实1分钟K线执行的?
反复说过了,MT4是M1插值tick驱动。本质依然是tick驱动,这个和实际的外汇一样。
其实前面说那么多,我的意思总结为,采取tick数据,散户容易弄巧成拙。当然
有效的策略,在M1插值tick和真实tick方面应该是一致的。
这里面排除了机构交易者,有本事花几千万美金直接连接市场的机构,不属于本版讨论范围
: 如果策略是按照1分钟K线执行,那回测也按照K线回测。
: 但是如果策略是按照tick执行,那回测按照K线插值出来的tick数据回测,很显然是有不
: 一致的。
: 总之更多的信息肯定是没坏处的,因为减少信息量很容易。
: 反过来说,根据插值重建出来的数据,意义不是很大。
: 【 在 gucst (飞哥) 的大作中提到: 】
: : 其实是基于下面的认知
: : MT4已经提供了M1的插值tick回测,这个可以得出回测结果A
: : 自己获得真实的tick数据,这个可以得出回测结果B
: : ...................
: ※ 来源:·水木社区 ·[FROM: 122.194.13.*]
&&&&&&&& ☆─────────────────────────────────────☆ &&
Nodlehs (Hello World!) 于
(Sat Oct&&6 08:35:43 2012)
提到: && 我靠,你自己独立写了一个交易平台啊!
【 在 lvsoft 的大作中提到: 】
: 坦白的说,技术领域的问题是我擅长的地方。
: 不过到交易方面的问题,这个就不是了。
: 所以我还是谨慎点比较好~
: ...................
&&&& ☆─────────────────────────────────────☆ &&
lvsoft (Lv(The Last Guardian)) 于
(Sat Oct&&6 14:01:28 2012)
提到: && 我又不是第一个...
【 在 Nodlehs (Hello World!) 的大作中提到: 】
: 我靠,你自己独立写了一个交易平台啊!
&&&&&& ☆─────────────────────────────────────☆ &&
yoko (JUST DO IT) 于
(Sun Oct&&7 05:42:33 2012)
提到: && 强烈同感。
【 在 gucst (飞哥) 的大作中提到: 】
: 我做外汇程序化的体会:
: 在编制策略方面,细节决定成败
: 在市场走势方面,揪细节必失败
: ...................
&&&&&& 文章数:1&分页:

我要回帖

更多关于 如何提高数据质量 的文章

 

随机推荐