回溯测试中的伟大EA! - 页 133

 

想把我2005年的回溯测试 贴出来

结果是...不同的!

*EDIT*

不是小型的,从1万开始,而不是1千(仍然要向前测试)。

我真的对回测持怀疑态度,我看到了一个非常小的变化就有如此巨大的结果。

就像你可以为一个特定的货币对和时间长度设计回测,但是增加一个月,就会出现相反的情况。

 

非常奇怪,通过下载功能 更新了数据,生成了新的报告。

*编辑* ,本想说这是在build 200的情况下。

 

嘿,伙计们...

每周的比较报告来了(回测与模拟账户)。

 

你好

你好!

我一直在测试MIG中发现的免费版CT,T15m的结果可以接受,但在格林威治标准时间8点、13点和20点,有重复的损失。我尝试粘贴禁用交易时间的部分

外部字符串 TimeTradeHoursDisabled="08,13,20"; // 例如 "00,01,02,03,04,05" GMT

extern int GMT=1; // 对于North Finance GMT = 3, Alpari GMT = 1, IBFX GMT = -1等。

extern int MagicNumber=123000; // Magic Number -- 每一个交易对都有变化。

// ----

int NoTradeHours1=25; // 不交易时间

int NoTradeHours2=25; // 不交易的时间

int NoTradeHours3=25; // 不交易的时间

int NoTradeHours4=25; // 不交易的时间

int NoTradeHours5=25; // 不交易的时间

int NoTradeHours6=25; // 不交易的时间

我还修改了结尾部分,加入了

//+------------------------------------------------------------------+

//|专家启动功能 |

//+------------------------------------------------------------------+

int start()

{

GetMarketInfo()。

CyberiaLots();

CalculateSpread();

FindSuitablePeriod()。

CyberiaDecision()。

VerbiageAndTimeCheck()。

交易()。

SaveStat();

return(0);

}

int VerbiageAndTimeCheck() {

string comment_line="", comment_time="", comment_ver="";

string sp = "------------------------------\n";

comment_ver=StringConcatenate(SystemName," v. ",version,"\n")。

如果(StringLen(TimeTradeHoursDisabled) > 1) {

NoTradeHours1 = StrToInteger(StringSubstr(TimeTradeHoursDisabled,0,2))。

}

如果(StringLen(TimeTradeHoursDisabled)>4){

NoTradeHours2 = StrToInteger(StringSubstr(TimeTradeHoursDisabled,3,2))。

}

如果(StringLen(TimeTradeHoursDisabled)>7){

NoTradeHours3 = StrToInteger(StringSubstr(TimeTradeHoursDisabled,6,2))。

}

如果(StringLen(TimeTradeHoursDisabled)>10){

NoTradeHours4 = StrToInteger(StringSubstr(TimeTradeHoursDisabled,9,2))。

}

如果(StringLen(TimeTradeHoursDisabled)>13){

NoTradeHours5 = StrToInteger(StringSubstr(TimeTradeHoursDisabled,12,2))。

}

如果(StringLen(TimeTradeHoursDisabled)>16){

NoTradeHours6 = StrToInteger(StringSubstr(TimeTradeHoursDisabled,15,2))。

}

int h=TimeHour(CurTime())。

int hadj=TimeHour(CurTime())-GMT。

如果((hadj) == NoTradeHours1) || ((hadj) == NoTradeHours2) || ((hadj) == NoTradeHours3) || ((hadj) ==NoTradeHours4) ||

((hadj) == NoTradeHours5) || ((hadj) == NoTradeHours6)) {

BlockSell = true。

BlockBuy = true;

comment_time=StringConcatenate("Bad Trading Hour: " , hadj, " GMT")。

} else {

BlockSell = false。

BlockBuy = false。

comment_time=StringConcatenate("良好交易时间:", hadj, " GMT")。

}

comment_line = comment_ver + sp + comment_time;

如果(IsTesting()==false)

评论(comment_line)。

}

但这并不奏效

有人知道如何解决这个问题吗?

我附上了我下载的CT,并在MIG试了一下,结果很好,除了)8,13,20 GMT之外。

谁能把正在使用的最新CT贴出来?

谢谢

帕科

附加的文件:
 

好了,找到了一些理想的CT设置。在风险代码中,有一些变量没有正确设置。这个想法是从后来的版本中得到的灵感,使用导出到excel的风险表,但事实上不需要找到绝对值,只需要找到相对值!!。绝对值会因市场条件而改变,但相对于开仓或平仓交易的风险值才是我们想要的。

我现在有3个简单的外部变量,可以在非常老的1.85f版本的基础上轻松修改,在我看来,后来的版本让事情变得更糟。

我使用NorthFinance进行测试和演示,因为他们几乎总是固定的2点差。(在极端罕见的情况下可以改变)其他像IB和FDD这样的公司,如果点差过大,实际上会损失你每年60%的巨大收益!!

