class CFoo
{
public:
struct Item { int x; };
};
//+------------------------------------------------------------------+class CBar
{
public:
struct Item { int x; };
};
CBar::Item item; // proper declaration of the Item structure from the Bar class
Item item; // incorrect declaration
class A
{
voidoperator=(const A &)=delete; // prohibit object copying operator
};
class B : public A
{
};
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
A a1,a2;
B b1,b2;
a1=a2;
b1=b2;
}
この例では、コンパイラは「a1=a2」と「b1=b2」に対してエラーを返します。
attempting to reference deleted function 'void A::operator=(const A&)' function 'void A::operator=(const
A&)' was explicitly deleted here
attempting to reference deleted function 'void B::operator=(const B&)' function 'void
B::operator=(const B&)' was implicitly deleted because it invokes deleted function 'void A::operator=(const A&)'
2019年10月4日(金曜日)には更新されたMetaTrader 5プラットフォームがリリースされます。
以前のバージョンでは、仮想ホスティング機能は[ナビゲータ]ウィンドウのコンテキストメニューで使用できました。必要なすべての情報と管理コマンドが[VPS]タブに配置され、使いやすくなりました。
基本的なサブスクリプション情報が左側に表示されます。
[開始/停止]ボタンを使用すると、仮想端末をすばやく起動または停止できます。
ホスティングサーバのハードウェアに関するデータとCPU消費量のチャートは、右側のウィンドウセクションに表示されます。表示された情報に基づいて、エキスパートアドバイザーまたは指標が過度のメモリまたはCPU時間を使用している場合、タイムリーに応答できます。
最後の取引環境の移行に関する情報や移行コマンドもここで入手できます。これらのコマンドは、サブスクリプションを購入した後の高速環境移行を有効にします。
仮装プラットフォームは[VPS]タブからレンタルできます。レンタルプロセスは変更されておらず、引き続き高速かつ簡単です。プランと適切な支払い方法を選択するだけです。ブローカーへの接続に最適なサーバが自動的に選択されます。
ブローカーサイトのトレーダールームで適切な機能を検索する必要はありません。高速ナビゲーションコマンドは、ターミナルで直接、[ナビゲータ]の[アカウント]メニューおよび[ツールボックス]> [取引]タブで使用できます。
Category
このプロパティは、金融商品の追加マーキングに使用されます。たとえば、これは銘柄が属する市場セクター(農業、石油およびガスなど)である可能性があります。カテゴリは、ブローカーによって提供された適切な情報のみが表示されます。
Exchange
証券が取引される取引所の名前です。カテゴリは、ブローカーによって提供された適切な情報のみが表示されます。
Commissions
銘柄取引に対してブローカーが請求する手数料に関する情報で、計算の詳細はここに表示されます。
たとえば、次のエントリは、取引の開始と終了の直後に手数料が請求されることを意味します。取引量が0~10ロットの場合、操作ごとに1.2 USDの手数料が請求されます。取引量が11〜20ロットの場合、取引の各ロットごとに1.1 USDの手数料が請求されます。
0 - 10 | 1.2 USD per deal
11 - 20 | 1.1 USD per lot
例: 異なるクラスに属するが名前が同じである2つの構造体の宣言がコードに含まれているとします。以前のバージョンでは、そのような宣言によってコンパイルエラー「identifier already used(識別子はすでに使われました)」が発生しました。このコードが正常にコンパイルされて実行されるようになりました。スコープの外側から目的の変数/構造/関数に適切にアクセスするには、クラスを指定する必要があります(この場合はCBar::Item)。
MQL5アプリケーションでサードパーティのコード/ライブラリを使用する場合により多くの可能性を提供する名前空間サポートを追加しました。
実行の結果、次の結果が出力されます。
2019.09.18 13:39:35.949 TestScript (AUDCAD,H1) NS::func
2019.09.18 13:39:35.949 TestScript (AUDCAD,H1) C::C
2019.09.18 13:39:35.949 TestScript (AUDCAD,H1) NS::C::C
この例では、コンパイラは「a1=a2」と「b1=b2」に対してエラーを返します。
function 'void A::operator=(const A&)' was explicitly deleted here
attempting to reference deleted function 'void B::operator=(const B&)'
function 'void B::operator=(const B&)' was implicitly deleted because it invokes deleted function 'void A::operator=(const A&)'
ポジションを決済するには、主に3つの方法があります。
以下のエキスパートアドバイザーのコードでは、入力パラメーターは目的に応じてグループ化されています。
このようなエキスパートアドバイザーがストラテジーテスターで起動されると、グループ名をダブルクリックすることで入力パラメーターブロックを縮小または展開でき、グループ内のすべてのパラメータは単一のチェックボックスで最適化のために選択できます。
以前のバージョンでは、コンパイル中に以下のエラーが発生しました。
このバージョンでは、より高い優先度を持つ内蔵MQL5関数がデフォルトで使用されるようになったのでエラーは発生しません。インポートされた関数は、 スコープを明示的に指定することで呼び出すことができます。
スタートページ
テスターの起動後、複数の設定の代わりに標準的なタスクが表示されるようになりました。これらを選択することによって、テストをすぐに開始できます。この新設定は主に初心者向けです。
最も頻繁な戦略テストと最適化タスクを選択し、スタートページに追加しました。さらに、以前に実行したタスクの1つをスタートページから再起動できます。実行したタスクが多数でスタートページに収まらない場合は、検索バーを使用します。テストは、プログラム名、銘柄、時間枠、モデリングモードなどの任意のパラメータで検索できます。
無関係なパラメーターを非表示にする
タスクを選択した後、ユーザーは追加のテストパラメータに進んで、エキスパートアドバイザー、銘柄、テスト期間などを選択します。選択したタスクに必要ではないすべての無関係なパラメータは、設定ページに表示されません。たとえば、数学的計算が選択されている場合、テストするプログラムの選択と最適化モードの2つのパラメータのみを指定する必要があります。テスト期間、遅延、ティック生成の設定は非表示になります。
便利なテスト設定
設定ページの一部のパラメータが再配置されて、使いやすくなりました。遅延パラメータと視覚化パラメータの詳細な説明が追加されました。さらに、テスト設定を保存して手動でアップロードできるようになったため、トレーダーは以前の設定にすばやく戻ることができます。
同じタブを使用して、MetaEditorで編集するプログラムをすばやく開くことができます。
ピップ単位の利益計算
設定を使用して、ピップでの利益計算を有効にできます。このモードでは、変換レートを使用して預金通貨の利益を再計算する必要がないため、テストが加速します(したがって、適切な価格履歴をダウンロードする必要はありません)。このモードでは、スワップとコミッションの計算は不要です。
ピップ単位で利益を計算する場合、取引量は重要ではないことに注意してください。取引ごとに勝ち/負けピップの数のみが計算されます。また、このモードでは証拠金は管理できません。迅速かつ大まかな戦略推定にのみ使用し、より正確なモードを使用して取得した結果を確認します。
一般的な改善
テストの開始/停止ボタンと進行状況バーがタブバーに移動しました。したがって、ユーザーは任意のストラテジーテスターセクションからプロセスを管理できます。テストの開始/停止コマンドは、設定および入力セクションのコンテキストメニューにも追加されました。
以前のバージョンでは、実行されたタスクの結果は、エキスパートアドバイザーを最適化するときにのみファイルに保存されました。現在、単一のテスト中にキャッシュファイルも保存されるため、以前の計算に戻り、いつでも統計、残高、エクイティ、デポジットロードグラフを表示できます。将来のリリースでは、このオプションによりテスト結果の比較が可能になります。
以前のテスト結果を読み込むには、新しいテスターのスタートページを使用します。[以前の結果]をクリックして、目的のサイトを選択します。
MetaEditorにはコードスタイラーが内蔵されており、採用されている標準に従ってプログラムテキストの自動書式設定が可能です。一般的なスタイルに加えて、他の一般的な標準を使用できるようになりました。これを行うには、MetaEditor設定を開き、目的のスタイルを選択します。
スタイラーでは、さらに次のパラメータを設定できます。
Spaces per indent
ネストされた構造の整列に使用されるスペースの数を設定します。
Replace tabs with spaces
このオプションが有効な場合、スタイラーはコード内のすべてのタブをスペースに置き換えます。タブごとの文字数は、[一般]セクションで設定されます。
Delete empty lines
このオプションを有効にすると、スタイラーは改行文字のみを持つすべての行を削除します。
Insert spaces after commas and semicolons
このオプションを有効にすると、スタイラーは要素の列挙で構造を視覚的に分離します。例:
Insert spaces around declaration operators
このオプションを有効にすると、スタイラーは割り当て、等価、比較、およびその他の演算子の周りにスペースを挿入します。例:
プラットフォームインターフェイスは現在、50の言語で利用可能で、40億人以上に使用されています。
インターフェイスの言語を設定するには、ターミナルの上部にある[表示\言語]メニューに移動します。
更新はLive Updateシステムを介して利用できるようになります。