程序库: MT4Orders - 页 31

 
Ilya Malev:

是的,我只是有少量的交易。但这样的小样本累积起来就很多了,如果每个样本都有哪怕是一个小错误(即使不是错误,而是与测试人员的差异),也会有点压力)。

利用这一点

 
总的来说,我已经准备好了一切。您的资料库帮了我大忙,我没有花一周的时间考虑如何在 MT5 上编写简单而没有错误的程序,而是利用它开始编写复杂的程序:)
 
Ilya Malev:
总的来说,我已经准备好了一切。您的程序库帮了我大忙,我不用花一周时间考虑如何在 MT5 上编写没有错误的简单程序,而是利用它开始编写复杂程序:)

对于测试人员来说,其实一切都很简单。

 
fxsaber:

对于测试人员来说,一切都很简单。

而真正 MT5 中的 "复杂 "东西,从 30 页上所写的一切来看,您自己并不完全了解)。对我来说,所有适合特定情况的东西都是好的。事实上,可能会有 100500 种不同的情况,但在这些情况下它不会起作用,我个人会在出现这些情况时解决它们,我认为这比试图提供一切和一切中的一切要实用得多。当然,如果有现成的解决方案,我们会非常欢迎。

 
Ilya Malev:

而 MT5 真实的 "复杂 "东西,从 30 页上所写的一切来看,您自己也不完全了解)。

现在几乎不可能发现任何缺陷。但如果您成功了,我会很高兴。

 
Kim 在 MT4 下的功能很受欢迎,因此我从他的网站上下载了所有源代码,并在 MT5 下编写了一个简单的 "转换器"。
#include <KimIVToMT5.mqh> //https://c.mql5.com/3/263/KimIVToMT5.mqh

#include "e-Trailing.mq4" // http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=14

void OnTick() { start(); }


在编写过程中,我发现了一个 免费的自动转换器。它似乎可以工作!

附加的文件:
KimIVToMT5.mqh  10 kb
 
fxsaber:
Kim 在 MT4 下的功能很受欢迎,因此我从他的网站上下载了所有源代码,并在 MT5 下编写了一个简单的 "转换器"。

太好了!

 
fxsaber:

现在几乎不可能发现缺陷了。但如果你能做到,我会很高兴的。

您好!

在当前的 26.11.2018 版本中,挂单存在一个错误。而在之前的版本中则没有这个问题。

每种类型都设置了一个订单。

代码

#property strict

#include <MT4Orders26.11.2018.mqh> // 故障
//#include <MT4Orders02.11.2018.mqh> // Working
//+------------------------------------------------------------------+
//| 专家初始化函数|
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| 专家勾选功能|
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   Comment("BUYSTOP: ",Count(Symbol(),OP_BUYSTOP),"\n"
           "BUYLIMIT: ",Count(Symbol(),OP_BUYLIMIT),"\n"
           "SELLSTOP: ",Count(Symbol(),OP_SELLSTOP),"\n"
           "SELLLIMIT: ",Count(Symbol(),OP_SELLLIMIT),"\n"
          );
  }
//+------------------------------------------------------------------+
int Count(string symb,int type) {
 int c=0,t=OrdersTotal();
   for(int i=0; i<t; i++) {
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) {
     if(symb==OrderSymbol() && OrderType()==type) c++;
    }
   }
   return(c);
  }  

为便于理解,在日期下重命名

附加的文件:
 
我想补充一点:如果在一个符号上设置了代码,但在另一个符号上设置了待定,然后开始从安装有 Expert Advisor 的图表中逐个删除它们,那么它的行为会非常奇怪。
 
Vitaly Muzichenko:

当前版本 26.11.2018 存在挂单错误。之前的版本中没有这个问题。

我把我的头洒满灰烬,我希望我没有搞砸任何人。注意力不集中:没有完成这些符号

if (!Res && PrevTicket && (::OrderGetInteger(ORDER_TICKET) != PrevTicket))


可下载修复程序

// 更改列表:
// 17.01.2019
// 修复:当选择挂单时,修复了一个恼人的错误。


使用 2018 年 11 月 26 日版本的用户,强烈建议更新 - HotFix!


我再次道歉,这不是很好。