近期一个多月,又研究、试探了一部分EA,这些EA有的很知名,有的名气小一部分。我选择的条件有两个:一是值得开仓回测;二是原代码可读。那些用Ex4 TO MQ 破解的EA,原代码编程了一堆没故意义的代码,注解起来很难,我就临时放到一边。
当前国内对EA的研究、开发和破译者很少,我大多到国外论坛去逛。
当下把这段时间试探的笔记、心得给大家分享一下,期望寻到几个志同道合的研究者。
1、OM——2Way V3.6a_EN (推荐)
该EA默认入场信号是以现在时间框架内距700期均线60点作为首单入场点,逆势加码的Martingale。均线、偏离距离及时间框架均可调节。理论上大的时间框架疑似抗风险能力更强。但笔者试探,假使市场不回头走800点以上,也会爆仓。尽管起始手设置为0.2,加仓也不是翻翻,但增长速度任然迅速。采取的不是一次全平仓的办法,而是部分盈亏单对冲。奇异的是,该EA疑似有选择性的对冲,并没有一定是对冲最远的亏损单。该EA有几点值得关注和研究:(1)采取价格和均线的偏离(事实就是Bias指标)来作为入场筛选,可以在一定程度上避免逆势太多,Bias太大必然回回调。但Bias的回调并没有代表着价格回调。所以,可以考虑和其余指标,如BB 或 TMA等结合起来筛选;(2)不是用固定盈利法出场,而是用固定点数的方法,所以,加仓越多,出场后盈利也越大,账户增长迅速;(3)该EA在编程上呈现专业写手的风格,差不多用函数分别达到各类功能,函数的定义、调用灵活自如,可供编程参考。V3.6C 版本中增长了Profit$ 和 Loss$两个设置项,可将固定点盈利变为固定金额盈利,并可以设置固定金额的止损。盈利能力和风险都大大下滑了。
2、SteadyWinnerV3(推荐)
SteadyWinner有UseMannul表明书,写得通俗易懂,所以不难理解其策略。作者坚持觉得: 每次交易不能胜过账户总资金的2%,所以,其资金管理严格遵照这一法则。笔者试探欧元兑美元2010年、2011年全年分别报67%、61%的年上涨率,胜率分别高达86%、88%,且资金回撤率不胜过9%。诚然,或许是由于欧元兑美元的试探点差为1,而用镑美来测2010年,情形就没那么乐观了,全年盈利仅为15%,由于镑美的试探点差为2。受于该EA已经用了自动增减仓位的方法,所以,盈利中已经包含了复利。10万账户的起始仓为4手。该EA显现很多0.01手仓位,恐怕正是盈利的秘密。作者解释,在三种情形下会显现0.01手仓:(1)假使显现亏损;(2)假使胜过了星期日上午(应当是避免周末持重仓);(3)假使时间在12月下半月(恐怕是因年末及圣诞节市场反复波动)。作者觉得,当市场反复动荡的时机,该EA可以用0.01手来避免过分亏损。只有当显现反复盈一手、亏一手的情形,才会致使账户大幅亏损。该EA的标准是用在欧元兑美元1小时图上,本质上属于剥头皮程序,小止盈,大止损。然而,与多数剥头皮程序不同的是,该EA坚持顺势剥头皮,且不加仓。其入场条件为:(1)1分钟图的600期ATR值大于0.0001;(2)5分钟图的iStoch 55期、100期信号线发生穿越;(3)1分钟图的威廉指标155期威廉指标差于最大值;(4)1分钟、5分钟、15分钟、30分钟、1小时的700期EMA均差于/好于1分钟的最后收盘价;其出场条件为:(1)上述IStoch显现反穿;(2)1分钟威廉指标好于/差于-25/-75,且5分钟威廉指标好于/差于-35/-65, 15分钟威廉指标好于/差于-50。该EA内设硬止损50,止盈12,跟踪止盈10点。事实盈亏比据作者说是1:2.5。相对于Steadwinner V3来看,V4作了巨大改进,就是把以前的5个EMA改为还剩1、5、15期三个。这样以来,平稳性肯定不如以前,但开单量比以前增多。作者觉得短时间来说,V4也许不敌V3, 但长期来说,受于复利的原因,V4要好于V3。(该程序或可用作EA模板)
3、Sophia_1
一款10万元起始单量为0.01的Martingale EA居然能一年翻一倍?是的,Sophial_1在2010年镑美、2011年欧元兑美元的试探中都得到了将账户增长到20万的业绩,资金回撤率在30%上下。诚然,不幸的是,2010年的欧元兑美元试探最后依旧爆仓。该EA盈利的奥秘在于,加仓层数越多,盈利数额越大。所以,设计者故意在诱使EA多加仓。默认的设置为手数倍增,加满11层后到5.12手(总仓位应为10.2手)不再加仓了,等候市场回调。默认的间隔设置为30点,11层加满,市场也走上了300多点了,显然属于长线型Martingale, 其敌人也是长线上不见回调。作为EA编程,可借鉴之处在于其很多函数模型如寻求最后订单价格、计算平均价格等有通用之处。
4、10Point3v0.04
这是一款带时间筛选器的EA, 默认的交易时间设在18点——13点。不用说,这是一款利用清淡市场剥头皮的EA。运用的指标为MACD。入场点未必很准确,为此它运用了加仓的办法。默认的加仓为5单,仓位倍增。多出5单后,就只有耐心的等候市场回调。若市场不见回调,则只好用大止损处理困难。用在不同期间框架里的试探结果会不一样。笔者在5分钟图上回测欧元兑美元全年报告,尽管报得了17%的利润,但伴随的是8次资金曲线的“跳崖”,大大的吞噬了利润。看来,该种“剥头皮+Martingale”的开发思路未必有效。诚然,该EA程序写作简介明朗,可以用作开发模板参考。
5、Indo Run 1.5(推荐)
2011年镑美全年回测10万元账户0.1手起单,全年仅得到30%的利润,有效开单2000余次,从交易结果上,算不上是一款出色的Martingale EA。但顾虑到其仅仅历经了2次大概为35%的资金回撤,其余交易风险均处在极低水平,这在Martingale EA中也颇难得。默认的设置为间隔15点的平均网格,本人在试探中打开了Martingale功能,但并不是加倍增仓,而是每手增长0.2,这尽管一面减弱了仓位增长速度,但也容易把短线拖成长线,小困难搞成大困难。开仓采取价格两端同期设限价单的方法,一边成交,则另一侧的限价单立刻删除。在编程风格上呈现大型商业EA的特性,程序庞杂,设置了大量的内容表明及时间、新闻、指标等筛选器。仅外部参数就有差不多200项,要掌握其运用方法实在很有难度。作为Martingale EA,该种过多的筛选设置能否有效,很值得怀疑;然而,该EA的低风险运行表明了很多时候的确成功的阻止了风险。也许它的确算得上这类软件的杰作,值得深入钻研。
6、EarlyBird3
也是一款“小盈利、大止损”的剥头皮EA。默认设置中首先将交易时间作了多重筛选,可交易的可能降低了很多。与别的剥头皮EA不同的是,该EA一次在与样的位置开三单,lot相同,设置不同的止盈距离。默认的分别为10点、20点、30点;止损都是60点。如此一来,假使其中两单止盈,一单止损,损失并没有算大。但假使三单都同期止损,依旧痛得流血。整体向上瞧不出有何几率上的优势。算法上用了RSI,同期还用了差不多16期柱子的平均高度来分析波幅。
7、EarlyTopProrate V1
其交易信号是用的日K线上高、低、及开盘价的差值比较:假使日K线最高价与开盘价之差大于开盘价与最低价之差,则为上升趋势;反之,日K线最高价与开盘价之差差于开盘价与最低价之差,则为下滑趋势,其余则为震荡趋势。但是,实测表明以该逻辑确定多、空方向胜率上疑似并没有占优势:日K线内的反复波折往往会打掉止损。
8、FirebirdV1.0A
尽管胜率高达90%,但一年试探下来,基本也没有利润。这就是笔者用2011年镑美在1小时图上回测该EA的结果。作者声称:该EA的工作原理是计算10期SMA并将其分别上下探动2%,形成一个通道,当价格击穿通道时反向开单,假使价格向相反方向前进,就继续开单。显然,这是一个反趋势交易系统。然而,尽管加仓,但并没有是Martingale,各个单子依旧独立工作的,而且也设有独立的止损点。默认止盈为30点,止损为300点。正由于盈亏太不成比例,纵然胜率很高,任然很难平稳盈利。EA的程序专业而复杂,有借鉴之处,但未必可取。
9、TheMindMaster 3
该EA预期是套用的别的EA模板,由于里面存在大批可以不运用的参数。有一部分显著的困难,我略微作了修改,有的有待修改。如:(1)原来一次开三单,当下我改为了一次开一单;(2)资金管理的设置很缺乏科学性和灵活性,等等。检测2010年欧元兑美元全年,5M图获得了最佳绩效,起始资金10万,净盈利19万,然而一上来就是用的是5手单,胜率67%。其余时间框架内效果不很理想,总的基本平衡,但胜率任然很高。该EA运用W%R作为唯一指标,WR靠近零时做多,靠近-100时做空,多空无缝衔接离场。上述检测均未用止盈、止损和平保。预期假使将WR指标与其余指标筛选运用,有选择性的进场和更灵活的出场,恐怕能有盈利前景。
10、BBScalper v1.3
运用默认设置(最多三单)在5分钟试探2010年全年欧元兑美元,总计交易差不多1万单,10万账户默认起始交易量为1.88手,随账户净值而增减,最高显现过23手,全年总交易不下于30万手,是名副其实的“刷单王”。资金曲线图呈增-减-增凹线趋势,与TheMindMaster 3在5分钟图上的曲线非常类似。最后获利21万。该EA用BollBand && Envolope && RSI三种指标来确定首单开仓位置,后面可以自由设置10重Martingale。本人对该EA作了稍微的修改,即在首单之外的单子,也加之指标筛选,并不是一胜过间距就开单。这样可以适当控制Martingale的层数。上述三种指标均未限定时间框架,所以,不同的时间框架其检测结果必然不一样。切换时间框架,也可以控制因接连加仓未获回调导致的风险。该Martingale自带止损设置,其检测结果多为接连小额盈利、偶然大额亏损,其盈亏因设置不同而各不相同。本人以为,该Martingale亏盈之核心在最后一层加码能否能得到充足回调。所以,可以考虑对最后一层加码设置平保,一旦回调不足打掉平保,可以到下一个适当的位置开单,多一次机会,恐怕能挽救很多大亏的风险。但做多层Martingale 必然把起始单调到很小,所以其盈利能力和刷单能力也大大下滑。
11、MLTrend EA(推荐)
和大量趋势跟踪EA一样,它的试探效果并没有佳,但假使真正理解了其代码的内涵,完全可以把它变成一款依靠人工分析的半自动交易程序。它跟踪趋势的条件很简单:假使前一个柱子的收盘价大于设定的均线(EMA),则做多;差于设定的均线,则做空,时间框架就用目前的图表时间。假使设定只允许交易一张订单,那这就完全是一款标准的趋势跟踪EA。然而,它的不同之处在于:(1)可以强制做空或做多,这就是依靠人工分析了;(2)可以允许交易四张订单(同一方向),订单的手数可自由设置,这就代表着它在一定程度上具有了Martingale的特性了。程序中的SL 和TP也都采取了隐藏型的,跟得上潮流。可贵的在于其代码简洁流畅,稍加修改,就可变为一个得心应手的半自动交易工具。
12、MyPiramid Vo8 C
采取默认设置在15钟试探2011年全年镑美,仅得到了18%的收益,资金回撤率也不足17%,疑似是“风险低、收益低”类型的Martingale。但其实,可自由设置的仓位先采取了三倍增仓,随后变为二倍增仓,比一般的Martingale风险还大。首单入场要符合两个条件(1)目前价与布林带(默觉得16,2)的中线的差值比前一个柱子与布林大的差值大/小,且前一柱的差值比上前一柱大/小, 入场做多/空:(2)目前柱的牛熊差值(即BullPower-BearPower,默认设置为14期)比前一柱的牛熊差值小/大,且前一柱的该差值比上前一柱小/大,入场做多/空。这疑似是在顺势的横盘位开单。之后的加仓多以等距离挂单的形式完成。假使说该EA有何可取之处,那就是(1)仓位设置可以自由调节;(2)入场条件方便更改,进而将其改造为此外一款不同的Martingale。
13、PipSo V4
无论在15钟依旧1小时框架下,在2011年的欧元兑美元、镑美试探中,该EA均得到了60%以上的胜率,让人必须重视它。其实它的开、平仓条件很简单:在设定的阶段内(默觉得36), 价格大于该期内最高价的一定程度(默觉得0),则多单出场,做空;反之,在设定阶段内价格差于该期内最低价格的一定程度,空单出场,做多;这样多、空接连,每次事实只持有一个单子。从性质向上瞧,这属于一种反趋势交易系统,在震荡行情中表现得更好,在趋势行情中,输、赢相间,占不了什么便宜。假使能和其余的反趋势信号结合,如布林带、TMA、Bias等,再辅以人工分析,恰当地设置阶段参数(period)和高低程度参数(Highemargin, Lowmargin) ,恐怕能得到更好的结果。
14、Pipstaker
和所有趋势跟踪EA一样,即使在趋势行情中抓到了一段大盈利,但震荡一来,就被打得稀里哗啦。采取的进出策略极其简单,上一根柱子的最高价与更前一根柱子的最高价的连线假使下穿了EMA(默认14期),则多单出场,做空;反之,上一根柱子的最低价与更前一根柱子的最低价的连线假使上穿了EMA,则空单出场,做多。代码极其简单,作为纯粹几率性策略的试探模板,应当速度迅速吧。
15、VBS-VeryBlondSystem
没什么特别的,一款Martingale而已,尽管采取了X期最高位与目前价的价差来作为入场的过来信号,且将最高开仓为设在5层,但多出这个规模的风险依然存在。单子设置了止损,自然就更难盈利了。编程程序看似简洁,但采取一次性设置正反全部限价订单的做法,疑似太耗资源,平台商肯定也不欢迎。
16、XMT-Scalper V2.3.4(推荐)
用默认的设置试探2010年的欧元兑美元,即使获得65%的盈利,但却是在大起大落中度过的。92%的胜率很迷人,但并没有代表着该EA盈利能力平稳。2011年欧元兑美元的试探就很糟。这是一款专门用于欧元兑美元的剥头皮EA,可以放在任什么时候间框架下工作,但读取的均为1M下的报告。作者声称其核心策略来自著名的剥头皮软件MillionDollor Pips,但代码是自己一手重写的。该EA对点差非常敏感,只能在低位差平台上才有盈利的机会,点差胜过3点就失去了意义。其基本工作原理就是在价格马上击穿的时机用Buystop和Sellstop订单入场。至于价格的击穿,可以用两条MA,或者布林带,或者Envelop指标,或者两个ATR值来识别。除ATR外,其余几个指标都要计算一个“通道”,用“通道”的宽度与预设的VolatilityLimit执行比较。当Stop单触发后,及时添加止损、止盈,并执行追踪止损。总之,这差不多均为短线剥头皮软件必备的套路。尽管这款EA未必真有运用价值,但它毕竟来带有正统商业剥头皮软件的血统,况且其开发者曾为大学的计算机专业的教师,在代码研究上具有极高的价值。
17、V1+V2
该EA与10point3稍微相似,属于止损型Martingale,试探看不出有很牢靠的盈利能力。然而,其特别之处在于买卖各自独立开单,并可设置不同的盈利目标和开单距离。也就是说,可以通过人工分析来执行多空仓位的对冲,进而在一定程度上减弱风险。可以作为代码学习软件。
18、BBand CounterTrend
一款运用布林带和envelope指标的反趋势剥头皮EA,试探没有盈利。但用Band 和 evolope来作为逆势交易的指标,方法并没错。导致要辅以人工分析,纯粹靠EA太难盈利了。
19、WSFR D2HL(推荐)
这是一个据称是华尔街 Forex Robot 的克隆版,源码具有可读性,然而受于是俄罗斯人编撰的,注解的俄文形成乱码,给理解导致不少难度。我依旧下决心弄透它。这是一款对点差及其敏感的剥头皮EA,在以一个点差试探欧元兑美元2011年,全年得到了惊人的200倍收益。当点差扩大到2点时,收益减弱到170倍左右;当点差上升到3点时,收益则剧降到22倍,且大起大落。然而,总体说来,依旧一款表现亮眼的剥头皮EA。
入场条件:做多
第一种情形,要同期满足:
(1)15分钟图的前一柱子的收盘价 与 15分钟图前一柱子第N期(默觉得55期)SMMA(Price_Mode=High) 价的差值大于设定的的MA筛选值A(默觉得18点);
(2)15分钟图的前一柱子的收盘价 与 目前的Bid的差价大于系统默认的误差值(稍低于1point)
(3)15分钟图的前一柱子的第N期(默认值为11期)的Istoch主线值差于设定的做多筛选值A(默认值为1);
第二种情形,要同期满足:
(1)15分钟图的前一柱子的收盘价与 15分钟图前一柱子第N期(默觉得55期)SMMA(Price_Mode=High) 价的差值大于设定的的MA筛选值B(默觉得39点);
(2)同以上第(2);
(3)15分钟图的前一柱子的第N期CCI值(默觉得18期)差于设定CCI筛选值的负数(默觉得170);
第三种情形,要同期满足:
(1)同第二种情形(1);
(2)同第二种情形(2);
(3)15分钟图的前一柱子的第N期(默认值为11期)的Istoch主线值差于设定的筛选值B(默认值为5);
第四种情形,要同期满足:
(1)15分钟图的前一柱子的第1期MFI值大于第3期的MFI值;
(2)15分钟图的前一柱子的第N期(默认值为11期)的Istoch主线值差于设定的FilterWL筛选值(默认值为5);
(3)FilterWL筛选值大于0;
第五种情形,要同期满足:
(1)15分钟图的前一柱子的第N期CCI值(默觉得18期)差于设定的FilterCL筛选值的负数(默觉得250);
(2)FilterCL筛选值大于0;
做空条件与上述条件相反,但要注意,有一部分默认的设置,做空与做多的参数或许稍有一点差别。纵观上述条件,可以观察到,该EA在入场时同期选择两方面的条件(1)价格处在顺势方向;(2)某一指标处在低点,有较好的入场价格。
出场条件:
第一种情形:
(1)订单入场价格与Bid的价差差于设定的亏损点数(默觉得65);
(2)设定时间框架内(默认15分钟)、设定阶段(默觉得15期)的Istoch主值大于设定的iWPR平仓筛选值(默觉得90);
(3)1分钟图的上一个柱子的收盘价格与Bid的价差差于设定的误差值;
(4)订单为市价单;
第二种情形:
(1)1分钟图的上一个柱子的开盘价大于收盘价;(价格回调了)
(2)Bid 价与订单入场价格大于设定的单价筛选值(默觉得14点);(也就是说,盈利目标达到了)。
(3)订单为市价单。
自此可以看出,该EA的盈亏比默觉得65:14。但事实上,止损、止盈有可以对此执行调整和制约。默认TakeProfit 设为36点,Stoploss设为35点。
对资金管理,有下方几种方法:
(1)假使AutoMM>0 而RecoverMode==false时, 直接用一种计算公式求出LotSize来:
LotSize = MathMax(MinLot, MathMin(MaxLot,MathCeil(MathMin(AutoMM_Max, AutoMM) / LotPrice / 100.0 * AccountFreeMargin() /LotStep / (LotValue / 100)) * LotStep));
(2)假使AutoMM>0 而RecorverMode==true时, 则调用CalcLots()函数来计算。而CalcLots的计算方法十分复杂,也是该EA最出色的部分,
(3)当AutoMM=0时,不论RecoverMode如何设置,都按固定的Size入场,默认是0.01手。
20、Blessing
Blessing在Martingale类EA中也算是大名鼎鼎,但是,其表现实在不怎么样,不论是早前的2.5版本依旧随后的3.0版本,在市场回测中迅速就败下阵来:输得精光。究其原因,我想依旧开发者思路的困难:其一,想做一个中长线的Martingale系统,来对付长时间单边的市场,殊不知网格间隔越长,浮亏越大,而市场短时间的回调尽被错过;其二,尝试用一部分筛选器来制约入场,以图降低风险,殊不知Martingale做的就是逆势,“搞错方向”乃其必然,一旦入场,就迫不得已,再多的筛选器又有何作用?其三,更有甚者,尝试用“止损”来避免爆仓,殊不知频繁的“止损”根本没有机会盈利,最后的结果依然是爆仓。Blessing的弱点把Martingale系统的弱点暴露无遗,却根本没有寻到处理的办法,不知是如何浪得虚名的。从2.5到3.0,交易思路并没有多少改变,但程序语言的改变却天翻地覆,从简洁轻盈的风格一变为复杂庞大的架势,就是专业程序员也很难理出头绪。也许这就是很多“程序疯子”把EA带入了死路。
21、RAVI
这款EA在2010年欧元兑美元1小时图的回测中获得了不错的成绩,但2011年就差强人意:多部分时间在亏损中度过,最终也没有将账户扳平。这是一款趋势跟踪的EA,引用了客户指标RAVA indicator来识别趋势。这个RAVA指标很奇妙,其实就是一条长期均线和一条短时间均线的差值,再与长期均线相除(默觉得65期和7期,即(MA65-MA7)/MA65,这个值形成的曲线与标准的MACD曲线很类似,但比MACD曲线有更好的筛选性,在趋势中能把那些更大的回调信号筛选掉,有助于长久持单。所以,这款EA也没有什么秘密:在RAVA值上穿0.3时空单出场,入场做多;在RAVA值下穿-0.3时多但出场,入场做空。能不能盈利,就看市场能否显现趋势了。该EA一次在不同位置开多张正手单,盈利起来可观,亏损起来也可观。尽管看不出该EA比起同类EA有多大的优势,但用RAVI指标来作为出入场的指示,确有独到之处。这个指标尽管不常用,但却非常简洁,笔者也情有独钟,对RAVI指标作了一部分改动,就是将其取值与目前框架下的平均柱长相除,如此得到的参数就可以在不同期间框架下通用,方便多了。
22、Forex Envy 2.0
假使说,Martingale类的EA历经过从“人人喊打”到“敬而远之”的历程的话,那么,Forex Envy的亮相就标志着这类EA获得了冠冕堂皇的地位了。不错,以往的商业EA中也有用到Martingale加仓手法的,但它们毕竟不敢堂以Martingale自居,只算是Scalper类中以大博小的策略之一。而Forex Envy居然作为商业软件占有了适当的市场份额,还承受了一批拥趸者的追捧,表明了“市易时移”,市场环境变了,以往看上去高风险的策略正在形成盈利的利器。
Forex Envy 一踏入商业化的大门,就操作得十分商业化,除了过分的宣传和包装外,还尽或许的把传播、复制、解码它的网站帖子全部封死,连一本操作指南也很难寻到,让人认为十分神秘。然而,我好歹依旧寻到了一款别人破解了的2.0版,可以回测开仓,然而受于是机器转译,其原代码很难卒读,我花了整整一天时间才将其变成能理解的代码,对其策略也了解了大约。
老实说,这款EA在程序上稍微“耍花招”,弄了很多让人费解却没有事实意义的代码。就其最结束果来说,与其余Martingale的手法是一样的:逐渐加码,一起平仓。稍有些不同的是,它给每一个订单设置了止盈、止损。默认的止损为180点,假使碰到了也基本暴仓了。其回测表现也因设置不同而有天壤之别:设置得好,盈利迅速,一年做2-3倍不是困难,且未有大的“跳崖”或爆仓;设置得不好,瞬间就可以爆仓。这也是martingale EA的共性:爆仓是必然的,但在什么时候、何地爆仓,却很偶然,跟运气关系很大。
以往受于Martingale策略被边沿化甚至妖魔化,所以,Martingale EA的原代码大多是公开的,随处可得,像著名的Blessing,Indo Run等。当下看来,该种随处可得的EA将来或许全将包装后卖钱,建议大家留心收集,用心甄别。Martingale并不是绝对不能用,但要在了解的情形下用,可掌控的情形下用,依旧有控制风险或许的。
上面即为全部EA测评笔记。即便我们不用EA做盘,但作者在设计EA时的策略对我们也会有所帮助。