テスト時の年率での手数料の計算が修正されました。
テストの過程で作成されるチャート上の残高の計算および表示が修正されました。
公開テストから2か月後、MetaTrader 5マルチマーケットプラットフォームのウェブバージョンが公式にリリースされました。これはあらゆるOSのあらゆるブラウザから、金融市場取引が行えるものです。また、コンピュータにプログラムをインストールする必要がなく、任意のウェブブラウザとインターネット接続があれば十分です。
アプリケーションは、ウェブソリューションのクロスプラットフォーム性と利便性を備え、デスクトップ版プラットフォームの主要な利点(スピー ド、マルチマーケット性、取引機能の拡張)を持つものです。リリースバージョンの重要な革新は、市場の深さを見ることができ、ワンクリックで成行/指値注 文を発注することができる板注文画面です。
ウェブプラットフォームによって、デスクトップ版と同様に取引操作を行ったり、テクニカル分析を行うことができます。アプリケーションで利用できるもの:
デスクトッププラットフォームからモバイルプラットフォームへのSSL証明書の移動は簡単です。iTunesはもう必要ありません。
MetaTrader 5では、証明書を使用しあなたの口座に特別な保護を追加することができます。証明書が無ければ口座への接続はできません。証明書がデスクトップ版で作成さ れている場合、モバイルプラットフォームの口座に接続するには、証明書を移動する必要があります。
証明書を移動するには、デスクトッププ ラットフォームを開き、ナビゲータウィンドウで必要な口座を右クリックし移動を選択するだけです。あなただけが知る証明書の保護の為のパスワードを設定 し、それからモバイルプラットフォームを開き、口座に接続します。すぐに証明書をインポートするよう提案するメッセージが表示されます。
また、MetaTrader 4から移動された口座には、移行ダイアログが表示されます。あなたの口座が第五世代プラットフォームに移動された場合、暖かいウェルカムメッセージと共に新機能についての情報が提供され、パスワードを変更するよう提案されます。
以前 |
現在 |
|
---|---|---|
作動 | Bid/Askによる全てのタイプの指値注文とストップロス/テイクプロフィット |
Bid/Askによるリミットオーダー Lastによるストップ、ストップリミット、ストップロス/テイクプロフィット注文 |
実行 | 注文で指定された価格による全てのタイプの指値注文とストップロス/テイクプロフィット |
作動時のBid/Ask価格による全てのタイプの指値注文とストップロス/テイクプロフィット |
Si-6.16での例を見てみましょう。現在価格が、Bid=72570、Ask=72572、Last=72552で、バイストップオーダーが72580で発注されました。価格変動で新しい現在価格は、以下のようになりました。
株式商品では、ストップオーダー作動のトリガーはLast価格です。従って、Last価格が72580になったことで、バイストップオーダーが有効になり
ました。以前では、この72580という価格は、この注文の実行に使用されました。買い操作の実行の為のAsk=72580という価格は市場にはないの
で、このような動作は正しくないものでした。
クラッシュログで報告された不具合を修正しました。
トレーダーからの多数の要望により、MetaTrader 5取引プラットフォームのウェブ バージョンが開発されました。新製品はスピード、マルチマーケット性、取引機能の拡張といったデスクトップ版『5』の利点を持つ、ウェブプラットフォーム の利便性とクロスプラットフォーム性を兼ね備えたものとなっています。
MetaTrader 5ウェブプラットフォームがMQL5.communityのサイトで利用可能になり、あらゆるOS(Windows、Mac、Linux)のあらゆるブラウザから金融市場取引を行うことができるようになりました。プログラムをインストールする必要はなく、インターネット接続があれば十分です。
β版でトレーダーがすぐに利用できるもの:
ネッティングシステム
この計算システムは、アカウント上では一度に1つのシンボルにつき1つのポジションのみ開くことができるということを念頭に置いています。
この時、どのようなアクションの結果、反対方向に取引が行われるかや、市場の注文や指値注文の実行の結果は重要ではありません。
以下に、0.5ロットのボリュームでのEURUSDの二つの買い取引の実行例を引用しました。
これらの取引の実行結果は、1ロットのボリュームの1つの共通ポジションになりました。
ヘッジングシステム
この計算システムはアカウントに、同じシンボルに対し反対方向のものを含む、複数の取引ポジションを持つことを可能にします。
取引シンボルに開いているポジションがあり、トレーダーが新しい取引を実行する(または指値注文が作動する)場合、新しいポジションが開かれます。既存のポジションは変化しません。
以下に、0.5ロットのボリュームでのEURUSDの二つの買い取引の実行例を引用しました。
これらの取引が実行された結果、2つの別個のポジションが開かれました。
新しい取引操作タイプ Close By
ヘッ
ジングポジション計算のアカウントの為に、反対のポジションを閉じる新しいタイプの取引操作が追加されました。この操作によって、同じシンボルでの反対方
向の2つのポジションを同時に閉じることができます。もし相対するポジションが様々なロット数を持っている場合、2つのうちの1つの注文のみが開いたまま
残ります。このボリュームは、2つのクローズポジションのロット差と等しくなり、ポジションの方向とオープン価格は、クローズポジションのうちの(ボ
リューム的に)大きい方と等しくなります。
2つのポジションの単一のクローズと比較すると、相対クローズでは、トレーダーは1つのスプレッドを節約することができます。
相対ポジションのクローズ時に、『close by』のタイプの注文が設定されます。閉じられるポジションのチケットが、コメントで指定されます。相対ポジションのペアのクローズは、『out by』タイプの2つの取引によって行われます。両方のポジションのクローズの結果によって得られる取引の利益/損失のサイズは、1つの取引でのみ指定され ます。
class CAnimal { public: CAnimal(); // 構造 virtual void Sound() = 0; // 純粋仮想関数 private: double m_legs_count; // 足数 };ここでのSound()関数は、純粋仮想関数PURE(=0)の指定子で宣言されている為、純粋仮想となります。
class CAnimal { public: virtual void Sound()=NULL; // PUREメソッドは派生クラスでオーバーライドする必要があり、CAnimalクラス自体は抽象クラスになり、作成されません }; //--- 抽象クラスからの子孫 class CCat : public CAnimal { public: virtual void Sound() { Print("Myau"); } // PUREは再定義され、CCatクラスは抽象ではなく作成されません }; //--- 誤用例 new CAnimal; // エラー『CAnimal』-コンパイラはエラー"cannot instantiate abstract class"を出します CAnimal some_animal; // エラー『CAnimal』- コンパイラはエラー『cannot instantiate abstract class』を出します //--- 正しい使用例 new CCat; // エラーはありません。CCatクラスは抽象ではありません CCat cat; // エラーはありません。CCatクラスは抽象ではありません抽象クラス使用の制限
//+------------------------------------------------------------------+ //| 抽象基底クラス | //+------------------------------------------------------------------+ class CAnimal { public: //--- 純粋仮想関数 virtual void Sound(void)=NULL; //--- 関数 void CallSound(void) { Sound(); } //--- コンストラクタ CAnimal() { //--- 仮想メソッドの明示的呼び出し Sound(); //--- 暗黙的呼び出し(第三関数を介して) CallSound(); //--- コンストラクタまたはデストラクタでは、常に自分の関数が呼び出されます //--- 仮想性や子孫を呼び出す関数に関わりません //--- もし呼び出される関数が純粋仮想である場合、 //--- 呼び出しは重大な実行エラー"pure virtual function call"をもたらします } };しかしながら、抽象クラスのコンストラクタとデストラクタは、他のメンバー関数を呼び出すことができます。
typedef int (*TFunc)(int,int);これで、TFuncがタイプとなり、変数の関数ポインターを宣言することができます。
TFunc func_ptr;func_ptr変数に、以後の呼び出しの為に、関数のアドレスを保存することができます。
int sub(int x,int y) { return(x-y); } int add(int x,int y) { return(x+y); } int neg(int x) { return(~x); } func_ptr=sub; Print(func_ptr(10,5)); func_ptr=add; Print(func_ptr(10,5)); func_ptr=neg; // エラー: negはint (int,int)型を持っていません Print(func_ptr(10)); // エラー: 二つのパラメータが存在する必要があります関数のポインターを保存し、パラメータとして引き渡すことができます。クラスの非静的メソッドにポインターを取得することはできません。
ulong PositionGetTicket( int index // ポジションリスト内の番号 );
bool PositionSelectByTicket(
ulong ticket // ポジションのチケット
);
ネッティングシステム
この計算システムは、アカウント上では一度に1つのシンボルにつき1つのポジションのみ開くことができるということを念頭に置いています。
この時、どのようなアクションの結果、反対方向に取引が行われるかや、市場の注文や指値注文の実行の結果は重要ではありません。
以下に、0.5ロットのボリュームでのEURUSDの二つの買い取引の実行例を引用しました。
これらの取引の実行結果は、1ロットのボリュームの1つの共通ポジションになりました。
ヘッジングシステム
この計算システムはアカウントに、同じシンボルに対し反対方向のものを含む、複数の取引ポジションを持つことを可能にします。
取引シンボルに開いているポジションがあり、トレーダーが新しい取引を実行する(または指値注文が作動する)場合、新しいポジションが開かれます。既存のポジションは変化しません。
以下に、0.5ロットのボリュームでのEURUSDの二つの買い取引の実行例を引用しました。
これらの取引が実行された結果、2つの別個のポジションが開かれました。
新しい取引操作タイプ Close By
ヘッ ジングポジション計算のアカウントの為に、反対のポジションを閉じる新しいタイプの取引操作が追加されました。この操作によって、同じシンボルでの反対方
向の2つのポジションを同時に閉じることができます。もし相対するポジションが様々なロット数を持っている場合、2つのうちの1つの注文のみが開いたまま
残ります。このボリュームは、2つのクローズポジションのロット差と等しくなり、ポジションの方向とオープン価格は、クローズポジションのうちの(ボ
リューム的に)大きい方と等しくなります。
2つのポジションの単一のクローズと比較すると、相対クローズでは、トレーダーは1つのスプレッドを節約することができます。
相対ポジションのクローズ時に、『close by』のタイプの注文が設定されます。閉じられるポジションのチケットが、コメントで指定されます。相対ポジションのペアのクローズは、『out by』タイプの2つの取引によって行われます。両方のポジションのクローズの結果によって得られる取引の利益/損失のサイズは、1つの取引でのみ指定され ます。
class CAnimal { public: CAnimal(); // コンストラクタ virtual void Sound() = 0; // 純粋仮想関数 private: double m_legs_count; // 足の数 };<t0>ここでのSound()関数は、純粋仮想関数PURE(=0)の指定子で宣言されている為、純粋仮想となります。
class CAnimal { public: virtual void Sound()=NULL; // PUREメソッドは派生クラスでオーバーライドする必要があり、CAnimalクラス自体は抽象クラスになり、作成されません }; //--- 抽象クラスからの派生 class CCat : public CAnimal { public: virtual void Sound() { Print("Myau"); } // PUREはオーバーライドする必要があり、CCatクラスは抽象クラスではなく、作成することができます }; //--- 間違った使用例 new CAnimal; //『CAnimal』エラーは、コンパイラは「抽象クラスをインスタンス化できません」というエラーを出します CAnimal some_animal; // CAnimal』エラーは、コンパイラは「抽象クラスをインスタンス化できません」というエラーを出します //--- 正しい使用例 new CCat; // エラーはなく、CCatクラスは抽象クラスではありません CCat cat; // エラーはなく、CCatクラスは抽象クラスではありません抽象クラスの使用の制限
//+------------------------------------------------------------------+ //| 抽象基底クラス | //+------------------------------------------------------------------+ class CAnimal { public: //--- 純粋仮想関数 virtual void Sound(void)=NULL; //--- 関数 void CallSound(void) { Sound(); } //--- コンストラクタ CAnimal() { //--- 仮想メソッドの明示的な呼び出し Sound(); //--- 明示的ではない呼び出し(第三の関数を介した) CallSound(); //--- コンストラクタまたはデストラクタは常に自分の関数を呼び出す //--- 派生クラスでの呼び出された関数によるオーバーライドや仮想性に関わらず //--- もし、呼び出される関数が純粋仮想の場合、 //--- 呼び出しは重大なランタイムエラーをもたらします:『純粋仮想関数呼び出し』 } };しかしながら、抽象クラスのコンストラクタとデストラクタは、他のメンバー関数を呼び出すことができます。
typedef int (*TFunc)(int,int);これで、TFuncがタイプとなり、変数の関数ポインターを宣言することができます。
TFunc func_ptr;func_ptr変数に、以後の呼び出しの為に、関数のアドレスを保存することができます。
int sub(int x,int y) { return(x-y); } int add(int x,int y) { return(x+y); } int neg(int x) { return(~x); } func_ptr=sub; Print(func_ptr(10,5)); func_ptr=add; Print(func_ptr(10,5)); func_ptr=neg; // エラー: negはint (int,int)タイプを持っていません。 Print(func_ptr(10)); // エラー:二つのパラメータがある必要があります関数のポインターを保存し、パラメータとして引き渡すことができます。クラスの非静的メソッドにポインターを取得することはできません。
ulong PositionGetTicket( int index // ポジションリストの番号 );
bool PositionSelectByTicket(
ulong ticket // ポジションのチケット
);
新しい計算システムは、MetaTrader 4と同様です。トレーダーは、複数の取引の実行(部分的なものを含む)や、ストップリミット注文など、第五世代プラットフォームの全ての長所を使用することができます。
更新後すぐにヘッジングを使った取引を試すことができます。デモアカウントの開設時に、\"ヘッジングを使用する\"というオプションを有効にしてください。これは、ブローカーの取引サーバーが既に更新および設定されている場合、利用可能になります。
新しい計算システムは、MetaTrader 4と同様です。トレーダーは、複数の取引の実行(部分的なものを含む)や、ストップリミット注文など、第五世代プラットフォームの全ての長所を使用することができます。
更新後すぐにヘッジングを使った取引を試すことができます。デモアカウントの開設時に、\"ヘッジングを使用する\"というオプションを有効にしてください。これは、ブローカーの取引サーバーが既に更新および設定されている場合、利用可能になります。
MQL5マスターにチュートリアルビデオ『MQL5マスターでの取引ロボットの作成方法』のリンクが追加されました。この3分程のビデオをご覧いただき、1つのコード配列を書くことなく、取引ロボットを作成してみてください。