根据itfin在深圳的讲演稿的算法轮廓,用WLD的代码实现了出来。在580997的tick数据上跑了一回,成绩不行 itfin也随便看看玩玩。 var curr_newhigh,curr_newlow,v_support,v_resistance : float; var bar,NH_count,NL_count,H_count,L_count: integer; NH_count:=0; NL_count:=0; H_count:=4; L_count:=4; curr_newhigh:=priceclose(0); curr_newlow:=priceclose(0); v_support:=priceclose(0); v_resistance:=priceclose(0); for bar:=1 to barcount-1 do begin if priceclose(bar)>curr_newhigh then begin v_support:=curr_newhigh; NH_count:=NH_count+1; if (NH_count>=H_count) and (priceclose(bar)>v_resistance) then buyatmarket(bar+1,'buy'); end else if priceclose(bar)<curr_newlow then begin v_resistance:=curr_newlow; NL_count:=NL_count+1; if (NL_count>=L_count) and (priceclose(bar)<v_support) then sellatmarket(bar+1,#all,'sell'); end else if priceclose(bar-1)=curr_newhigh then NL_count:=0 else if priceclose(bar-1)=curr_newlow then NH_count:=0; end;
一晃到年底了,对这个高频交易测试活动做个总结,并祝各位新年快乐! 1.最大的收获是开始了程序化的实盘交易,完成了从理论到实践的惊险一跃,并且通过实践坚定了对机械交易系统的信心. 2.最大的遗憾是在系统起作用的时期没有使用止损和头寸管理.历史回溯表明简单的单日4%止损就可以将收益提高至少一倍. 3.系统在2007年7月以来的表现可以分为稳定盈利->宽幅振荡->稳定亏损三个阶段.这说明即使拥有了上万次的交易也并不意味着统计上的稳定性和确定的概率优势.一个健壮的系统必须经受不同市场和不同历史窗口的苛刻检验. 4.学习交易必须实际做单,回头再读Van K. Tharp的<通向金融王国的自由之路>,才发现通过付出真金白银学到的,书里早就说得很清楚了,以前却没在我脑子里留下印象 ---交易信号只占10%,头寸管理占40%,心理控制占60% ---趋势跟踪系统的胜率一般只在30%多一些 ---不能奢望系统稳定盈利,对于趋势跟踪系统有时一年的收益与其中一天的收益是相等的,大部分交易是小的亏损,大部分盈利交易只能弥补亏损和交易成本,系统的绝对收益完全依赖于极个别的大R交易 ---如果想使利润最大化,必须愿意回吐积累起来的大量利润 5.把交易作为业余爱好和谋生职业的感觉和关注重点是有区别的,前者可能导致忽略一些实战中至关重要的东西,但后者又需要长期的经验积累和足够的信心及勇气. 6.当系统停止赚钱后曾经试着利用自己写的行情软件配合人工盯盘进行权证超短线的趋势交易,基本均以亏损告终.更重要的是领教了这项工作的高强度和巨大压力(必须时刻保持注意力高度集中/仓位未平掉时不敢去洗手间),考虑到保持良好健康的不易,彻底放弃了对这种半自动操作的进一步探索,还是老老实实对历史数据进行反复统计分析吧. 7.行情变化剧烈,同时具备高波动性和流动性的衍生品交易是日内投机者的天堂,确实有使人上瘾的魅力,看来在未来相当长一段时间内要集中全部精力来研究它了. 8.交易和驾驶有许多相似之处:进入门槛极低/纪律生死攸关/必须反应迅速/良好的方向感/经验逐步转化为直觉和潜意识/...,考虑到虽然飞机的自动驾驶技术成熟,但汽车的自动驾驶一直难以实用化(尤其在中国的道路上),机械交易系统面对的挑战依然艰巨.
关键还是交易策略,最好是Multi-Strategies, Multi-Markets, Multi-Levels(Time-frame), Multi-Positions, Multi Accounts. Keep it multiple and intelligent!