到底发生了什么事? - 页 3

 
Сергей Таболин:

雷纳特,谢谢你。但请给我解释一下,优化器中的2*2+2*3和单通道之间有什么区别?至少给我一个提示,到底哪里可能存在差异?

我给你一个提示。

在你的头脑中,只有2*2,而实际上有一个巨大的市场环境和大量的你的代码。粗略地说,至少有三个数量级的变量和条件。

只要你在经济模式下跑来跑去,你就不会找到理由。就像玩 "简单代码 "游戏一样。一旦你开始学习编程,就要学会调试。

我第三次建议你--解开它,用你的眼睛看看交易中的差异是从哪里开始的。

 
Renat Fatkhullin:

我给你一个提示。

在你的脑海中只是2*2,而实际上有一个巨大的市场环境和大量的你的代码。粗略地说,至少有三个数量级的变量和条件。

只要你在经济模式下跑来跑去,你就不会找到理由。就像玩 "简单代码 "游戏一样。一旦你开始学习编程,就要学习如何调试。

我第三次建议你--解开它,用你的眼睛看看交易中的差异是从哪里开始的。

好吧,我就不印了。我去看看。但我不太可能理解这些差异的原因。

特别是我在自己的课上规定了开仓、保仓和平仓。我已经很久没有注意到其他EA的优化和单次通过之间的不协调了(我在之前的文章中已经讨论过这个问题)。

这就是为什么我再次打开这个问题。

对我自己来说,我是这样理解的--对职位的工作是微调的,不需要干预。因此,错误在其他地方。但是!其他地方都是准备、创建、训练和检查网络的脚本的代码。所有的东西也都经过了调试。

这就有可能使用一个未初始化的变量。我已经检查了每一个人。好吧,也许我错过了什么。在这种情况下,我希望编译器能发出警告。

或者,另一种方式是,代码的编译方式使变量的初始化 晚于其被调用。

正如你所理解的,我只能猜测。我没有真正的手段来检测这个错误。

 
Сергей Таболин:

好的,我会解压缩。我去看看。但我不太可能理解这些差异的原因。

特别是,因为开仓、维持和平仓已经在我自己的课上实现了。我已经很久没有注意到其他EA的优化和单次通过之间的不协调了(我在之前的文章中已经讨论过这个问题)。

这就是为什么我再次打开这个问题。

对我自己来说,我是这样理解的--对职位的工作是微调的,不需要干预。因此,错误在其他地方。但是!其他地方都是准备、创建、训练和检查网络的脚本的代码。所有的东西也都经过了调试。

这就有可能使用一个未初始化的变量。我已经检查了每一个。好吧,也许我错过了什么。在这种情况下,我希望编译器能发出警告。

或者,另一种方式是,代码的编译方式使变量的初始化 晚于其被调用。

正如你所理解的,我只能猜测。我没有真正的手段来检测这个错误。

首先,确保你在交易逻辑中不使用GetTickCount64()、GetTickCount()或GetMicrosecondCount()函数。 它们可能导致测试器和优化器的结果出现分歧。

 
Geess:

首先,确保你在交易逻辑中不使用GetTickCount64(), GetTickCount()或GetMicrosecondCount()函数。它们可能导致测试器和优化器的结果出现分歧。

我不知道。

 
Сергей Таболин:
...

我的看法是,职位工作是微调的,不需要干预。因此,错误在其他地方。但其他地方都是准备、创建、训练 和检查网络的脚本的代码。这也都是经过微调的。

...

不正是一切出错的地方 吗?

 

"几乎所有的数据都在一个循环中被初始化"。

伙计们,你们不能在一个循环中初始化。你必须在循环中阅读。

 
实际上,应该有一个Stack Overflow错误。
 
)
 
Artyom Trishkin:

不正是问题所在吗?

在什么方面?该网络不是在EA中临时训练的。至少,还没有)。

它的训练正确与否,训练过度或训练不足,但信号是一样的。

如果在优化时,网络在开盘时给出 "买入 "信号,那么在进行单次测试时,它应该给出同样的信号。如果它没有发出同样的信号,它既不存在也不存在。

因此,这就是 "不必要的 "头寸可能出现的地方(只要价格数据相等,我希望)?

 
Сергей Таболин:

在什么方面?该网络不是在EA中临时训练的。至少,还没有)。

它的训练正确与否,训练过度或训练不足,但信号是一样的。

例如,如果在优化过程中,它给出了在条形图开盘时买入的信号,那么在一次测试中,它应该给出同样的信号。如果它没有发出同样的信号,它既不存在也不存在。

那么,"额外 "的头寸可以从哪里来(只要价格数据是,我希望是一样的)?

试着禁用当前的逻辑,用一个正常的向导来代替它。你会立即看到猫在哪里出了问题,在逻辑上还是在执行上。