来自一个 "傻瓜 "的问题 - 页 155

 
input string Periods = "1 2 3 56 78 67";
 
TheXpert:
有趣的是。但我希望能够从测试器中优化时期。
 
gpwr:
有趣的是。但我希望能够优化时期。
优化工作最好在每个仪器上分别进行。当然,如果有可能的话。
 
gpwr:
有趣的是。但是,如果能够从测试器中优化时期,那就更好了。

然后你必须写一个枚举,包含所有可能的选项。

枚举可以被注释,参数将显示注释而不是枚举的值,像往常一样。

enum ENUM_CUSTOM
{
 tf1_1_1,//1 1 1
 tf1_2_1,//1 2 1
 tf1_2_3,//1 2 3
 tf2_1_1,//2 1 1 
};

对于大的枚举,主体可以用程序来填写。

 
Urain:

然后你必须写一个枚举,列出所有的可能性。

不,那是笨拙和钝的。

我们可以用同样的方法,用一个字符串,只把运行的号码作为一个单独的参数。我们可以使用运行的编号和优化字符串来获取数值。

但在这种情况下,遗传学将无法正常工作。

 
TheXpert:
优化工作在每台仪器上单独进行更为合适。当然,如果有可能的话。
这是可以理解的。在测试器中,我将只选择具有相同索引的参数(例如,MAPer[0]、Trig[0]、MaxPrice[0]、MinPrice[0]),并只优化它们。哦,开发者应该决定增加这个功能。编译器不会觉得首先创建一个数组,然后将输入数据写入其中有多困难。这里有什么问题呢?为什么不允许将数组作为输入数据?
 
gpwr:
这是可以理解的。在测试器中,我将只选择具有相同索引的参数(例如,MAPer[0]、Trig[0]、MaxPrice[0]、MinPrice[0]),并只优化它们。哦,开发者应该决定增加这个功能。编译器不会觉得首先创建一个数组,然后将输入数据写入其中有多困难。这里有什么问题呢?为什么不允许将数组作为输入数据?
问题出在测试者的查询规模上。
 

我开始根据MACD的来源编写同样的MACD,但基于LWMA(短线和长线LWMA之间的差额,以及基于差额的信号线)。

我把它改为LinearWeightedMAOnBuffer,但它有一个 "额外的 "正式参数 weightsum。 我当然明白它是一个权重的总和,并理解其含义,但我如何能以编程方式生成它?

Документация по MQL5: Основы языка / Переменные / Формальные параметры
Документация по MQL5: Основы языка / Переменные / Формальные параметры
  • www.mql5.com
Основы языка / Переменные / Формальные параметры - Документация по MQL5
 
progma137:

我开始根据MACD的来源编写同样的MACD,但基于LWMA(短线和长线LWMA之间的差额,以及基于差额的信号线)。

我用LinearWeightedMAOnBuffer代替了它,但它有一个 "额外的 "正式参数 weightsum,我当然应该理解它是权重之和,并理解其含义,但我如何能以编程方式生成它?

它不需要被生成。你只需要创建一个变量,用于中间存储这个权重值,这样你就不必在每次调用它时重新计算它的值。

这样,在每次调用时都会修改权重值,而不是完全重新计算,这大大加快了计算速度

 
stringo:

它不需要被生成。你只需要创建一个变量,用于中间存储这个权重值,这样你就不必在每次调用它时重新计算它的值。

这样,在下一次调用时,就会修改权重和,而不是完全重新计算,这就大大加快了计算速度。

谢谢你。我把这个变量声明为全局变量,结果成功了。