任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1132

 
Vladimir:
在帮助中的某处,开发人员说,不保证排序。

票面上总是有一个排序。后期订单的票数永远不会小于前期订单的票数(按开票时间)。

如果我们在挂单中搜索,那么按顺序,编号为0的订单是最古老的订单,编号为OrdersTotal()-1的订单将是最近的订单(同样,按开放时间),不考虑类型。

在已关闭订单的历史中,仍然取决于终端窗口的历史标签中的排序。

 

我不得不去查了一下。我在MQL5参考资料中没有发现,但我在MQL4的OrderSelect 参考资料中发现了它。

"当使用SELECT_BY_POS参数时,信息将按照从交易服务器收到 顺序返回。不保证对收到的订单清单进行排序"。

实际上,我系统地检查了我使用的列表是否有按票号排序的功能。还没有出现过它不存在的情况。但你也不能反驳参考,没有争论。恰恰相反,它不是...

 
Vladimir:

我不得不去查了一下。我在MQL5参考资料中没有发现,但我在MQL4的OrderSelect 参考资料中发现了它。

"当使用SELECT_BY_POS参数时,信息将按照从交易服务器收到 顺序返回。不保证对收到的订单清单进行排序"。

实际上,我系统地检查了我使用的列表是否有按票号排序的功能。还没有出现过它不存在的情况。但你也不能反驳参考,没有争论。恰好这也是......。

你说 "没有什么 "是什么意思?按票据排序--总是会有顺序,与文件没有矛盾,它说的是按序列号排序,而不是按票据排序,这些是不同的事情。
 
伙计们告诉我如何测试新的构建,他们总是在改变,现在的工作不工作,我从tipstory light下载报价,并将 报价导入构建1010的终端,所有的好和新1045这整个事情不工作在什么问题任何人知道?
 
Vitalie Postolache:
你说的 "不分类 "是什么意思?按票据排序--总是会有顺序的,与文件没有矛盾,它说的是按票据号排序,而不是按票据排序,这些是不同的事情。
文件中的某处写到了按票号排序?你能告诉我吗,我不知道。
 
Vitaly Muzichenko:

运行这段代码,并阅读日志

bool flag=true;

void OnTick()
{
//--
if(flag)
  {
  for(int i=0; i<OrdersTotal(); i++)
   {
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    {
     Print(i," = ",OrderOpenTime());
    }
   }
  flag=false;
}

//-
}
谢谢你!明白了
 

我遇到的另一个问题!不要评判,我已经学习了2-3个星期的语言,也许我只是哑巴!

专家顾问的任务是每4小时通过电子邮件通知交易者,如果账户上的自由保证金增加了一定的价值。

在信息的主题中,你必须写上经纪人的名字和交易的货币对,并在信息的正文中写上 "危险!"。缩减的幅度超过了极限。采取必要的措施"。

编译器出了故障,我的英语不好,我也搞不清楚错误是什么!

input  double MessageMail     = 50.0;
double Sag;

void OnTick()
  {
   Sag = NormalizeDouble(100-100*(AccountInfoDouble(ACCOUNT_FREEMARGIN)/AccountInfoDouble(ACCOUNT_BALANCE)), 1);  //находим процент просадки и округляем до 1 знака
    if(Sag > MessageMail && iVolume(NULL,PERIOD_H4,0)<3)                                       //если просадка больше заданного и начата новая свеча на 4ч таймфрейме
     {
     Alert(Symbol(), ": Просадка = ", Sag, " % ", " > ",  MessageMail, " % ");                 //вывести предупреждение в терминале
//Сюда нужно вставить команду SendMail для отправки сообщения, а что и как не понятно
// пробовал bool SendMail( AccountInfoString(ACCOUNT_COMPANY)|Symbol, "Опасность! Просадка привысила допустимое значение. Примите необходимые меры")
//что то не выходит                          
     }
  }


PS:也许在一般情况下,这种问题有一个更简单的解决方案,但到目前为止,我只看到了这种方式)

 
给傻子的建议。如何开立一个真正的账户
 
Anton Sokolov:

我遇到的另一个问题!不要评判,我已经学习了2-3个星期的语言,也许我就是个哑巴!

专家顾问的任务是每4小时通过电子邮件通知交易者,如果账户上的自由保证金增加了一定的价值。

在信息的主题中,你必须写上经纪人的名字和交易的货币对,并在信息的正文中写上 "危险!"。缩减的幅度超过了极限。采取必要的措施"。

编译器出现了故障,我的英语不好,我无法理解错误是什么!

input  double MessageMail     = 50.0;
double Sag;

void OnTick()
  {
   Sag = NormalizeDouble(100-100*(AccountInfoDouble(ACCOUNT_FREEMARGIN)/AccountInfoDouble(ACCOUNT_BALANCE)), 1);  //находим процент просадки и округляем до 1 знака
    if(Sag > MessageMail && iVolume(NULL,PERIOD_H4,0)<3)                                       //если просадка больше заданного и начата новая свеча на 4ч таймфрейме
     {
     Alert(Symbol(), ": Просадка = ", Sag, " % ", " > ",  MessageMail, " % ");                 //вывести предупреждение в терминале
//Сюда нужно вставить команду SendMail для отправки сообщения, а что и как не понятно
// пробовал bool SendMail( AccountInfoString(ACCOUNT_COMPANY)|Symbol, "Опасность! Просадка привысила допустимое значение. Примите необходимые меры")
//что то не выходит                          
     }
  }


PS:也许在一般情况下,这样的问题有一个更简单的解决方案,但到目前为止,我只看到了这种方式)

我不知道是什么原因。

什么是编译器错误

 

尊敬的客户:您好!我是您的客户,请问您为什么要在演示计划中加入您的名字?