extern double closemultiplier = 1.5; 这个值改变了平仓订单的风险状况,平仓的风险应该总是小于开仓。这个值比开仓要小,但比默认建立的要大。 换句话说,我们害怕进入市场,但又害怕损失我们的收益:) 有时,当市场再前进50点时,这看起来是一种浪费,但我的研究表明,你必须非常谨慎,这才行得通。

extern double openmultiplier = 1.7; 这个值改变了开仓交易的风险状况。它大于平仓,所以换句话说,我们只寻找 "安全 "的入口。1.0的值将代表所有其他的构建,我已经增加了概率并降低了风险。这样做的好处是减少交易。太高的话,你可能会有几天没有交易,但利润因素会大大增加。

extern double StopBias =1.1; 这个值增加了自动止损的相对位置。由于止损应该是市场波动的一个函数,所以不要使用固定的硬止损。20美元的止损在8月份可能是好的,但现在肯定不行,因为欧元的ATR远远超过100。因此,只要有可能,止损应该是当前市场条件的一个功能。自动止损使用最后几个柱子,并计算出ATR加点差。这意味着止损点正好在噪音范围之外,而这正是我们希望的位置。 GA优化器发现,在这里比默认的1略微增加,可以防止在测试噪音环境的边缘时,出现止损的情况,并使那些真正恼人的损失减少2或3点。

我只用CCI作为过滤器,其他的都不用,你放得越多,情况就越糟,因为没有滞后的东西,我们就无法确定历史的轨迹,从而进行操作。忘记使用小时或新闻时间过滤器和或跟踪止损,CT的大部分引擎已经存在,只是没有完全调整好。许多可盈利的交易发生在新闻期间。 尽量使用相对决策和%的东西,而不是绝对值。

我的手数风险是0.4,最大手数改为99。不要限制在10手,当大多数经纪商允许100手自动交易时,限制收益有什么意义?

我让你们这些聪明人考虑一下这个问题,看看你们有什么好办法:)

1月1日到今天。

测试中的条数 49504

模拟的点数1246996

建模质量90.00%。

初始存款10000.00

总净利润97985.55

毛利润 224608.37

毛亏损 -126622.82

利润系数 1.77

预期回报率 176.23

绝对缩水 953.60

最大跌幅 18422.75 (17.57%)

相对平仓 32.86% (5034.65) 考虑到巨大的收益,值得尊敬。

总交易量 556

空头头寸(韩元%) 256 (89.45%)

多头头寸(赢利%) 300 (94.00%)

盈利交易(占总数的百分比) 511 (91.91%) 超过90%的成功率非常令人高兴。

亏损交易(占总数的百分比) 45 (8.09%) 并不经常亏损。

最大的

盈利交易 3894.00

亏损交易 -11830.00

平均水平

盈利交易 439.55

亏损交易 -2813.84

最多

连续赢钱(以金钱计算的利润) 74 (19719.35)

连续亏损(金钱损失) 3 (-2841.40)

最大的

连续盈利(赢钱的次数)33358.89 (33)

连续亏损(亏损数) -11830.00 (1)

平均数

连续赢利 13

连续亏损 1

 

我今天关闭了我在IBFX的账户,因为我看到他们将金银币波动到了6个点的价差。我将按照Davidsx的例子在FXDD开一个账户。我希望这将成为一个有用的EA,在一个没有那么多点差的经纪人那里。

 

祝我圣诞快乐。我的新账户已经开立,并在fxdd上有资金。我现在有CT,最大手数=0.01,我希望能看到davidsx得到的75%的胜利模式。我也很受鼓舞,因为我知道fxdd对头寸没有任何时间限制。我所看到的一些策略,最好是利用只开了一分钟或更短的头寸。

 

对不起,伙计们,我把我的电线弄错了....

我已经在这里发布了我对CT的最新升级...

https://www.mql5.com/en/forum/trading_systems

 

FXDD有模拟账户吗? 我不知道。

 
Aaragorn:
对不起,伙计们,我把我的电线弄错了....

我已经在这里发布了我对CT的最新升级...

https://www.mql5.com/en/forum/trading_systems

很高兴知道我们有另一个版本...

我现在要测试它,并将结果与1.93b版进行比较...

顺便说一下,1.93b在FXDD模拟账户上的表现与回溯测试非常相似......区别在于交易量少,利润少,这一点并不令人担心,因为CT在年末(11月和12月)表现平平是正常的。

如果1.95没有显示出比1.93b更好的结果,我肯定会在2007年之前在FXDD真实账户上开始使用后者,因为它的表现对我来说已经足够好了。

祝大家圣诞快乐!!

如果到时我还没有发帖,祝大家新年快乐!