新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1577 1...157015711572157315741575157615771578157915801581158215831584...1953 新评论 Tretyakov Rostyslav 2021.08.07 11:29 #15761 Mihail Matkovskij:当服务器上的任何止损单被触发时,OnTradeTransaction 将被触发。 但功能必须要有规定? Tretyakov Rostyslav 2021.08.07 11:32 #15762 Eugen8519: 穿过去怎么样? deal_reason_sl 价值评估 不 在文档中,有一个非常好的OnTradeTransaction 的例子。 Mihail Matkovskij 2021.08.07 11:34 #15763 MakarFX: 但功能必须要有规定? 如果你为这个目的专门 增加一个函数,那就很方便了。为什么不......? 但没有必要在其中跟踪止损点,因为服务器会这样做并向OnTradeTransaction 发送信号。 Tretyakov Rostyslav 2021.08.07 11:44 #15764 Mihail Matkovskij:如果你为这个目的专门 增加一个函数,那就很方便了。为什么不......?但没有必要跟踪其中的止损点,因为这将由服务器完成,它将向OnTradeTransaction 发送一个信号。 Misha,我对mql5不是很在行,我只是在起步阶段。 但我认为我们应该先写一些类似的东西。 if(OnTradeTransaction(...)==....) SendNotification ("текст"); 如果我错了,我很乐意纠正它 Mihail Matkovskij 2021.08.07 11:49 #15765 MakarFX:Misha,我对mql5不是很在行,我刚刚开始接触它。但我认为你应该先写一些东西,比如... 如果我错了,我很乐意纠正你。OnTradeTransaction就是这样一个事件处理程序。因此,所有的处理代码都应该在其中。或者调用处理函数,如果你想的话。见链接中的文档描述。 Tretyakov Rostyslav 2021.08.07 11:57 #15766 Mihail Matkovskij: OnTradeTransaction就是这样一个事件处理程序。因此,所有的处理代码都应该在其中。如果你想的话,也可以是处理功能。见链接中的文档描述。 我们说的是同一件事吗? if(OnTradeTransaction(...)==....) SendNotification ("текст"); Eugen8519 2021.08.07 11:58 #15767 这个怎么样? 我想我从mql4找到了一个 void AlertOrder() { string txt; double OCP; int i=OrdersHistoryTotal()-1; if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true) { OCP=OrderClosePrice(); if (OCP==OrderStopLoss()) txt="SL"; if (OCP==OrderTakeProfit()) txt="TP"; } SendNotification(Symbol() + " hit "+txt+""); } Tretyakov Rostyslav 2021.08.07 12:00 #15768 Eugen8519: 这个怎么样,我从mql4找到一个 OrdersHistoryTotal 不在mql5中 Mihail Matkovskij 2021.08.07 12:02 #15769 MakarFX:我们说的是同一件事吗? 不,你要在条件(if)中调用处理程序。但你不需要在任何地方调用它。只需在OnTradeTransaction 中编写处理代码,就可以了。看一下触发止损时传递给OnTradeTransaction 的参数。 虽然,你必须知道什么是事件和事件处理程序,在MQL中有哪些事件。然后你就会开始理解这一切。 这里有一个链接,介绍什么是事件处理程序https://www.mql5.com/ru/docs/basis/function/events#ontradetransaction。 为了避免混淆,它们通常只被称为事件处理程序。例如,由于你把OnTradeTransaction和一个普通的函数混淆了,这个函数是在if中调用的。 Документация по MQL5: Основы языка / Функции / Функции обработки событий www.mql5.com Функции обработки событий - Функции - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Tretyakov Rostyslav 2021.08.07 12:35 #15770 Eugen8519: 这个怎么样,我从mql4找到一个 试试这个(我没有测试过)。 datetime lastclouse; int OnInit() { lastclouse=TimeCurrent(); ..... } void OnTick() { if(LastClouseProfit()!=EMPTY_VALUE) SendNotification (LastClouseProfit()); ..... } double LastClouseProfit() { ulong ticket=0; double profit=EMPTY_VALUE; HistorySelect(lastclouse,TimeCurrent()); ticket=HistoryDealGetTicket(); profit=HistoryDealGetDouble(ticket,DEAL_PROFIT); if(profit!=EMPTY_VALUE) lastclouse=TimeCurrent(); return(profit); } 1...157015711572157315741575157615771578157915801581158215831584...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
当服务器上的任何止损单被触发时,OnTradeTransaction 将被触发。
穿过去怎么样?
不
在文档中,有一个非常好的OnTradeTransaction 的例子。
但功能必须要有规定?
如果你为这个目的专门 增加一个函数,那就很方便了。为什么不......?
但没有必要在其中跟踪止损点,因为服务器会这样做并向OnTradeTransaction 发送信号。
如果你为这个目的专门 增加一个函数,那就很方便了。为什么不......?
但没有必要跟踪其中的止损点,因为这将由服务器完成,它将向OnTradeTransaction 发送一个信号。
Misha,我对mql5不是很在行,我只是在起步阶段。
但我认为我们应该先写一些类似的东西。
如果我错了,我很乐意纠正它
Misha,我对mql5不是很在行,我刚刚开始接触它。
但我认为你应该先写一些东西,比如...
如果我错了,我很乐意纠正你。
OnTradeTransaction就是这样一个事件处理程序。因此,所有的处理代码都应该在其中。如果你想的话,也可以是处理功能。见链接中的文档描述。
我们说的是同一件事吗?
这个怎么样,我从mql4找到一个
不在mql5中
我们说的是同一件事吗?
不,你要在条件(if)中调用处理程序。但你不需要在任何地方调用它。只需在OnTradeTransaction 中编写处理代码,就可以了。看一下触发止损时传递给OnTradeTransaction 的参数。
虽然,你必须知道什么是事件和事件处理程序,在MQL中有哪些事件。然后你就会开始理解这一切。
这里有一个链接,介绍什么是事件处理程序https://www.mql5.com/ru/docs/basis/function/events#ontradetransaction。
为了避免混淆,它们通常只被称为事件处理程序。例如,由于你把OnTradeTransaction和一个普通的函数混淆了,这个函数是在if中调用的。
这个怎么样,我从mql4找到一个
试试这个(我没有测试过)。