新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1068

 
你好,你能告诉我如何在一个新的M1蜡烛形成时,使2个待定的买入 和卖出订单 被放置?
 
Иван Титов:
你好,我如何在一个新的M1蜡烛形成时发出2个待定的买入 和卖出订单

int timeM1=0;

int PlaceOrdersOnM1() {

  datetime candleOpenTime=iTime(Symbol(),_Period,0);

  if (timeM1==0) {

     timeM1=candleOpenTime;

     return 0;

  }

 if (timeM1!=candleOpenTime) {

   timeM1=candleOpenTime;

   int ticket1=OrderSend(...); // выставляет отложку 1

   int ticket2=OrderSend(...);// отложку 2

   return !(ticket1<0 || ticket2<0);

 }

 return 0;

}

// вызывать каждый тик или по таймеру (по вкусу)

"手写的",从未以任何方式检查过

 
Иван Титов:
你好,你能告诉我如何在新的M1蜡烛图形成时,使2个买入 和卖出的挂单被放置?

是新的蜡烛开放检查功能,适用于任何TF(非常有用)。

bool NewBar(ENUM_TIMEFRAMES TF = PERIOD_CURRENT)
  {
   static datetime NewTime=0;
   if(NewTime!=iTime(Symbol(),TF,0))
     {
      NewTime=iTime(Symbol(),TF,0);
      return(true);
     }
   return(false);
  }
 

这个警告在测试器中是什么意思?

2020.02.06 09:55:17.596 TestGenerator: unmatched data error (volume limit 95 at 2020.01.20 08:10 exceeded)

直译是 "超过了音量限制95"。但这意味着什么呢?没有音量限制...而其他的蜡烛图(M5)有更大的体积,但没有警告...
 

是否可以创建参数可以同时是任何类型的变量的函数?

void Function (any_type A);
 
Viatcheslav Pashkov:

这个警告在测试器中是什么意思?

2020.02.06 09:55:17.596 TestGenerator: unmatched data error (volume limit 95 at 2020.01.20 08:10 exceeded)

直译是 "超过了音量限制95"。但这意味着什么呢?没有音量限制...而其他的蜡烛图(M5)有更大的体积,但没有警告...
下载关于该符号的历史。F2
 
Viatcheslav Pashkov:

是否可以创建参数可以同时是任何类型的变量的函数?

是的,这个模式叫做

template<typename T>
void Foo(T param){
...
}
 
Vladimir Simakov:

是的,这个图案叫做

我不明白。

阅读常见问题。

还是不明白。请举一个int、double和string之间的简单例子?

 
Viatcheslav Pashkov:

没有得到它。

阅读常见问题。

仍然不明白。请给我一个int、double和string之间的简单例子?

https://www.mql5.com/ru/docs/basis/oop/templates

为什么把它放在OOP部分?

Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
  • www.mql5.com
Перегруженные функции обычно используются для выполнения похожих операций над различными типами данных. Простой пример такой функции в MQL5 - ArraySize(), которая возвращает размер массива любого типа. На самом деле эта системная функция является перегруженной, и вся реализация такой перегрузки спрятана от разработчика программ на MQL5: То есть...
 
Vladimir Simakov:

https://www.mql5.com/ru/docs/basis/oop/templates

你为什么把它放到OOP部分?

这正是我读到的内容。

但它一定是为那些知道但已经忘记的人写的。

这些信息对我没有丝毫帮助。

你能给我一个简单的例子吗?