关于遗传优化的问题 - 页 3

 

我不明白发生了什么事。我决定简化任务,我只取了3个参数进行优化,把它放在正常的优化上,而不是遗传优化,我在EA设置中根本没有设置任何限制。我运行了,在"优化结果"和 "优化图 "窗口中没有任何显示,所以我决定等到运行时间,优化运行时间是8小时47分钟,在我的日志文件中,运行时间结束后,"优化结果 "和 "优化图 "中没有任何信息显示。

00:44:09 ABC_exp: 优化开始
09:31:09 ABC_exp: 优化停止

在日志文件中。

2009.08.03 00:44:09 ABC_exp: 优化开始
2009.08.03 09:31:09 ABC_exp: 优化停止
2009.08.03 09:31:09 在优化过程中共做了768次,768次的结果因不重要而被舍弃
在同一区间测试时,虽然有损失,但余额在初始存款附近波动。

 
Angela писал(а)>>

我不明白发生了什么事。我决定简化任务,只取3个参数进行优化,把它放在正常的优化上,而不是遗传优化,我在EA设置中根本没有设置任何限制。我已经运行了,"优化结果 "和 "优化图 "窗口没有出现任何信息,我决定等到运行时间结束,优化运行时间是8小时47分钟,运行后 "优化结果 "和 "优化图 "没有出现任何信息。

00:44:09 ABC_exp: 开始优化
09:31:09 ABC_exp: 优化停止了

在日志文件中。

2009.08.03 00:44:09 ABC_exp: 优化开始了
2009.08.03 09:31:09 ABC_exp: 优化停止了
2009.08.03 09:31:09 在优化过程中共进行了768次,768次的结果因不重要而被丢弃。
在同一区间测试时,虽然有损失,但余额是围绕最初的存款波动的。

让我检查一下。你要花很长时间才能找到它。

 
在优化过程中共进行了768次,768次的结果因不重要而被舍弃--没有盈利的运行。也就是说,最后的存款总是少于最初的存款。或者说,它与它相等。你可以尝试,当交易被执行时,在文件中写入 票号、价格或其他东西。要了解该算法是否根本就在工作。也许它不能交易是由于某些原因。
 
Vinin писал(а)>>

让我检查一下。你要花很长时间才能找到它。

谢谢你的提议,但我要自己尝试多挖一点。

 
OrlandoMagic писал(а)>>
在优化过程中共进行了768次,768次的结果因不重要而被舍弃--没有盈利的运行。这意味着最后的存款总是少于最初的存款。或者说,它与它相等。你可以尝试,当交易被执行时,在文件中写入票号、价格或其他东西。要了解该算法是否根本就在工作。也许它不能交易是由于某些原因。

在打人者的可视化模式下,交易走。

 
那么,正是围绕着这些参数,也就是世德上的参数,我们需要进行优化。
 
OrlandoMagic писал(а)>>
好吧,正是围绕着这些在堆栈中的参数,我们需要运行优化。

>> 我知道。

 

到目前为止,优化工作没有任何好的结果。我在Expert Advisor的属性中设置了优化参数及其变化范围,运行优化,列举参数,但在优化的每一步都得到相同的结果。我的印象是,尽管Expert Advisor搜索参数,但它使用的是开始时设置的同一组参数。 我怀疑我在函数中设置了一些错误。

第一件事。

我在我的EA中设置了参数,应该像在指标中设置的那样进行优化。

外部int MA_Period=151; // 101 10 201
外部双倍KFK=0.9; // 0.7 0.005 1.

我在int start()函数中设置了对该指标的引用。

B3=NormalizeDouble(iCustom(NULL, 0, "ART",0,1),Digits)。
BT=GlobalVariableGet(NameGlobalVariableBT)。

问题:在 "ART "之后,我是否需要插入要改变的参数?

如果我不插入它,就会进行优化,但结果是一样的,如果我插入它,结果是零。

1 0.00 0.00 0.00 0.00 0.00% MA_Period=101 KFK=0.8 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456
2 0.00 0.00 0.00 0.00 0.00% MA_Period=111 KFK=0.8 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456
3 0.00 0.00 0.00 0.00 0.00% MA_Period=121 KFK=0.8 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456
4 0.00 0.00 0.00 0.00 0.00% MA_Period=131 KFK=0.8 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456
5 0.00 0.00 0.00 0.00 0.00% MA_Period=141 KFK=0.8 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456

 

嗯,它们应该在程序文本的某个地方。如果它们都是零,这意味着没有交易...还是没有?

一般来说,参数参数是令人震惊的...有一些变量--MA_Period,以及它们的值--101、102、103,测试者在运行过程中自己插入这些变量。

B3=NormalizeDouble(iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits); 阅读iCustom帮助(抱歉写了这么明显的东西)

你也可以看到,如果你在它后面写上,例如,打印(B3),就可以看到指标的考虑。

 
OrlandoMagic писал(а)>>

嗯,它们应该在程序文本的某个地方。如果它们都是零,这意味着没有交易...还是没有?

一般来说,参数参数是令人震惊的...有一些变量--MA_Period,以及它们的值--101、102、103,测试者在运行过程中自己插入这些变量。

B3=NormalizeDouble(iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits); 阅读iCustom帮助(抱歉写了这么明显的东西)

如果你在指标后面加上例如打印(B3),你也可以看到指标的考虑。

如果我以下列方式设置参数:(iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Digits); - 我们得到所有的零,就像我上面所说的。

如果我设置iCustom(NULL, 0, "ART", 0, 1), Digits);-那么就会出现计算值。

1 299.70 36 1.80 8.33 153.30 11.51% Threshold1=90 Threshold2=215 MA_Period=45 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456 KFK=0.9 KNK=1.7FB=0.0025 FNS=0.0005 USL=0.0051
2 299.70 36 1.80 8.33 153.30 11.51% Threshold1=91 Threshold2=215 MA_Period=45 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456 KFK=0.9 KNK=1.7FB=0.0025 FNS=0.0005 USL=0.0051
3 299.70 36 1.80 8.33 153.30 11.51% Threshold1=92 Threshold2=215 MA_Period=45 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456 KFK=0.9 KNK=1.7FB=0.0025 FNS=0.0005 USL=0.0051
4 299.70 36 1.80 8.33 153.30 11.51% Threshold1=93 Threshold2=215 MA_Period=45 Lots=0.1 TrailingStop1=3110 StopLoss1=1500 TrailingStop2=3110 StopLoss2=1500 MAGIC_1=12345 MAGIC_2=23456 KFK=0.9 KNK=1.7FB=0.0025 FNS=0.0005 USL=0.0051
..........

但它们都是一样的,尽管在测试器中,当以不同的参数运行时,交易的结果是非常不同的。