struct A
{
int y;
string func(double x)
{
return(__FUNCSIG__);
}
};
struct B : public A
{
string func(int x) // the method hides A::func
{
return(__FUNCSIG__);
}
};
voidOnStart(void)
{
B b;
b.func(M_PI); // according to new rules, it is a call to B::func
b.A::func(M_PI); // call the hidden method A::func
}
call resolves to 'string B::func(int)' instead of 'string A::func(double)' due to new rules of method hiding see declaration of function 'B::func' see declaration of function 'A::func' truncation of constant value from 'double(3.141592653589793)' to 'int(3)'
int somename(ENUM_TIMEFRAMES TF=PERIOD_CURRENT);
int somename(ENUM_TIMEFRAMES TF=0) // error, type mismatch for the default parameter value, despite having the same value
{
return(42);
}
enum A
{
Value
};
enum B
{
Value // error, name 'Value' is already used in enumeration A
};
voidOnStart(void)
{
enum C
{
Value // OK, 'Value' is not used within the OnStart scope
};
}
2025年8月1日(金)、MetaTrader 5プラットフォームの最新バージョンがリリースされます。
このバージョンでは、MQL5におけるOpenBLAS線形代数ライブラリのサポートを大幅に拡張し、新たに約30種類の関数を追加しました。これにより、機械学習を活用するエキスパートアドバイザー(EA)の開発がさらに柔軟かつ高度に行えるようになります。
さらに、MQL5におけるプログラム品質を確保するための制御機能が強化されました。新たに導入されたコンパイラのチェック機能や制約により、アプリケーションの動作における潜在的なエラーの発生を未然に防ぐことができます。
デスクトップ版プラットフォームでは、OSの設定に基づいてインターフェイスのテーマが自動で切り替わる機能も導入され、手動で調整する必要がなくなりました。
MetaTrader 5クライアント端末
行列の還元(変換)
固有値と固有ベクトル
線形方程式
因数分解計算
行列ノルムの計算
行列分類
この変更により、コードの読みやすさが向上し、以前はコンパイラの警告のみを伴っていた曖昧さが排除されます。
以前は、コンパイル時に次のような警告が出ていました。
複数のビルドにおいて、指定されたパラメータに基づいてより適切な非公開メソッドが存在する場合は、ログに警告が表示されることがあります。
see declaration of function 'B::func'
see declaration of function 'A::func'
truncation of constant value from 'double(3.141592653589793)' to 'int(3)'
異なるスコープでは、同じ名前の使用は可能です。
これにより、すべてのテンプレートパラメータおよび引数を明示的に指定する必要があります。
OnnxSetOutputShape( … , ulong_array );
MetaTrader 5 Web端末
このアップデートは、LiveUpdateシステムを通じて提供される予定です。