为什么我需要第三方服务来向我的智能手机发送信息?它们更好吗?终端中有推送消息功能。
如果您需要一次性传输信息(例如,脚本创建了一些东西,EA 立即接受)--可以。 如果 EA 需要加载和获取交易信息(当前的马丁水平、订单组等,这些信息不在订单中),那么最好尽可能不使用文件和本地存储进行管理。大多数用户会忘记在某个地方有一个文件,在将智能交易系统转移到另一个终端时会大吃一惊。
此外,除了订单(仓位)中的注释外,还有一个 magik,您也可以在其中加密信息。
我还要注意信息到达时的性能和检查次数。
1)每种类型的通知都有声音。
2) 用户无需了解文件。这是程序的逻辑。如果有文件--恢复参数,如果没有文件--使用默认值。
3)我可以在终端中看到订单注释,并能立即知道交易失败的原因。因为我可以在立即下单之前看到情况。
4) 对不起,我不明白性能和检查次数。您能用手指给我演示一下吗?
1)每种类型的通知都有不同的声音。
2) 用户无需了解文件。这就是软件的逻辑。如果有文件--恢复参数,如果没有文件--使用默认值
3)我可以在终端上看到历史记录中的订单注释,我可以立即知道亏损交易的问题所在。因为我可以在打开订单前立即看到情况
4) 很抱歉,我不了解性能和检查次数。您能用手指给我演示一下吗?
1) 好的,虽然用户从未提出过这样的要求。很久以前就有过 SMS 的要求,为此需要第三方服务。
2) 如果文件是加载 EA 所必需的,则必须与 EA 一起传输。您没有理解我的意思。
3) 失败的交易有什么问题?有时您需要数百个真实或历史订单来还原交易的全貌。选择每个订单都会占用大量资源,而在 MT4 中可能没有历史订单(如果用户没有选择历史订单),因此应将所有搜索操作减少到最低限度。我说的不是简单的情况。
4) 如何知道第二个程序创建了图形对象?通过不断枚举所有对象并检查每个勾的名称吗?然后用户会运行几十个甚至上百个版本,然后说 "做点什么吧,我被挂起了"。确实有这样的情况......
-------
我的所有观点都是基于我在自由职业中的经验--如何做到用户不会破坏任何东西,然后也不会抱怨。
4) 如何知道第二个程序创建了一个图形对象?通过不断查看所有对象并检查每个勾选的名称吗?然后用户会运行几十个甚至上百个版本,然后说 "做点什么吧,我被挂住了"。确实有这样的情况......
-------
我的所有观点都是基于我在自由职业中的经验--如何做到用户不破坏任何东西,然后也不抱怨。
4) 带参数的图形对象的名称是唯一且不变的。我运行了脚本。我设置了参数并将其保存在图形对象中。Expert Advisor 每运行一次都会检查是否只有一个对象。如果有一个对象,它会读取参数并立即删除。脚本和 Expert Advisor 都在一个图表上。其他图表上的专家对此一无所知。
2) 如果该文件是加载 EA 所必需的,并且应与 EA 一起传输,则必须这样做。您没有理解我的意思。
在启动智能交易系统或脚本时,我收到 "没有 PATH/AppSettings.txt 文件。请阅读安装说明"。
一般来说,我认为您不应该通过发送 .... 消息来减慢交易机器人的运行速度。因为这样或那样的原因,交易机器人本身可能会暂停运行、
WebRequest 有一个超时参数。您可以在发送请求前后插入Print(TimeCurrent()),检查WirePusher服务的WebRequest速度。通常情况下,这可以忽略不计。如果超时后仍出现错误代码,则可以创建请求处理队列。消息没有在下一个 tick 离开,所以它也会在下一个 tick 离开。最重要的是在发送成功后将其从队列中移除;-)
难就难在简单......或者更可悲的是把一篇文章说得一无是处。
+
新文章 来自专业程序员的提示(第二部分):在智能交易系统、脚本和外部程序之间存储和交换参数已发布:
这些来自专业程序员关于方法、技术和辅助工具的一些提示,可令编程变得更轻松。 我们将讨论终端重启(关闭)后如何恢复参数。 所有示例都是来自我的 Cayman 项目的真实工作代码片段。
etTradeLevel 脚本允许设置交易级别的参数。 在图表上选择了一个对象(直线、趋势线或矩形)。 SetTradeLevel 脚本查找所选对象(交易级别),并为其设置参数。
接下来,脚本将参数保存到 Files\Cayman\Params\128968168864101576\exp_05_Lev607A160E_H4.txt,并通过 SendCommand 函数发送命令和文件路径至文件。
作者:Malik Arykov