将开放的职位分成若干组 - 页 12 1...5678910111213 新评论 Alexey Viktorov 2020.04.12 17:44 #111 Sergey Voytsekhovsky: 我为每一个 "止盈 "打印了一个负号,为每一个入市 打印了一个正号,这似乎已经奏效。我对口语俚语感到抱歉,但我完全是自学成才,没有人可以就这个问题进行交流。 而且我是自学成才。总之,我在切割,切割,切割代码......。如果不是因为与你的对话,我发现这些问题的时间会晚一点...... 我应该在代码中添加一个在阅读属性之前的交易选择。 HistoryDealSelect(trans.deal); 或者检查选择是否成功。 if(!HistoryDealSelect(trans.deal)) Print(GetLastError()); Sergey Voytsekhovsky 2020.04.12 17:52 #112 Alexey Viktorov: 而且我是自学成才。总之,我在切割,切割,切割代码......。如果不是因为与你的对话,我发现这些问题的时间会晚一点...... 谈话总是好的,以后你会发现谈话是否有用。因此,最爱说话的人平均增加minPolus,但减少maxPolus。这话说得有点拗口。 Надо добавить в код выбор сделки перед чтением свойств. или с проверкой успешности выбора. 你是在胡思乱想,还是你建议我这样做? Sergey Voytsekhovsky 2020.04.12 17:55 #113 随着功能 bool HistoryDealSelect( ulong ticket // тикет сделки ); 我读过一篇关于它的文章,但我还不知道如何使用它。 Функция HistoryDealSelect() очищает в mql5-программе список сделок, доступных для обращений, и копирует в него одну единственную сделку, если выполнение HistoryDealSelect() завершилось успешно. Sergey Voytsekhovsky 2020.04.12 18:06 #114 下一个任务--我邀请有识之士进行讨论。 如何让一个交易票据( 在TR上关闭了一个头寸)返回被这个交易关闭的仓单? 2020.04.12 18:15:09.620 Core 1 2018.06.19 04:52:40 take profit triggered #6571 buy 0.01 EURUSD 1.16343 tp: 1.16389 [#6572 sell 0.01 EURUSD at 1.16389] 2020.04.12 18:15:09.620 Core 1 2018.06.19 04:52:40 deal #6572 sell 0.01 EURUSD at 1.16389 done (based on order #6572) 2020.04.12 18:15:09.620 Core 1 2018.06.19 04:52:40 deal performed [#6572 sell 0.01 EURUSD at 1.16389] 2020.04.12 18:15:09.620 Core 1 2018.06.19 04:52:40 order performed sell 0.01 at 1.16389 [#6572 sell 0.01 EURUSD at 1.16389] 2020.04.12 18:15:09.620 Core 1 2018.06.19 04:52:40 Закрыта позиция ---Тикет сделки--- 6572 ---Позицию в структуре ArrayDealOut пометить на удаление ------------ 问题是,我有一个结构,其中实际的位置必须被存储。当他们离开游戏时,需要对他们进行清理。 ??? Alexey Viktorov 2020.04.12 18:06 #115 Sergey Voytsekhovsky: 至少,谈论一些事情总是有用的,以后你会发现谈话是否有用。因此,最爱说话的人通过平均数增加了minPolus,但减少了maxPolus。这话说得有点拗口。 你是在胡思乱想,还是你建议我这样做? 不仅仅是推荐,我已经在我的代码中返回了最近删除的那一行。 Alexey Viktorov 2020.04.12 18:12 #116 Sergey Voytsekhovsky: 随着功能 你要小心,我在那里看到了一个功能,我还不知道如何使用它。 这取决于你在哪里进行选择。在OnTradeTransaction 中不存在这种危险。一般来说,我们应该养成在访问一个订单、交易或头寸的属性之前选择它的习惯。 不要忘了,如果在选择之后,执行切换到某个函数,并在其中进行另一个选择,那么在返回时,列表将包含最后一个选择的选项。 Alexey Viktorov 2020.04.12 18:24 #117 Sergey Voytsekhovsky: 下一个任务--我邀请有识之士进行讨论。 如何让一个交易票据( 在TR上关闭了一个头寸)返回被这个交易关闭的仓单? 问题是,我有一个结构,其中实际的位置必须被存储。当他们离开游戏时,需要对他们进行清理。 ??? 嗯,这很简单... /*********************TradeTransaction function**********************/ void OnTradeTransaction(const MqlTradeTransaction& trans, const MqlTradeRequest& request, const MqlTradeResult& result) { if(trans.type == TRADE_TRANSACTION_DEAL_ADD && trans.symbol == _Symbol) { if(!HistoryDealSelect(trans.deal)) Print(GetLastError()); /******************** Если открылась позиция********************/ if(HistoryDealGetInteger(trans.deal, DEAL_ENTRY) == DEAL_ENTRY_IN) Print("********** открытие сделка ", trans.deal, " позиция ", trans.position); /******************** Если закрылась позиция********************/ if(HistoryDealGetInteger(trans.deal, DEAL_ENTRY) == DEAL_ENTRY_OUT) { if(HistoryDealGetInteger(trans.deal, DEAL_REASON) == DEAL_REASON_TP) { Print("********** закрытие по тейку сделка ", trans.deal, " позиция ", trans.position); } if(HistoryDealGetInteger(trans.deal, DEAL_REASON) == DEAL_REASON_SL) { Print("********** закрытие по стопу сделка ", trans.deal, " позиция ", trans.position); } } } }/*******************************************************************/ CN 0 19:20:27.920 !00 (GBPUSD.m,H1) 2020.02.03 12:01:20 ********** закрытие по стопу сделка 27 позиция 26 CG 0 19:20:27.920 !00 (GBPUSD.m,H1) 2020.02.03 12:01:20 ********** открытие сделка 28 позиция 28 HJ 0 19:20:28.023 Trade 2020.02.03 12:01:40 stop loss triggered #28 buy 0.1 GBPUSD.m 1.30698 sl: 1.30598 tp: 1.30798 [#29 sell 0.1 GBPUSD.m at 1.30598] GE 0 19:20:28.023 Trades 2020.02.03 12:01:40 deal #29 sell 0.1 GBPUSD.m at 1.30598 done (based on order #29) JF 0 19:20:28.023 Trade 2020.02.03 12:01:40 deal performed [#29 sell 0.1 GBPUSD.m at 1.30598] CD 0 19:20:28.023 Trade 2020.02.03 12:01:40 order performed sell 0.1 at 1.30598 [#29 sell 0.1 GBPUSD.m at 1.30598] GI 0 19:20:28.023 Trade 2020.02.03 12:01:40 market buy 0.1 GBPUSD.m sl: 1.30512 tp: 1.30712 (1.30598 / 1.30612 / 1.30598) FQ 0 19:20:28.023 Trades 2020.02.03 12:01:40 deal #30 buy 0.1 GBPUSD.m at 1.30612 done (based on order #30) QQ 0 19:20:28.023 Trade 2020.02.03 12:01:40 deal performed [#30 buy 0.1 GBPUSD.m at 1.30612] ON 0 19:20:28.023 Trade 2020.02.03 12:01:40 order performed buy 0.1 at 1.30612 [#30 buy 0.1 GBPUSD.m at 1.30612] KR 0 19:20:28.025 !00 (GBPUSD.m,H1) 2020.02.03 12:01:40 CTrade::OrderSend: market buy 0.10 GBPUSD.m sl: 1.30512 tp: 1.30712 [done at 1.30612] RM 0 19:20:28.025 !00 (GBPUSD.m,H1) 2020.02.03 12:01:40 ********** закрытие по стопу сделка 29 позиция 28 FP 0 19:20:28.025 !00 (GBPUSD.m,H1) 2020.02.03 12:01:40 ********** открытие сделка 30 позиция 30 NK 0 19:20:28.295 Trade 2020.02.03 12:02:39 take profit triggered #30 buy 0.1 GBPUSD.m 1.30612 sl: 1.30512 tp: 1.30712 [#31 sell 0.1 GBPUSD.m at 1.30712] IS 0 19:20:28.295 Trades 2020.02.03 12:02:39 deal #31 sell 0.1 GBPUSD.m at 1.30712 done (based on order #31) NE 0 19:20:28.295 Trade 2020.02.03 12:02:39 deal performed [#31 sell 0.1 GBPUSD.m at 1.30712] KI 0 19:20:28.295 Trade 2020.02.03 12:02:39 order performed sell 0.1 at 1.30712 [#31 sell 0.1 GBPUSD.m at 1.30712] IH 0 19:20:28.295 Trade 2020.02.03 12:02:39 market buy 0.1 GBPUSD.m sl: 1.30626 tp: 1.30826 (1.30712 / 1.30726 / 1.30712) EI 0 19:20:28.295 Trades 2020.02.03 12:02:39 deal #32 buy 0.1 GBPUSD.m at 1.30726 done (based on order #32) LR 0 19:20:28.295 Trade 2020.02.03 12:02:39 deal performed [#32 buy 0.1 GBPUSD.m at 1.30726] RL 0 19:20:28.295 Trade 2020.02.03 12:02:39 order performed buy 0.1 at 1.30726 [#32 buy 0.1 GBPUSD.m at 1.30726] HR 0 19:20:28.297 !00 (GBPUSD.m,H1) 2020.02.03 12:02:39 CTrade::OrderSend: market buy 0.10 GBPUSD.m sl: 1.30626 tp: 1.30826 [done at 1.30726] HS 0 19:20:32.663 !00 (GBPUSD.m,H1) 2020.02.03 12:02:39 ********** закрытие по тейку сделка 31 позиция 30 KP 0 19:20:32.663 !00 (GBPUSD.m,H1) 2020.02.03 12:02:39 ********** открытие сделка 32 позиция 32 Sergey Voytsekhovsky 2020.04.12 18:24 #118 Alexey Viktorov: 这取决于你在哪里进行选择。在OnTradeTransaction 中不存在这种风险。事实上,我们应该养成在访问订单、交易或头寸的属性之前选择它的习惯。 不要忘了,如果在选择之后,执行的是某个函数,并且它做出了另一个选择,那么在返回的时候,列表中就会出现最后选择的那一个。 伙计,如何理解这一切对我来说是无法抽象的。 我刚刚解决了上述问题,搜索已知交易平仓的票据--我立即从打印中要求,所以我马上回到了我开始的地方--不是所有的TakeProfits都能进入打印。 Sergey Voytsekhovsky 2020.04.12 18:29 #119 Alexey Viktorov: 就这么简单...。 我的上帝,你一直拥有 "我的宝贝",而你却如此谦虚地保持沉默? 非常感谢你。 我学到了很多东西。 我可以直接转贴,就是这样。 Alexey Viktorov 2020.04.12 18:38 #120 Sergey Voytsekhovsky: 哦,我的上帝,你一直拥有 "我的宝贝",而你却如此谦虚地保持沉默? 非常感谢你。 我学到了很多东西,但我本来只是转贴它,就这样了。 什么也没发生。我只是写了它来检查,并通过调试器对历史数据进行运行。学习使用调试器。 这是一个非常有用的技能。 我开始在Excell中进行所谓的VBA(visual VBA for applications)编程,并在那里认识了调试。在那之后,我很难习惯用打印机来检查收到的数值......。当他们在mql5中引入调试功能时,我像孩子一样高兴,因为我的痛苦已经结束了。 1...5678910111213 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我为每一个 "止盈 "打印了一个负号,为每一个入市 打印了一个正号,这似乎已经奏效。我对口语俚语感到抱歉,但我完全是自学成才,没有人可以就这个问题进行交流。
而且我是自学成才。总之,我在切割,切割,切割代码......。如果不是因为与你的对话,我发现这些问题的时间会晚一点......
我应该在代码中添加一个在阅读属性之前的交易选择。
HistoryDealSelect(trans.deal);
或者检查选择是否成功。
而且我是自学成才。总之,我在切割,切割,切割代码......。如果不是因为与你的对话,我发现这些问题的时间会晚一点......
谈话总是好的,以后你会发现谈话是否有用。因此,最爱说话的人平均增加minPolus,但减少maxPolus。这话说得有点拗口。
你是在胡思乱想,还是你建议我这样做?
随着功能
我读过一篇关于它的文章,但我还不知道如何使用它。
下一个任务--我邀请有识之士进行讨论。
如何让一个交易票据( 在TR上关闭了一个头寸)返回被这个交易关闭的仓单?
问题是,我有一个结构,其中实际的位置必须被存储。当他们离开游戏时,需要对他们进行清理。
???
至少,谈论一些事情总是有用的,以后你会发现谈话是否有用。因此,最爱说话的人通过平均数增加了minPolus,但减少了maxPolus。这话说得有点拗口。
你是在胡思乱想,还是你建议我这样做?
不仅仅是推荐,我已经在我的代码中返回了最近删除的那一行。
随着功能
你要小心,我在那里看到了一个功能,我还不知道如何使用它。
这取决于你在哪里进行选择。在OnTradeTransaction 中不存在这种危险。一般来说,我们应该养成在访问一个订单、交易或头寸的属性之前选择它的习惯。
不要忘了,如果在选择之后,执行切换到某个函数,并在其中进行另一个选择,那么在返回时,列表将包含最后一个选择的选项。
下一个任务--我邀请有识之士进行讨论。
如何让一个交易票据( 在TR上关闭了一个头寸)返回被这个交易关闭的仓单?
问题是,我有一个结构,其中实际的位置必须被存储。当他们离开游戏时,需要对他们进行清理。
???
嗯,这很简单...
这取决于你在哪里进行选择。在OnTradeTransaction 中不存在这种风险。事实上,我们应该养成在访问订单、交易或头寸的属性之前选择它的习惯。
不要忘了,如果在选择之后,执行的是某个函数,并且它做出了另一个选择,那么在返回的时候,列表中就会出现最后选择的那一个。
伙计,如何理解这一切对我来说是无法抽象的。
我刚刚解决了上述问题,搜索已知交易平仓的票据--我立即从打印中要求,所以我马上回到了我开始的地方--不是所有的TakeProfits都能进入打印。
就这么简单...。
我的上帝,你一直拥有 "我的宝贝",而你却如此谦虚地保持沉默?
非常感谢你。
我学到了很多东西。 我可以直接转贴,就是这样。
哦,我的上帝,你一直拥有 "我的宝贝",而你却如此谦虚地保持沉默?
非常感谢你。
我学到了很多东西,但我本来只是转贴它,就这样了。
什么也没发生。我只是写了它来检查,并通过调试器对历史数据进行运行。学习使用调试器。 这是一个非常有用的技能。
我开始在Excell中进行所谓的VBA(visual VBA for applications)编程,并在那里认识了调试。在那之后,我很难习惯用打印机来检查收到的数值......。当他们在mql5中引入调试功能时,我像孩子一样高兴,因为我的痛苦已经结束了。