错误、漏洞、问题 - 页 1853

 
Комбинатор:

不能什么?像这样写下来?

结构[(int)0]

是的,你不能这样写。更是如此--Struct[(MqlTick)0] 。


关于交易、自动交易系统和策略测试器的论坛

新版MetaTrader 5 build 1570:MQL5中市场观察的改进和模板功能的扩展

MetaQuotes软件公司。, 2017.03.22 16:31

  1. MQL5:增加了模板函数的显式专业化的可能性。为此,必须在调用参数列表之前指定打字参数。
    template<typename T>
    T Func() { return (T)0; }
      
      
    void OnInit()
      {
       Func<double>();   // явная специализация шаблонной функции
      }
    因此,专业化不是通过调用参数,而是通过明确指定类型。
 
C是一种很酷的编程语言。但是,很多人都是闭着眼睛编程的(。
 

因此,专业化不是通过调用参数,而是通过直接指示类型。

什么类型的,先生?你所强奸的结构类型是什么?

 
Алексей Тарабанов:

你所强奸的是什么类型的结构?

struct STRUCT
{
  template <typename T>
  void operator []( int )
  {
    Print(__FUNCSIG__);
  }
};

void OnStart()
{
  STRUCT Struct;
  
  Struct.operator[]<int>(0);
  Struct.operator[]<MqlTick>(0);
}

结果
void STRUCT::operator[]<int>(int)
void STRUCT::operator[]<MqlTick>(int)
 
fxsaber:

结果

简单地研究一下数据类型
 
Алексей Тарабанов:
只要研究一下数据的类型
有幽默感--打了勾。
 
fxsaber:
有幽默感--打了勾。

谢谢你
 
Renat Fatkhullin:

任务已经被设定为改变这一策略,并从请求的最远日期开始调出不深于500条的 数据。这将使市场筛选器的撰写不费吹灰之力。

1.是否有可能改变这个深度?

2.在MT5中,对加载历史的限制在哪里进行了规定?

 
我读过《傻瓜教程》。 我有一个算法,但我不能正确地开出它。
所以我的想法是,我访问过去86根蜡烛的数据集,除了0,每根白色蜡烛是1,每根黑色蜡烛是0。如果1根蜡烛的收盘价等于1根蜡烛的开盘价,那么就看2根蜡烛的收盘价,如果高于1根蜡烛的开盘价,就放0;如果2根蜡烛的收盘价等于1根蜡烛的开盘价,那么根据同样的原理,比较2根蜡烛的开盘价和2根蜡烛的收盘价。
该周期每15分钟或60分钟运行一次
 
这是语言中的一个错误,还是一个没有记录的功能?
struct STRUCT
{
  void operator =( STRUCT& ) { Print(__FUNCSIG__); }
};

void OnStart()
{
  STRUCT Struct = {0};
  
  Struct = (STRUCT)Struct; // Пусто
  Struct = Struct;         // void STRUCT::operator=(STRUCT&)
}

即使你让它成为一个模板运算符,该运算符也不会被调用!