文章 "通用智能交易系统:事件模型和交易策略原型(第二章)" - 页 3

 
Гога:
安德烈,没有必要把事情复杂化 - 正确的答案是:"将止损调整到允许的最小距离,然后开仓交易(如果消息和止损拉平 50 个四位数点 - 也是如此吗?)太小的止损点实际上应该有效(无需修改)。应根据收到的信号开仓。在建立网络的情况下,在 STOP 形成阶段规定了额外的规则。

如果使用虚拟止损,从开盘价 开始推迟,就可以在扩大价差 的同一价位上进行一系列开仓和即时平仓。

我同意,有现成的选项来处理某些情况会很方便,但引擎不应该自动解决任何问题。

 
Andrey Khatimlianskii:

如果您在扩展价差 上使用从开盘价 延后的虚拟止损,您可能会在同一价位上遇到一系列开仓和即时平仓。

我不了解 5。我在 4 版中从未遇到过任何问题。

Andrey Khatimlianskii:

我同意有现成的选项来处理某些情况会很方便,但引擎不应该自动解决任何问题。

我不能不同意 "交易引擎应该做什么 "没有规则可言--这些规则是我们自己制定的。我从一个简单的假设出发:我的引擎应该做任何(所有)管理工作(上面我列出了我所理解的管理工作,没有提到追踪和总利润工作,作为一个单独的策略,以及整个 EA),而我,在为 EA 添加新策略时,我只为它添加交易规则并配置交易引擎。

我不认为我的方法是正确的,但我更喜欢这种方式。;)

 
Vasiliy Sokolov:
这是什么?这是一条与系统信息一起出现的信息,由于某种原因,您已经将其清理掉了。

我认为,我只需要日志中有意义的信息。在此基础上,我没有兴趣知道 STOP 没有改变。关于交易环境...

瓦西里,我不是在批评,我只是在表达我的观点。我理解,当您花费大量时间创建一个系统时,即使想到可能要改变它,您也会感到不舒服。在反思阶段,这样的对话(交换意见)是有意义的。:)

 
Гога:

...当我向 EA 添加新策略时,我只是为其添加交易规则并调整交易引擎。

我并不假装我的方法是正确的,但我更喜欢这种方式。;)

这就是引擎的作用。您用进入和退出规则来描述策略,然后将其添加到 EA 中。

Goga:

我假定我只想要日志里有意义的信息。在此基础上,我没有兴趣知道 STOP 有没有改变。关于交易环境...

瓦西里,我不是在批评你,我只是在表达我的观点。我理解,当你花费大量时间创建一个系统时,即使想到可能要改变它,你也会感到不舒服。在反思阶段,这样的对话(交换意见)是有意义的。:)

也许你说的是对的。但在引擎开发初期,这对我来说非常必要。事实上,它现在仍然非常有用。它表明引擎意识到了交易行为,因此保证了交易头寸会被传送到策略中。在调试过程中,例如当头寸可用,但由于某些原因策略没有处理它时,该信息就变得非常重要。该社区有助于找到原因:策略逻辑错误、交易错误 或引擎错误。

 
Vasiliy Sokolov:

这就是引擎的作用。您用进入和退出规则来描述策略,并将其添加到智能交易系统中。

我不明白,您在何时何地描述了 STOP(包括 STOPLEVEL)的正确形成、处理(开仓和平仓时)重新报价?

据我所知,您是在新条形图开始时设置引擎的。如果在处理重新报价时没有多次重复交易请求 的机制,那么新头寸将无法及时打开(这不是什么大问题),但如果打开的头寸没有及时关闭(通过信号),则可能会对存款造成不愉快的后果。

 
Гога:

我不明白,何时何地描述 STOP(包括 STOPLEVEL)的正确形成,以处理(打开和关闭位置时)重新报价?

据我所知,您是在新条形图开始时设置引擎的。如果在处理重新报价时没有多次重复交易请求 的机制,那么新头寸将无法及时开立(这不是什么大问题),但如果已开立头寸没有及时关闭(通过信号),则可能会对存款造成不愉快的后果。

重新报价的处理应在 Expert Advisor 的交易逻辑中进行。如果在 InitBuy 中调用 Trade.Buy 方法,返回的是 false 而不是预期的 true,则有必要在不离开 InitBuy 的情况下了解发生了什么,并重复或纠正您的操作。请注意,重新报价与许多交易模式无关。例如,证券交易所就没有重新报价一说。因此,不可能创建一个通用层,让它始终能够了解用户的交易行为并即时纠正。
 
Vasiliy Sokolov:
我要指出的是,重新报价与许多交易模式无关。例如,在证券交易所,根本就没有重新报价的概念。因此,不可能创建某个通用层,让它始终能够理解用户的交易行为并即时纠正。

但这并不妨碍,即使在某些类型的账户 或交易平台上从未发生过错误,也可以对其进行分析。

唯一的问题是必要反应的明确性--如果明确要做什么,就可以在引擎内完成。

 
Vasiliy Sokolov:
应在 Expert Advisor 的交易逻辑中处理 Requotes。如果在 InitBuy 中调用 Trade.Buy 方法,返回的是 false 而不是预期的 true,则有必要了解发生了什么,并在不离开 InitBuy 的情况下重复或纠正您的操作。请注意,重新报价与许多交易模式无关。例如,证券交易所就没有重新报价一说。因此,不可能创建一个通用层,让它始终能够理解用户的交易行为并即时纠正。

事实证明,每次使用新策略时,都需要根据策略的要求或交易者的偏好,分别规定对重新报价 的处理(取决于重新报价 是否存在),以及检查 STOP 的正确形成。事实证明,除了

Vasiliy Sokolov:

引擎就是这么做的。您可以用进入和退出规则来描述策略,并将其添加到 Expert Advisor 中。

您每次都必须在入市/出市规则描述中添加其他内容吗?我想明确指出 "每次还需要添加什么"?

 
Andrey Khatimlianskii:

其实,这并不是什么障碍,即使在某些类型的账户 或交易平台上从未出现过错误,您也可以对其进行分析。

唯一的问题是必要的反应是否明确--如果很清楚要做什么,就可以在引擎内完成。

我想知道,除了重试交易请求外,还可以采取哪些其他可能的行动来响应重新报价?
 
Гога:
我想知道,除了重试交易请求外,还可以采取哪些其他可能的行动来响应重新报价?
至少要分析价格。也许根本没有必要进入。