ordersend()编码的帮助... - 页 3 1234 新评论 Simon Gniadkowski 2011.10.24 15:34 #21 mugged: Raptor,如果你不介意的话......你打算如何通过php检查连接? 我的想法是这样的。 EA将通过FTP每2分钟(可以是5分钟,30分钟,无论你的容忍度是多少...*)发送一个小文件到我的主机网络服务器,在该网络服务器上运行一个Cron作业,寻找通过FTP收到的文件,并检查 它在过去2分钟内是否被更新,如果没有,它将向我发送一封警报邮件。 William Roeder 2011.10.24 15:37 #22 SDC: 我一直是这样做的,因为MQL4书中的例子就是这样做的,但现在我在想这看起来并不正确,如果你在卖出价上开仓,你想在该价格+你的TP金额上获利,你想在该价格-你的SL金额上止损?如果你想在价格-x时停止。那是什么意思?你想在买入价达到x价时停止(还是在卖出价达到x价时停止。) 如果你想在买入时有3个点的止损并使用Ask - 3*pips2dbl。在你开仓的那一刻,你现在距离1个点(假设有2个点的点差),这又取决于你的定义。 如果你的意思是当买入价达到x价时,在买入时你的止损点将是x价。但在卖出时,你仍然想在价格x时停止,但触发价格必须是相对于要价的。 当点差发生变化时,你该怎么做?在卖出时,这意味着要在同一位置收盘(买入),你必须修改TP/SL。取决于你的定义。 我所做的是相对于买入价进行所有计算,并在最后进行调整。 //want to open at P if (OP == OP_BUY) double bid.to.open = Ask-Bid, bid.to.stop = 0, DIR=+1.; else bid.to.open = 0; bid.to.stop = Ask-Bid; DIR=-1.; : if ((Bid - P) *DIR >= 0.){ // Time to open double openPrice = Bid + bid.to.open, OrderSend(NULL, OP, v, Bid+bid.to.open...) Simon Gniadkowski 2011.10.24 15:40 #23 WHRoeder: 我的方法是直接报告错误并返回。 我担心的是,我有一个SL和TP=0的开仓订单,而我的EA没有连接到互联网... . .我宁愿被提醒这种可能性,即使我的EA是在VPS或我自己的主机 上。 William Roeder 2011.10.24 15:53 #24 我不是不同意这一点,我确实说过 "报告错误"。 在isConnected()==false的情况下,EA除了等待,也没有什么可以做的。 对于ERR_TRADE_TIMEOUT,EA只能等待,然后再看。 从开始返回并等待下一个tick,然后恢复是最简单的。 Simon Gniadkowski 2011.10.24 15:57 #25 WHRoeder: 我不是不同意这一点,我确实说过 "报告错误"。 只是在isConnected()==false或ERR_TRADE_TIMEOUT的情况下,EA无能为力,只能等待下一个 tick,然后再看。 当然,我只是想让你明白我的意思,在某些时候我希望有一个看门狗来告诉我有些事情是不对的......因此有了cron job和PHP的想法。 Simon Gniadkowski 2011.10.24 16:14 #26 mugged: 猛禽,如果你不介意的话......你打算如何通过php检查连接? 也许像这样 ... . <?php $to = "recipient@example.com"; $subject = "EA is silent"; $body = "EA has stopped responding . . . "; $file = 'somefile.txt'; $filetime = filemtime($file); $timetwomins = time()-120; // two mins ago if ($filetime < $timetwomins) { mail($to, $subject, $body) } ?> [删除] 2011.10.24 16:23 #27 我想我要做的是,在订单触发之前有一封邮件提醒,然后再有一封确认止损被更改的邮件。 因此,如果我收到第一封邮件,而相应的修改邮件没有发出来,那么我就知道有问题了。 qjol 2011.10.24 16:29 #28 mugged: 我想我要做的是,在订单触发之前有一封邮件提醒,然后再有一封确认止损被更改的邮件。 因此,如果我收到第一封邮件,而相应的修改邮件没有发出来,那么我就知道有问题了。 我想在 订单触发后 发送一封邮件,然后再发送一封确认止损已被更改的邮件。 [删除] 2011.10.24 16:36 #29 qjol: 我认为在 订单触发后发送一封邮件,然后再发送一封确认停止的邮件。 我唯一担心的是,如果订单触发后,你的连接在邮件发送前就中断了,怎么办? 另一种方法是,第一封邮件告诉你有东西要触发,然后第二封确认停止的修改。 [删除] 2011.10.24 16:38 #30 RaptorUK:也许像这样的事情......。 猛禽,我喜欢这个主意。我过去曾想过这个问题,但不知道如何去做。 我现在有的只是EA每小时发送一封电子邮件,确认它已经启动并运行。我只是需要一些检查 邮件的方法,如果它没有进来,就发送一个警告。同样的想法,不同的方法,我想。 1234 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
Raptor,如果你不介意的话......你打算如何通过php检查连接?
我的想法是这样的。
EA将通过FTP每2分钟(可以是5分钟,30分钟,无论你的容忍度是多少...*)发送一个小文件到我的主机网络服务器,在该网络服务器上运行一个Cron作业,寻找通过FTP收到的文件,并检查 它在过去2分钟内是否被更新,如果没有,它将向我发送一封警报邮件。
我一直是这样做的,因为MQL4书中的例子就是这样做的,但现在我在想这看起来并不正确,如果你在卖出价上开仓,你想在该价格+你的TP金额上获利,你想在该价格-你的SL金额上止损?
如果你想在价格-x时停止。那是什么意思?你想在买入价达到x价时停止(还是在卖出价达到x价时停止。)
如果你想在买入时有3个点的止损并使用Ask - 3*pips2dbl。在你开仓的那一刻,你现在距离1个点(假设有2个点的点差),这又取决于你的定义。
如果你的意思是当买入价达到x价时,在买入时你的止损点将是x价。但在卖出时,你仍然想在价格x时停止,但触发价格必须是相对于要价的。
当点差发生变化时,你该怎么做?在卖出时,这意味着要在同一位置收盘(买入),你必须修改TP/SL。取决于你的定义。
我所做的是相对于买入价进行所有计算,并在最后进行调整。
我的方法是直接报告错误并返回。
我不是不同意这一点,我确实说过 "报告错误"。
在isConnected()==false的情况下,EA除了等待,也没有什么可以做的。
对于ERR_TRADE_TIMEOUT,EA只能等待,然后再看。
从开始返回并等待下一个tick,然后恢复是最简单的。
我不是不同意这一点,我确实说过 "报告错误"。 只是在isConnected()==false或ERR_TRADE_TIMEOUT的情况下,EA无能为力,只能等待下一个 tick,然后再看。
猛禽,如果你不介意的话......你打算如何通过php检查连接?
也许像这样 ... .
<?php $to = "recipient@example.com"; $subject = "EA is silent"; $body = "EA has stopped responding . . . "; $file = 'somefile.txt'; $filetime = filemtime($file); $timetwomins = time()-120; // two mins ago if ($filetime < $timetwomins) { mail($to, $subject, $body) } ?>
我想我要做的是,在订单触发之前有一封邮件提醒,然后再有一封确认止损被更改的邮件。
因此,如果我收到第一封邮件,而相应的修改邮件没有发出来,那么我就知道有问题了。
我想我要做的是,在订单触发之前有一封邮件提醒,然后再有一封确认止损被更改的邮件。
因此,如果我收到第一封邮件,而相应的修改邮件没有发出来,那么我就知道有问题了。
我认为在 订单触发后发送一封邮件,然后再发送一封确认停止的邮件。
我唯一担心的是,如果订单触发后,你的连接在邮件发送前就中断了,怎么办?
另一种方法是,第一封邮件告诉你有东西要触发,然后第二封确认停止的修改。
也许像这样的事情......。
猛禽,我喜欢这个主意。我过去曾想过这个问题,但不知道如何去做。
我现在有的只是EA每小时发送一封电子邮件,确认它已经启动并运行。我只是需要一些检查 邮件的方法,如果它没有进来,就发送一个警告。同样的想法,不同的方法,我想。