17 九月 2022
17 九月 2022
程序端
MQL5
bool vector<TDst>::Assign(const vector<TSrc> &assign); bool matrix<TDst>::Assign(const matrix<TSrc> &assign);示例:
//--- copying matrices matrix b={}; matrix a=b; a.Assign(b); //--- copying an array to a matrix double arr[5][5]={{1,2},{3,4},{5,6}}; Print("array arr"); ArrayPrint(arr); b.Assign(arr); Print("matrix b \n",b); /* array arr [,0] [,1] [,2] [,3] [,4] [0,] 1.00000 2.00000 0.00000 0.00000 0.00000 [1,] 3.00000 4.00000 0.00000 0.00000 0.00000 [2,] 5.00000 6.00000 0.00000 0.00000 0.00000 [3,] 0.00000 0.00000 0.00000 0.00000 0.00000 [4,] 0.00000 0.00000 0.00000 0.00000 0.00000 matrix b [[1,2,0,0,0] [3,4,0,0,0] [5,6,0,0,0] [0,0,0,0,0] [0,0,0,0,0]] */
bool matrix::CopyRates(string symbol,ENUM_TIMEFRAMES period,ulong rates_mask,ulong from,ulong count); bool vector::CopyRates(string symbol,ENUM_TIMEFRAMES period,ulong rates_mask,ulong from,ulong count);复制的数据类型使用ENUM_COPY_RATES枚举在rates_mask参数中指定。有以下值可供使用:
修正改变将常量参数作为对象指针引用传递给函数时的错误。
const指定符将一个变量声明为常量,以防止它在程序执行中被更改。它只允许在声明时进行一次性的变量初始化。OnCalculate函数中的常量变量示例:
int OnCalculate (const int rates_total, // price[] array size const int prev_calculated, // bars processed on previous call const int begin, // meaningful data starts at const double& price[] // array for calculation );
下面的示例包含一个编译器错误,它允许隐式指针强制转换引用参数:
class A {}; const A *a = new A; void foo( const A*& b ) { b = a; } void OnStart() { A *b; foo(b); // not allowed Print( a,":",b ); }编译器会检测到这种非法操作,并返回相关错误。
MetaEditor
全新MetaTrader 5网页端
我们发布了经过改进的MetaTrader 5网页端,它提供了更新的界面和重新设计的内核。新界面类似于iPad程序端:
它还包含许多新功能: