MetaTrader 5の何が新しくなったのか

ウェブプラットフォーム、デスクトップ版、モバイル版の更新履歴

23 10月 2015
MetaTrader 5プラットフォームの新バージョン build 1200:ティックヒストリーの取得とサービスの支払いが直に

ター ミナル

  1. マーケットウォッチにティックヒストリーが7追加されました。もし以前にティックチャートが、動作時間にターミナルに溜まった履歴しか表示してい なかったとしたら、これからは取引サーバーにある全てのティックヒストリーを利用することができます。通常の価格チャートでそうなっているように、不足し ている履歴があるので、それを取引サーバーからインストールする為に、オートスクロールを無効にし、マウスでティックチャートを過去の方へスクロールして ください。新しい機能は、価格変動の詳細チャートを最大限に受け取りたいトレーダーにとって有益なものになります。



    より深いティックヒストリーを自動で受け取る為には、 CopyTicks()の機能を使ってください。不足している履歴が取引サーバーにある場合、それを照会、およびインストールするように機能が変更されます。

  2. チャート上の『ワンクリック取引』のパネルのそばに、素早くマーケットデプスのオン/オフができるアイコンが追加されました。同様に、新しいホットキーAlt+Bでも使用できます。また、これはチャート内だけではなく、Market Watchウィンドウでも動作し、この際は、マーケットウォッチ内で選ばれたシンボルのマーケットデプスが開きます。




  3. コンピュータの性能とOSの記録が、クライアントターミナルに追加されました。例:
    2015.10.14 14:48:18.486	Data Folder: C:\Program Files\MetaTrader 5
    2015.10.14 14:48:18.486	Windows 7 Professional (x64 based PC), IE 11.00, UAC, 8 x Intel Core i7  920 @ 2.67GHz, RAM: 8116 / 12277 Mb, HDD: 534262 / 753865 Mb, GMT+03:00
    2015.10.14 14:48:18.486	MetaTrader 5 build 1190 started (MetaQuotes Software Corp.)
  4. コンピュータの性能とOSの記録が、クライアントターミナルに追加されました。例:

    • マーケットウォッチにシンボル数の表示がマーケットウォッチに、また総利用可能シンボル数が取引サーバーに追加されました。
    • 選択の為のスマートセレクションリストと新しいシンボル追加の列が追加されました。
    • 追加列では検索はシンボル名で行われるだけでなく、その記述やインターナショナル名でも検索されます。




  5. 数か国語での経済情勢カレンダーサポートが追加されました。
  6. 経済カレンダーに不足している国のアイコンが追加されました。
  7. マーケットウォッチのシンボル管理画面呼出の為のホットキーCtrl+Uが追加されました。
  8. 『ウィンドウ』メニューのコマンドによる、開いているチャートウィンドウの配列が修正されました。
  9. 強化認証使用の際に、ターミナルが時折、証明書ファイルを見つけられない不具合を修正しました。
  10. 時折、価格履歴の同期化ループが起こる不具合を修正しました。
  11. 機器がRequest Executionモードで取引をしている場合に、すでに開いているポジションのサイズを大きくした時、StopLoss/TakeProfitのレベルが無効化される不具合を修正しました。
  12. "Long only"モードの機器でロングポジションの際に、売り注文を出すことが可能かのチェックがマーケットデプスで修正されました。
  13. Trailing Stop機能の動作が修正されました。稀に保護されたStop Lossが、オープンポジションの為に誤って動く事がありました。
  14. 高解像度の画面での動作へのインターフェースの適応作業を続けています。
  15. MQL5プラグラムのデータに定期的に訴えているにも関わらず、履歴データが使われていないものとしてアンロードされる不具合を修正しました
  16. Windows 10での動作時のユーザーインターフェイスの要素の表示を修正しました。
  17. ユーザーインターフェイスの翻訳が更新されました。

マーケット

  1. MQL5マーケットの製品データベースの動作が改良および最適化されました。
  2. VPSでのターミナル使用による、MQL5.communityのアカウントを持たない購入が禁止されました。今後はターミナルの設定内でMQL5.communityのアカウントを表示する必要があります。ツール―オプション―コミュニティ
  3. 支払システムUnionPayでの直接の製品購入ができるようになりました。
  4. MQL5マーケットでの製品購入時のログが強化されました。


ホスティングとシグナル

  1. これからはバーチャルホスティングと取引シグナルへの購読に対して、支払システムを通じて直に支払うことができます。
    ホスティングの支払いの為に、MQL5.communityを開いたり、アカウントに入金しなくても大丈夫です。これからは、プラットフォームの支払いシステムの中から、すぐにサービスへのお支払が可能です。



    お客様に合ったシステムを選択し、支払いを行ってください。




    同様に、お客様に合った支払システムを選択していただくだけで、直にターミナルから、有料取引シグナル購読の手続きが行えます。




    必要な金額がお客様のMQL5.communityのアカウントに入金され、その後、そこから支払いが行われます。このようにして、ホスティングレンタル やシグナル購読の履歴を常に明瞭にすることができます。また、MQL5.communityのサービスに自身が行った全ての支払いを見ることができます。
  2. クライアントターミナルの32ビットバージョンでの動作時のバーチャルホスティング(移行を除く)の管理が追加されました。
  3. FTPによる公開許可に関係なく、バーチャルホスティングへのFTPエクスポート設定の移行が修正されました。

MQL5

  1. 新しい最適なコンパイラーが始動しました64ビットのプラットフォーム上のプログラムの実行が5倍まで加速しています。MQL5-プログラムは、最新バージョンのMetaEditorで再コンパイルする必要があります。.
  2. MqlTick構造のフォーマットが拡張されました。これからは、その中でティックのミリ単位の到来時間が伝達され、同様にどのようなティックのパラメータが変わったのかを確かめることができるフラッグがあります。
    struct MqlTick
      {
       datetime     time;          // 価格の最終更新時間
       double       bid;           // 現在のBid価格
       double       ask;           // 現在のAsk価格
       double       last;          // 最終取引の現在価格(Last)
       ulong        volume;        // 現在のLast価格の為の容量
       long         time_msc;      // ミリ秒単位での最終価格更新時間
       uint         flags;         // ティックフラッグ
      };
    全てのフラッグは、前回のティックと比べデータが変わったかどうかに関わらず、いつも全てのパラメータで埋められます。ティックヒストリーごとに前回の数 値を検索することなく、あらゆる瞬間の現在の価格状態をいつも見ることができます。例えば、ティックと共にBid価格だけ変わることができましたが、構造 体の中では新しい価格の他に、前回のAsk価格、容量など、他のパラメータも表示されます。現在のティックのデータとどう変わったかを知るためには、その フラッグを分析してください。

    • TICK_FLAG_BID - ティックがBid価格を変更した
    • TICK_FLAG_ASK  - ティックがAsk価格を変更した
    • TICK_FLAG_LAST - ティックが最終取引価格を変更した
    • TICK_FLAG_VOLUME - ティックが容量を変更した
    • TICK_FLAG_BUY - 買い取引の結果にティックが発生した
    • TICK_FLAG_SELL - 売り取引の結果にティックが発生した

    MqlTick構造体は2つのメソッドにて使用されます。

    • CopyTicks - メソッドは構造体の古いフォーマットを保っていません。ティックの古いフォーマットを使用する、以前にコンパイルされたEX5ファイルは、 CopyTicksの機能呼出時に、エラー4006を返します。(ERR_MQL_INVALID_ARRAY).
    • SymbolInfoTick - メソッドは構造体の古いフォーマットも、新しいフォーマットも保っています.

  3. MQL5: C++のようにパラメータ化されたクラスを作成することができるクラステンプレートが追加されました。これは、より多く抽出したり、一様に異なるクラスのオブジェクト操作の為に同じコードを使用することを可能にするものです。使用例:
    //+------------------------------------------------------------------+
    //|                                                    TemplTest.mq5 |
    //|                        Copyright 2015, MetaQuotes Software Corp. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2015, MetaQuotes Software Corp."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    //+------------------------------------------------------------------+
    //| クラステンプレートを指定                                               |
    //+------------------------------------------------------------------+
    template<typename T>
    class TArray
      {
    protected:
       T                 m_data[];
    
    public:
    
       bool              Append(T item)
         {
          int new_size=ArraySize(m_data)+1;
          int reserve =(new_size/2+15)&~15;
          //---
          if(ArrayResize(m_data,new_size,reserve)!=new_size)
             return(false);
          //---
          m_data[new_size-1]=item;
          return(true);
         }
       T                 operator[](int index)
         {
          static T invalid_index;
          //---
          if(index<0 || index>=ArraySize(m_data))
             return(invalid_index);
          //---
          return(m_data[index]);
         }   
      };
    //+------------------------------------------------------------------+
    //| ポインター配列は                                                    |
    //| デストラクタで保存されたオブジェクト、ポインターを削除します。                   |
    //|                                                                  |
    //| クラステンプレートのTArrayからの継承にご注意ください。                       |
    //+------------------------------------------------------------------+
    template<typename T>
    class TArrayPtr : public TArray<T *>
      {
    public:
       void             ~TArrayPtr()
         {
          for(int n=0,count=ArraySize(m_data);n<count;n++)
             if(CheckPointer(m_data[n])==POINTER_DYNAMIC)
                delete m_data[n];
         }
      };
    //+------------------------------------------------------------------+
    //| クラスを指示し、そのオブジェクトへのポインターは配列に保管されます。             |
    //+------------------------------------------------------------------+
    class CFoo
      {
       int               m_x;
    public:
                         CFoo(int x):m_x(x) { }
       int               X(void) const { return(m_x); }
      };
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
    TArray<int>     ExtIntArray;   // TArrayテンプレートをインスタンス化 (int型によってTArrayテンプレートを専門化する)
    TArray<double>  ExtDblArray;   // TArrayテンプレートをインスタンス化 (double型によってTArrayテンプレートを専門化する)
    TArrayPtr<CFoo> ExtPtrArray;   // TArrayPtrテンプレートをインスタンス化 (CFoo型によってTArrayPtrテンプレートを専門化する)
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
    //--- 配列にデータを入れる
       for(int i=0;i<10;i++)
         {
          int integer=i+10;
          ExtIntArray.Append(integer);
          
          double dbl=i+20.0;
          ExtDblArray.Append(dbl);
          
          CFoo *ptr=new CFoo(i+30);
          ExtPtrArray.Append(ptr);
         }
    //--- 配列の内容を出力
       string str="Int:";
       for(int i=0;i<10;i++)
          str+=" "+(string)ExtIntArray[i];      
       Print(str);   
       str="Dbl:";
       for(int i=0;i<10;i++)
          str+=" "+DoubleToString(ExtDblArray[i],1);
       Print(str);   
       str="Ptr:";
       for(int i=0;i<10;i++)
          str+=" "+(string)ExtPtrArray[i].X();      
       Print(str);
    //--- TArrayPtr<CFoo>のオブジェクトのデストラクタで削除されるので、newを通して作成されたCFooのオブジェクトは削除しなくても良い。  
      }
    実行結果:
    TemplTest (EURUSD,H1)    Int: 10 11 12 13 14 15 16 17 18 19
    TemplTest (EURUSD,H1)    Dbl: 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0
    TemplTest (EURUSD,H1)    Ptr: 30 31 32 33 34 35 36 37 38 39

  4. 新しい操作*と&が追加され、参照による変数の受信や変数への参照の受信が可能になりました。
  5. オーバーロード形式の機能ObjectsDeleteAllが追加されました。チャートウィンドウ内で指定されたタイプの全てのオブジェクトを名前の接頭辞によって削除します。
    int  ObjectsDeleteAll(
       long           chart_id,   // チャートID
       const string     prefix,   // オブジェクト名の接頭辞
       int       sub_window=-1,   // ウィンドウインデックス
       int      object_type=-1    // 削除の為のオブジェクトタイプ
       );

  6. ObjectGetValueByTime機能の動作が修正されました。 以前、時折(例えば水平トレンドラインのため)チャート内の時間ごとの価格の数値が誤って戻ることがありました。
  7. サーバーに履歴データがない場合の、Copy*機能の動作が修正されました。 以前はサーバーにデータがない場合に、これらの機能の呼出は、制御が戻る前に30~50秒の遅滞を起こすことがありました。
  8. MQL5のスタンダードライブラリにいくつかの改良がくわえられました。
  9. スタンダードライブラリのドキュメントがドイツ語、フランス語、中国語、トルコ語、スペイン語、ポルトガル語に翻訳されました
  10. MQL5の日本語版ドキュメントが追加されました。

Tester

  1. ストラテジーテスターで実行の為のプログラム選択がとても便利になりました。アドバイザーとインディケーターがあるディレクトリと適合するツリー形式でリストが表示されます。




  2. 可視テスト時、クライアントターミナルに応じたいくつかのインディケーターの表示が導入されました。
  3. ストラテジーテスターを経由してMQL5プログラムのデバッグ時に、レバレッジとタイムフレームチャートが出る不具合を修正しました。
  4. ヒストリーデータにおけるテスト時のインディケータのデバックが修正されました。
クラッシュログで報告された不具合を修正しました。

ドキュメントが更新されました。

更新はLiveUpdateシステムを介して利用することができるようになります。

17 9月 2015
iPhone版MetaTrader 5 build 1167
  1. 分析オブジェクトを使った作業がより快適になりました。これからは、これらのオブジェクトは現在のチャート上だけに配置されます。その他のシンボルで表示をさせるためには、設定をご利用ください。最適なスペースの利用の為に、不必要な時間軸でのオブジェクトの表示をオフにしてください。
  2. 期間の区切りをオンにし、チャート上でより高い時間軸の境界線をご覧ください。
  3. iOS 9との互換性の向上。
28 8月 2015
iPhone版MetaTrader 5 build 1165
  1. ニュース機能の改善。ニュースのカテゴリーを選択し、あなたの興味のあるものだけを読むことができます。好きなニュースをお気に入りに追加し、いつでもそれを読めるようにすることができます。ニュースを表題で検索することができます。
  2. これからは、iPhoneではチャートからのワンクリックで取引を実行することができます。iPhoneを水平方向に回転させ、クイックトレードのパネルを開いてください。

    MetaTrader 5 iOS build 1165

  3. 該当する資産をデポジットの通貨へ変換するCollateralツールのポジションを閉じるための機能が追加されました。
  4. 多数の修正と改良。
iOS版MetaTrader 5で新しい機能を使用する為に、アプリケーションを更新してください。
26 8月 2015
Android版MetaTrader 5 build 1164
  1. テクニカル分析の為の24の新しいグラフィックオブジェクト(ライン、チャネル、ギャンとフィボナッチツール、エリオット波動、図形)が追加されました。
  2. 新しいAndroid版MetaTrader 5: 24の分析オブジェクトと2要素認証OTP


  3. 取引アカウントへの接続の為の2要素認証(ワンタイムパスワード、OTP)サポートが追加されました。
  4. 様々な修正と改善。
24 6月 2015
Android版MetaTrader 5 build 1130
  1. ブローカーの技術サポートサービスと接続するための内部メールが追加されました。
  2. アプリケーション開発者の技術サポートサービスへ操作ログを送信する機能が追加されました。
  3. 様々な修正と改善。
ニュースの全文を読むにはこちらをご覧ください。
3 6月 2015
MetaTrader 5ビルド622:マーケットからロボットをより迅速かつ簡単に購入

マーケットアプリケーションをMetaTrader 4/5端末から登録なしで直接購入することができるようになりました。「購入」をクリックし、希望する支払い方法を選択するだけです。


支払いシステムのWebページにリダイレクトされ、購入が完了します。既製のロボットや指標の支払いにはPayPal、WebMoney、Neteller、または銀行カードでの支払いを選択できます。


購入した商品が自動的にアカウントにリンクされるように、購入後はMQL5.comアカウントを登録することをお勧めします。MQL5アカウントを使用すると、製品をアップデートして複数のコンピュータにインストールできます。さらに、MQL5.communityアカウントは、成功したトレーダーの取引をコピーするための取引シグナル、継続的オペレーションのための仮想ホスティング、 開発者から独自のロボットを注文するためのフリーランスなどの、MetaTraderプラットフォームのための他の多数のサービスへのアクセスを提供します。

これで取引ロボットを手に入れる最も簡単で簡単な方法がお分かりかと思います。マーケットでは5000以上のさまざまなMetaTraderアプリケーションがあなたを待っています。あなたはそれらを選択して購入するだけです。


3 6月 2015
iPhone版MetaTrader 5 build 1127
  1. その他のツールによる建玉を確保する為に資産として使用することができる非取引ツールの特別なタイプのサポートが追加されました。このような資産は建玉として表示されます。これらはアカウントでの取引操作量を増加させることを可能にするフリーマージンのサイズを大きくします。
  2. インターフェイスにヒンディー語が追加されました。
  3. 様々な修正と改善。
22 5月 2015
MetaTrader 5ビルド1150:マーケットでの簡単な購入、履歴でのデバッグ、取引のフィード

マーケット

  1. 新しい『直接』購入のメカニズムをご紹介します。マーケットでのトレードロボットまたはインディケータの購入が更に簡単になりました。購入の為にMQL5.communityのアカウントを作成する必要もありません。

    ワンステップで購入
    購入を完了する為に、MQL5.communityに行き、アカウントに入金をする必要はありません。これからは、プラットフォームの支払いシステムから、直接製品のお支払が可能です。様々な支払いシステムを参照することなく、マーケットでの購入履歴を明瞭にするために、初めにあなたのMQL5.communityのアカウントに必要な額が入金され、それからアカウントから製品への支払いが行われます。

    このように、いつでも自分の全支払い履歴をMQL5.communityアカウントを通じて確認することができます。




    登録せずに購入
    これからは、MQL5.communityのアカウントがなくてもお買い物をすることができます。『購入する』ボタンを押すだけで、支払いシステムのうちの一つを通じて、製品購入の支払いを行えます。



    その後、支払い手続きを完了する、支払いシステムのページへと飛びます。



    購入後にMQL5.communityのアカウント登録を行うことを強くお勧めします。これを行うことで、あなたが購入した製品が自動的にアカウントに接続されます。それによって、他のコンピュータで製品を更新したり、インストールすることができるようになります。

MetaEditor

  1. ヒストリカルデータ上でのエキスパートアドバイザやインディケータのデバッグ機能が追加されました。以前は、デバッグはリアルタイムモードで更新されるチャート上でのみ行うことができましたが、

    これからは、プログラムの動作を関心のある履歴上で確認することができます。デバッグは、ストラテジーテスターのビジュアルテストモードで行われます。プログラムは、ティックシーケンスのテスターでモデル化されたものに基づいて作成されたチャート上で起動します。

    MetaEditorの設定で、デバッグに必要なパラメータ(通貨ペア、タイムフレーム、インターバル、実行モード、ティック作成、初期証拠金、レバレッジ)を設定してください。これらのパラメータが、ビジュアルテストに適用されます。



    プログラムのコードでブレークポイントを配置し、その後ヒストリカルデータでデバッグを起動してください。



    この後、ビジュアルモードが起動し、デバッグのプロセスが開始します。




バーチャルホスティング

  1. 『バーチャルホスティング』サービスに、多くの改良と修正が加えられました。

    多くの変更事項は、LinuxとMac OSのコンピュータ上のWineの動作に関わるものでした。これからは、バーチャルサーバーは正常に割り当てられ、通常モードで利用することができます(移行の実行、リソース消費の監視、ログの参照)。


    操作ログにも変更が加えられました。非常に多くの記録がリクエストされた場合、指定された期間の最初の記録の部分のみロードされます。これはログが膨大な場合の、パフォーマンスの低下を防ぐものです。これからは、操作ログのより後の記録をダウンロードする為に、リクエストの日付を変える必要はありません。参照画面で最後の行を選択し、PgDnキーを押してください。




取引ターミナル

  1. その他の商品による未決ポジションを確保する為に資産として使用することができる、非取引商品の特別なタイプのサポートが追加されました。例えば、トレーダーは物理的に一定量の金を証拠金で持ち、それを未決ポジションの担保として使用することができます。

    このような資産は、未決ポジションとして表示され、価格はContract size×Lots×Market Price×Liquidity Rateの式で求められます。

    • Contract size - 契約サイズ
    • Lots - ロットボリューム
    • Market Price - 商品の現在の市場価格
    • Liquidity Rate - 流動性比率 - ブローカーが担保として使用を許可している資産の割合


    資産(Assets)は、自己資本(Equity)に加えられ、口座上の取引操作量を増加させるフリーマージン(Free Margin)サイズを増加させます。

    このように、様々なタイプの担保を持つ口座を作成できるようになりました。


    引用した例では、トレーダーは現在の市場価格では1210.56米ドルの価値を持つ1オンスの金を持っています。この数値は自己資本とフリーマージンに加えられたものです。このように、トレーダーは残高がゼロの状態でも、取引を続けることができます。

  2. 新しいマーケットデプスは、ティックチャートとチャート上の取引フィード(Time&Sales)を備えています。

    これからは、実際の取引価格が中継される株式商品の為に、マーケットデプスはティックチャートを表示します。このチャートでは、取引所で締結した全ての取引がマークされます。

    • 赤い丸ー売り取引
    • 青い丸ー買い取引
    • 緑の丸ー取引種別が定義されていない。取引所が取引種別を中継していない場合に使用されます。この場合、種別はAskとBid価格に対する取引価格で判別されます。買い - Ask価格(またはそれ以上)で取引が行われた場合。売り - Bid価格(またはそれ以下)で取引が行われた場合。取引価格がBidとAskの間にある場合、種別は未定義とみなされます。

    円のサイズが大きければ大きいほど、決済量も大きくなります。取引量は、ティックチャートの下のヒストグラムとしても表示されます。



    上部と下部に現在の買いと売りの総量が表示されます。

  3. 商品選択ダイアログに取引銘柄の期日を表示する欄と、期限切れの商品を非表示にするオプションが追加されました。また、期限が切れた契約を現在のものへ自動で変更する機能が追加されました。



    よりコンパクトに表示する為に、全ての期限切れの銘柄が非表示にされます。これは特に先物市場で取引をする際に便利です。『最終取引日』のパラメータで定義される期限切れの銘柄は、アクチュアルではないとみなされます。この日付は銘柄一覧の『失効』の列に表示されます。全ての銘柄を参照するには、『期限切れ契約を表示』オプションを有効にしてください。

    利便性の向上の為に銘柄リストが、自動でソートされます。

    • 始めに期限なしの銘柄
    • 直近の日付から始まる期限有りの銘柄
    • 直近の期限の切れたものから始まる期限切れの銘柄
    • アルファベット順

    期限切れの銘柄を現在のものに変更する為に、『気配値表示』ウィンドウのコンテキストメニューの『自動削除』オプションを使用します。



    ターミナルの再起動時に、期限切れの銘柄は非表示になり、その場所に最もアクチュアルなものが追加されます。例えば、期限の切れた先物契約LKOH 3.15が、次の契約の同じ原資のKOH 6.15に置き換えられます。

    この時、エキスパートアドバイザが起動されていない場合にのみ、開いているチャートに対応する銘柄の置き換えが起こります。

  4. ポジションの有無やロングポジションの配置に応じた、マーケットデプスの取引ボタンの状態の更新が修正されました。ポジションがない場合、Closeボタンは非アクティブになります。ショートポジションを持つことが禁止されている場合、Sellボタンは非アクティブになります。

  5. インターフェースの高解像度の画面(4K)での動作の適応作業を続けています。
  6. 取引ボリュームが最小値未満の時、Request Executionモードで決済するポジションボリュームのチェック時のエラーが修正されました。
  7. いくつかのケースで、1つのディレクトリからいくつかのターミナルを起動することができたエラーを修正しました。
  8. 様々な言語での経済指標カレンダーのサポートと自動フィルタリングが追加されました。フィルタリングはターミナルのインターフェイス言語によって行われます。
  9. 操作ログビューアに、操作ログの出力記録による検索機能が追加されました。



    ワード/フレーズの検索は、出力した操作ログの記録によって行われます。
  10. クライアントターミナルにタイ語の翻訳が追加されました。
  11. クライアントターミナルのヒンディー語の翻訳が更新されました。

MQL5

  1. 新しいGetMicrosecondCount関数が追加されました。この関数はMQL5プログラムの動作開始時から経過したマイクロ秒数を返します。
    ulong  GetMicrosecondCount();
    この関数は、追加のプログラムの実行プロファイルや、『ボトルネック』を識別する為に使用することができます。

  2. ENUM_OPENCL_PROPERTY_INTEGER列挙に、バイト単位でのOpenCLバッファの実際のサイズを返すCL_BUFFER_SIZEチャートプロパティが追加されました。プロパティはCLGetInfoInteger関数を使用して取得することができます。
  3. WebRequest関数のエラー通知が修正されました。関数の使用のエラー時に、result配列はエラー記載を含みます。
  4. マクロスのコンパイル時のエラー群を修正しました。
  5. ソート機能とrraySort、ArrayBsearch、ArrayMinimum、ArrayMaximum配列内の検索は、多次元配列を使用して動作します。ソートと検索は、配列の最初の(ゼロの)インデックスでのみ行われます。以前はこれらの関数は、一次元配列でのみ動作します。

Tester

  1. MQL5:ビジュアルテストの動作にいくつかの修正と改良が加えられました。ツールパネルを介したテストのスピード調整がよりスムーズになりました。

クラッシュログで報告された不具合を修正しました。

ドキュメントが更新されました。

LiveUpdateシステムを介して更新されます。

1 5月 2015
iPhone版MetaTrader 5 build 1105
  1. 64ビットプロセッサのサポートが追加されました。
  2. 内部チャットの最適化:メッセージの同期化の改善とデザインが更新されました。
  3. 素早いプログラムの使用開始の為の匿名のデモアカウントを作成する機能が追加されました。アカウントの開設は、登録データを記入することなく、ワンクリックで行うことができます。
  4. ニュース機能の改善:言語の自動フィルタリング、ニュース表現の改善。
  5. 取引リクエスト送信速度の向上。
  6. チャート上でAskラインを表示する機能が追加されました。
  7. 仮想ホスティングの通知を取得するための、個別のメッセージカテゴリーが追加されました。
  8. ユーザインターフェイスに、タイ語、ベトナム語、マレー語、ウクライナ語の翻訳が追加されました。
  9. 多数の修正と改良。

これらの変更点をご評価ください。そしてiOS版MetaTrader 5を今すぐ更新してください。

20 3月 2015
MetaTrader 5 Platform Update Build 1100: Faster Testing and Optimization of Expert Advisors

Tester

  1. A status of connection to MQL5 Cloud Network is now displayed in the Agents Manager. This allows users to easily check if they can receive tasks from the cloud computing network after they install agents.


    A status of connection to MQL5 Cloud Network


  2. Some improvements and bug fixes have been made in the operation of the Strategy Tester. Time spent on intermediate preparatory operations and network latency has been significantly reduced. Testing and optimization are now faster in all operating modes: working with local testing agents, with a farm of agents in the local network and using MQL5 Cloud Network.

Trading Terminal

  1. Added display of the number of unread emails in the "Mailbox" tab of the Toolbox window.


    Added display of the number of unread emails


  2. The Navigator window now contains the list of Expert Advisors running on the active trading account. In addition to the Expert Advisor name, a chart on which the EA is running is specified in the list. An icon indicates whether the EA is allowed to trade.


    The Navigator window now contains the list of Expert Advisors running on the active trading account


    The context menu contains commands for enabling or disabling automated trading for any of the Expert Advisors, as well as for viewing its properties or removing it from the chart.
  3. Improved accuracy of the algorithm for determining access points available for connection to a trading server.
  4. Fixed an error that could occasionally clean the database of client accounts when a terminal was reinstalled over an existing one.
  5. The terminal interface has been further adapted for high resolution screens (4K).

Market

  1. Fixed updating of the MQL5 account balance after purchasing or renting a product.

Virtual Hosting

  1. Fixed migration of custom indicators to the virtual hosting environment.
  2. Fixed updating of the virtual hosting status in the Navigator window.

MQL5

  1. Fixed errors which could occasionally interfere with the optimization of Expert Advisors in MQL5 Cloud Network.
  2. Fixed call of OnDeinit when deleting an Expert Advisor using the ExpertRemove function during testing. Previously, under the conditions described the OnDeinit event was not called.
  3. Fixed errors in use of resources in EX5 libraries.
  4. Fixed errors in the analysis of macros.

Fixed errors reported in crash logs.

Updated documentation.

The update is available through the LiveUpdate system.

16 2月 2015
MetaTrader 5プラットフォームアップデート ビルド1085

MetaTrader 5プラットフォームの変更が発表されました。この更新には以下の変更が含まれます。

MetaTrader 5クライアントターミナル ビルド1085
  1. ターミナル:新しい仮想ホスティングサービスが利用可能になりました。取引口座の仮想サーバーをクライアントターミナルからレンタルすることができるようになりました。取引サーバーとの一貫した接続と、エキスパートアドバイザーとコピー取引のための中断のないコンピューター操作を提供することがさらに容易になりました。
    仮想サーバーは、メタクオーツ・ソフトウェア社のパートナー企業によってホストされています。
    仮想サーバーの割り当て
    仮想サーバー上で仮想端末を受けとるには、必要な取引口座を使用して接続し、コンテキストメニューで"Register a Virtual Server"(仮想サーバーの登録)コマンドを実行します。




    Virtual Hosting Wizard(仮想ホスティングウィザード)ウィンドウが表示され、仮想ホスティングネットワークの仕組みを示します。仮想サーバーを取得するプロセスは、3つの手順で構成されます。まず、移行の準備方法が説明され、その後、ブローカーの取引サーバーに対して最小限のネットワーク遅延で最も近い仮想サーバーを選択します。



    MQL5.community登録ユーザーに提供されている1日間の無料ホスティングまたは提供されているサービスプランの1つを選択することが可能です。最後に、目標に応じてデータ移行モードを選択します。

    • エキスパートアドバイザー/指標と取引コピーを同時に開始する場合には、完全な移行が必要です。
    • シグナル購読が必要でない場合は、only Expert Advisors and indicators(エキスパートアドバイザーと指標のみ)。
    • only trade copying(取引コピーのみ)の場合は、シグナルのコピー設定(チャートやプログラムなし)のみが移行されます。

    移行モードを選択したら、すぐに"Migrate now"(移行)をクリックして仮想サーバーを起動することができますが、起動は後でいつでもできます。

    移行の準備
    仮想端末を起動する前に、チャート、起動された指標、エキスパートアドバイザー、シグナルコピーパラメータ、端末設定などのアクティブな環境を準備する必要があります。

    • チャートと気配値表示 - 気配値表示から不要な取引商品をすべて隠してトラフィックを減らします。不必要なチャートを閉じます。端末の設定で「ウィンドウ内の最大バー数」の必要な値を指定し、端末を再起動します。
    • 指標とエキスパートアドバイザー - 必要なEAと指標をチャートに添付しました。マーケットで購入されてチャート上で使われた製品も、移行中に移動されます。機能性は失われず、利用可能なアクティベーションの回数は減少しません。指標とエキスパートアドバイザーの外部パラメータはすべて正しく設定する必要があります。
    • 電子メール、FTP、およびシグナル - エキスパートアドバイザーが電子メールを送信したり、FTP経由でデータをアップロードしたり、シグナル取引をコピーする場合は、必要な設定をすべて指定してください。コミュニティタブでMQL5.communityアカウントの正しいログインとパスワードを設定してください。これはシグナルのコピーに必要です。
    • 取引とシグナルコピーの許可 - 仮想端末では、自動取引は常に許可されます。シグナルを操作するには、シグナルセクションでコピーパラメータを設定します。
    • WebRequest - 仮想端末で動作するプログラムがHTTPリクエストを送信するためにWebReqest()関数を使用する場合は、エキスパートアドバイザー タブをクリックします。


    移行
    移行とは現在のアクティブな環境をクライアント端末から仮想端末に移すことです。
    移行はクライアント端末の各同期の間に実行されます。同期は常に一方向のプロセスです。クライアント端末の環境は仮想端末に移動されますが、その逆はありません。仮想端末のステータスは、端末およびエキスパートアドバイザーのログと仮想サーバの監視データを要求することで監視できます。
    同期を実行するには、アカウントのコンテキストメニューを開いて移行タイプを選択します。




    したがって、チャートの数と銘柄の一覧、起動されたプログラムとその入力パラメータのセット、端末の設定、シグナル購読はいつでも変更できます。
    移行を実行すると、すべてのデータがクライアント端末のログに記録されます。


    同期の後、仮想端末のメインジャーナルを開き、実行されたアクションを調べます。




    仮想端末の操作
    レンタルされた仮想サーバーのステータスは、クライアント端末からも簡単に監視できます。コンテキストメニューで「詳細」コマンドを実行します。



    情報は4つのタブで表示されます。

    • Details - 仮想サーバー自体と端末のアクティブな環境に関する情報を提供します。
    • CPU Usage - CPU使用率グラフ(%)
    • Memory Usage - メモリ使用量グラフ(Mb)
    • Hard Disk Usage - ハードディスク使用率グラフ(Mb)

  2. マーケット: MetaTraderマーケット製品を1ヶ月、3ヶ月、6ヶ月、または12ヶ月間レンタルすることが可能になりました。これは、開発者と購入者の両方に否定できない利点を提供します。開発者は、潜在的な購入者が製品を安価で試せるようにすることで、ユーザーの信頼を大幅に向上させることができ、購入者にとって、レンタルは購入前に製品を評価する別の機会です。デモバージョンとは異なり、レンタルされた製品には有効期間以外の制限はありません。

    マーケットの開発者は、自分の製品がレンタル可能であるかどうかを決めてレンタル料を設定することができます。




    開発者は、無制限に使用できるフルライセンスのみを販売してレンタル用の製品を提供しないことを選択することができます。

    製品のレンタルが有効になっている場合、そのWebページにレンタル期間と価格のオプションが表示されます。「レンタル」をクリックし、レンタル期間を選択します。



    レンタル期間が過ぎると、ユーザーはレンタルを更新したり、フルライセンスを購入することができます。

  3. ターミナル:「画像として保存」コマンドやMQL5のScreenshot()関数を使用してチャートのスクリーンショットを保存するときの"MetaTrader 5, @ 2001-2015 MetaQuotes-Software Corp."著作権通知を削除しました。これによってスクリーンショットの配布が簡略化されます。




  4. ターミナル:ゲーターオシレーターテクニカル指標の計算とパラメータ管理を修正しました。
  5. ターミナル:取引サーバーへの接続ポイントのスキャンを改善しました。
  6. ターミナル:頻繁なLiveUpdate操作エラーが修正しました。
  7. MQL5:ENUM_SIGNAL_BASE_STRING列挙にシグナルプロバイダーの預金通貨であるSIGNAL_BASE_CURRENCYを追加しました。このプロパティは、SignalBaseGetString関数を介して受け取ることができます。
  8. MQL5:継承の際に親クラスメンバにアクセスする権限を決定する際のコンパイルエラーを修正しました。
  9. MQL5:パラメータの不変性によるクラスメソッドのオーバーロード時のコンパイルエラーを修正しました。
  10. テスター:MQL5クラウドネットワークエージェントの作業を最適化しました。エージェントは、タスクを配布するクラウドネットワークサーバーとのいわゆるウォームアップに時間を費やすことなしに、常にタスクを受けて実行する準備ができているようになります。これにより、MQL5クラウドネットワークを介して最適化が高速化されます。
  11. テスター:ストラテジーテスターのローカルエージェント、遠隔エージェント、クラウドエージェントのプレゼンテーションを改善しました。
  12. クラッシュログで報告されたエラーを修正しました。
  13. ドキュメントを更新しました。


Android版MetaTrader 5ビルド1052

Android版MetaTrader 5の新しいバージョンがGoogle Playで利用可能になりました。いくつかの修正と安定性の向上が特徴です。すぐに分析対象とメッセージングシステムを追加する予定です。

アプリケーションはhttps://download.mql5.com/cdn/mobile/mt5/android?hl=en&utm_source=www.metatrader5.comからダウンロードできます。


アップデートはLiveUpdateシステムから利用できます。

16 1月 2015
MetaTrader 5プラットフォーム更新ビルド1045:新しいWebRequest

取引ターミナル

  1. MetaTrader 5プラットフォームでの仮想ホスティングサポートの準備:仮想ホスティングサービスでは、MetaTrader 5から直接、中断することなく24時間稼働する端末をレンタルすることができます。その主要機能の1つは、ブローカーのサーバーに最も近いサーバーを選択してネットワーク待ち時間を最短にすることです。




  2. テスターエージェントは64ビットシステムでのみ動作するようになりました。この決定は、IT業界の発展に従う必要があることによって推進されました。新しいテクノロジーに切り替えることで、コンピューティングパフォーマンスが向上し、MQL5クラウドネットワークのさらなる開発が可能になります。



    プラットフォームコンポーネントの変更:

    • 遠隔エージェントとMQL5クラウドネットワークエージェントは、32ビット端末では使用できなくなりました。エージェントリストの代わりに、「64ビットバージョンのみで利用可能です」というメッセージが表示されます。
    • MetaTester 5エージェントマネージャは64ビット版でのみ利用可能で、エージェントは64ビットシステムにのみにインストールすることができます。


  3. 端末設定で言語リストが手動で指定されている場合の言語別のニュースフィルタリングが修正されました。
  4. 多数の注文との作業を最適化しました。
  5. 取引リクエストの送信を高速化しました。
  6. インターフェースを、フルHD以上の高解像度画面に適応しました。

MQL5言語

  1. 新しい形のWebRequest関数を追加しました。
    int WebRequest (string method, string url,string headers,int timeout, const char &data[], int data_size,char &result[], string &result_headers)
    この関数を使用すると、さまざまなWebサービスとやりとりするためのより柔軟なメカニズムを提供する、HTTP要求ヘッダーの内容を明示的に作成できます。

  2. 新しい取引アカウントのプロパティを追加しました。これらのプロパティはAccountInfoDouble関数を通して使用できます。

    • ACCOUNT_MARGIN_INITIAL - 口座の現在の当初証拠金
    • ACCOUNT_MARGIN_MAINTENANCE - 口座の現在の維持証拠金
    • ACCOUNT_ASSETS - 口座の現在の資産
    • ACCOUNT_LIABILITIES - 口座の現在の負債
    • ACCOUNT_COMMISSION_BLOCKED - ブロックされている口座の現在の手数料

  3. 新しい取引銘柄プロパティを追加しました。

    • SYMBOL_OPTION_STRIKE - オプション契約の行使価格。このプロパティはSymbolInfoDouble関数で受け取られます。
    • SYMBOL_BASIS - 取引銘柄の原資産名。このプロパティはSymbolInfoString関数で受け取られます。
    • SYMBOL_OPTION_MODE - オプションモード。値はENUM_SYMBOL_OPTION_MODE列挙を使用して設定されます。 
    • SYMBOL_OPTION_RIGHT - オプションライト。値はENUM_SYMBOL_OPTION_RIGHT列挙を使用して設定されます。このプロパティはSymbolInfoInteger関数で受け取られます。

  4. SymbolInfoMarginRate関数を追加しました。これは、取引注文の種類と方向に応じて当初証拠金および維持証拠金の比率を受け取ります。
  5. ストラテジーテスターでのChartIndicatorName関数の操作を修正しました。
  6. ##を使用した名前置換を含むマクロのコンパイルを修正しました。
  7. 新しいファイルを開くときに発生するファイル終わりの指標のリセットエラーを修正しました。

クラッシュログで報告されたエラーが修正されました。

ドキュメントを更新しました。

更新はLiveUpdateシステムを介して利用できるようになります。

12 12月 2014
MetaTrader 5 Platform Update Build 1035: Option Strategy Builder and Access to Ticks

Trading Terminal

  1. Implementation of functions for trading options is currently underway. The Option Strategy Builder has been added. It helps users combine different options in one investment portfolio, and to assess the possibilities and potential risks.



    The Builder is easy to use: a trader chooses the option based on the expiration date and the underlying asset, and then selects one of the more than 30 available strategies. The Builder displays the appropriate combination of options and calculates evaluation parameters - the so-called Greeks. The profit/loss chart and the Greeks based chart appear at the bottom of the window.

    In addition to a large number of built-in strategies, traders can create and save their own strategies for later use.

  2. Added display of the number of newsletters received in the last 24 hours.




  3. Optimized and accelerated synchronization of large history of trading orders and deals.
  4. Fixed launch of several custom indicators in one chart subwindow.
  5. Fixed recalculation of Bill Williams Market Facilitation Index for a changed chart period.
  6. Fixed minimization of the "Toolbox window".
  7. Fixed generation of the account state report published over FTP.
  8. Updated translation of user interface into German.
  9. Added translation of user interface into Greek and Uzbek.

MQL5 Language

  1. New function for working with the tick history CopyTicks. The function is used for receiving an array of ticks accumulated by the terminal for the current session. The depth is limited to the last 2000 ticks.

    The new function expands the possibilities for developing scalping trading robots. The OnTick function does not handle every tick, it notifies the Expert Advisor of market changes. It can be a batch of changes: the terminal can simultaneously make a few ticks, but OnTick will be called only once to notify the EA of the latest market state. The CopyTicks function allows you to receive and analyze all the ticks.
    int  CopyTicks(
       const string      symbol_name,           // Symbol name
       MqlTick           &ticks_array[],        // the array where ticks will be placed
       uint              flags=COPY_TICKS_ALL,  // the flag that defines the type of received ticks
       ulong             from=0,                // the date starting from which ticks will be received, specified in milliseconds since 01.01.1970
       uint              count=0                // the number of latest ticks that should be received
       );
    Ticks can be requested by the date if the 'from' value is specified, or based on their number using the 'count' value. If none of the parameters are specified, all available ticks are received, but not more than 2000. Ticks can also be requested based on their type using the 'flags' parameter. Available values:

    • COPY_TICKS_ALL - all ticks.
    • COPY_TICKS_INFO - only information ticks (Bid and Ask).
    • COPY_TICKS_TRADE - only trade ticks (Last and Volume).

  2. Added an option for overloading template functions using array parameters.
  3. Added an option for overloading a method based on its constancy.
  4. Added generation of the CHARTEVENT_MOUSE_MOVE event (in the OnChartEvent entry point) at the right mouse button click on the chart.
  5. Fixed the functioning of the Switch operator if the case condition contains a negative value.
  6. Improved calculation accuracy in functions ObjectGetValueByTime() and ObjectGetTimeByValue(), used for receiving the price value for the specified object time and vice versa - time value for a price.

Strategy Tester

  1. MQL5 programs purchased in MetaTrader AppStore can now be tested and optimized on the MQL5 Cloud Network agents and on remote agents.
  2. Fixed calculation of swaps in points for positions with less than 1 lot.
  3. Fixed check and normalization of Stop Loss and Take Profit levels when opening a position for the trading instrument with "Market Execution" type.
  4. Fixed behavior of the ObjectGetValueByTime function. In some cases, the behavior of the function in the tester could be different from its behavior in the terminal.

MetaEditor

  1. Fixed MetaEditor crash when debugging and profiling looped programs.
  2. Added translation of user interface into Greek and Uzbek.

Fixed errors reported in crash logs.

Documentation has been updated.

The update is available through the LiveUpdate system.

26 11月 2014
Android版MetaTrader 5 build 990
  1. Android 4.0以降の為の更新インストール可能な他のデバイスの為のバージョンがありますが、そのサポートは終了します。
  2. Google Style Guideの推奨に従い、アプリケーションのデザインを完全に再設計しました。
  3. マーケット・デプスが追加されました。
  4. ニュースが追加されました。
  5. チャートの時間軸にW1とMNが追加されました。
  6. 操作ログが追加されました。操作ログでは全ての出来事と取引操作の情報が記録されます。
  7. ギリシャ語、ポルトガル語が追加され、チェコ語の翻訳が更新されました。
  8. 不具合を修正しました。

ご自身のAndroidデバイスで、モバイルMetaTrader 5の新しい機能をぜひご評価ください。Google Playから私たちのアプリケーションをダウンロードしてください!

9 11月 2014
iPhone版MetaTrader 5 build 991

iOS 8との互換性が追加されました。

31 10月 2014
MetaTrader 5 Trading Terminal build 1010: New Signals, Market and Options
Trading Signals
  1. The showcase of signals has been completely redesigned. New features have been added, the Signals service design and usability have been improved.



    The new features in the list of signals:

    • The list of signals now contains growth charts similar to those displayed on the MQL5.community site. A green icon in the lower left corner of the chart indicates that this is a real account based signal.
    • Now subscription to a signal is available directly from the list. To subscribe, press the button with the price indication (or the word 'Free', if the signal is free). This will open a subscription confirmation dialog.
    • Now signals can be added to Favorites. Click the star icon at the end of the signal line. After that, the signal can be easily found in the "Favorites" tab.
    • The context menu has been removed. Now to find a signal to which you have subscribed, go to any signal. The top panel shows the signal you are subscribed to and a link to it.

    A signal view page has been updated. A new option allows to add signals to Favorites. The status of the signal account is displayed when hovering the mouse pointer at "Growth".

    Signals statistics have expanded:

    • The total amount of subscribers' funds.
    • Trading account lifetime since its first trading operation.
    • The average position holding time.



    New tabs:

    • Risks - information about the best and worst trading operations and series of operations, and information on drawdowns.
    • Reviews - reviews of signal subscribers.
    • News - through this tab the signal provider can inform subscribers of any change in the signal and post other useful information.

Market

  1. Revised display of products in MetaTrader AppStore. Applications, magazines and books feature the new design. A new option allows to add products to Favorites. Click the star icon in the product view mode. After that, the product can be easily found in the "Favorites" tab.




Trading terminal

  1. The terminal now features an options board and a volatility chart. Implementation of tools for trading options is currently underway. Tools for analyzing option strategies will be added in the next version.




    Options Board
    The options board displays a series of options based on the expiration date for an underlying asset (a class of options) selected in the "Underlying" field. The following parameters are displayed for the options:

    • Bid CALL - the bid price of a call option.
    • Ask CALL - the ask price of a call option.
    • Theo CALL - the theoretical (fair) price of a call option calculated for the specified strike based on historical data.
    • Strike - an option execution price.
    • Volatility - an implied volatility. It is specified as a percentage, and characterizes the expectations of market participants about the value of the underlying asset of the option.
    • Theo PUT - the theoretical price of a put option calculated for the specified strike based on historical data.
    • Bid PUT - the bid price of a put option.
    • Ask PUT - the ask price of a put option.

    Volatility Chart
    Option strikes are shown along the horizontal axis of the chart, and the implied volatility is shown along its vertical axis.




  2. Added display of ping values ​​in the list of access points.




  3. The terminal interface has been adapted for high resolution screens - Full HD and higher. Menus, toolbars, window titles and the status bar are now large enough for easy viewing and working on touch screen of Windows-tablets.

  4. Added a command for managing trading symbols in the "View" menu and on the toolbar. Accessing symbol settings is now as easy as never before:



MQL5 Language

  1. Added conversion of a macro parameter to a string and concatenation of the macro parameter. Below is an example, in which the concatenation of macros allows to organize the automatic removal of the class instances.
    //+------------------------------------------------------------------+
    //|                                                     MacroExample |
    //|                        Copyright 2014, MetaQuotes Software Corp. |
    //|                                       https://www.metaquotes.net  |
    //+------------------------------------------------------------------+
    #property script_show_inputs
    input bool InpSecond=true;
    
    #define DEFCLASS(class_name) class class_name:public CBase{public:class_name(string name):CBase(name){}};
    #define TOSTR(x) #x
    #define AUTODEL(obj) CAutoDelete auto_##obj(obj)
    #define NEWOBJ(type,ptr) do { ptr=new type(TOSTR(ptr)); \
                             Print("Create object '",TOSTR(type)," ",TOSTR(ptr),"' by macro NEWOBJ"); } \
                             while(0)
    //+------------------------------------------------------------------+
    //| The basic class required for automatic deletion of objects       |
    //+------------------------------------------------------------------+
    class CBase
      {
    protected:
       string            m_name;
    
    public:
                         CBase(string name):m_name(name) { }
       string            Name(void) const{ return(m_name); }
    
      };
    //+------------------------------------------------------------------+
    //| The object auto-delete class makes watching of created           |
    //| objects unnecessary. It deletes them in its destructor           |
    //+------------------------------------------------------------------+
    class CAutoDelete
      {
       CBase            *m_obj;
    
    public:
                         CAutoDelete(CBase *obj):m_obj(obj) { }
                        ~CAutoDelete()
         {
          if(CheckPointer(m_obj)==POINTER_DYNAMIC)
            {
             Print("Delete object '",m_obj.Name(),"' by CAutoDelete class");
             delete m_obj;
            }
         }
      };
    //+------------------------------------------------------------------+
    //| Declaring two new classes CFoo and CBar                          |
    //+------------------------------------------------------------------+
    DEFCLASS(CFoo);
    DEFCLASS(CBar);
    //+------------------------------------------------------------------+
    //| The main script function                                         |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       CFoo *foo;
    //--- Creating an object of the CFoo class
       NEWOBJ(CFoo,foo);
    //--- Creating an instance of the CFoo foo object auto-deletion class
       AUTODEL(foo);
    //---
       if(InpSecond)
         {
          CBar *bar;
          //---
          NEWOBJ(CBar,bar);
          AUTODEL(bar);
         }
    //--- No need to delete foo, it will be deleted automatically
      }
    //+------------------------------------------------------------------+
    
  2. Added the OBJPROP_ANCHOR property for the "Bitmap" and "Bitmap Label" objects. The property defines the anchor point of the graphical object on the chart: the upper left corner, center left, lower left corner, bottom center, etc.
  3. Added reading of the CHART_BRING_TO_TOP chart property (the chart is on top of all the others) in the ChartGetInteger function.
  4. Fixed the compilation and generation of the ternary operator "?".
  5. Fixed passing of a class member static array.
  6. Fixed applying of a template to the list of initialization of the template constructor class members.

Trading signals

  1. Restrictions on signal subscriptions became milder:

    If the trading history of the signal contains symbols that are not available in the subscriber's terminal, the subscription is now allowed (was prohibited in previous versions). The actions with the positions for which the subscriber does not have symbols are ignored. The following log appears in the Journal:
    2014.08.26 16:44:29.036    '2620818': Signal - symbol GBPNZD not found
    If the subscriber has positions and/or pending orders, a warning dialog suggesting to close/delete them appears (as before). Now, however, it is not an obligatory condition to continue working with signals.



    Synchronization with the signal provider will be performed. Positions and orders that were opened not based on the subscription signal are left unchanged. The user can perform any operations with them.

    Users can now perform trade operations manually (or using an Expert Advisor), being signed to a signal. The Signals service will ignore the positions and orders opened by the trader.
    Keep in mind that placing orders manually affects the amount of available margin on the trading account. Opening positions manually increases the overall load on the account as compared with the signal provider's account.
  2. Added support for a copied percent for the volumes with a floating point. The minimum percentage of copied volumes for signals has been reduced from 1% to 0.001%.

Strategy tester

  1. Fixed freezing of testing agents when working with the MQL5 Cloud Network.
  2. Fixed calculation of swaps in points for the minimal volumes of trading positions.

MetaEditor

  1. Fixed hotkeys for commands "Navigate Forward" and "Navigate Backward".

MetaViewer

  1. Fixed page navigation on the toolbar.
  2. Fixed text search based on the current interface language.

Fixed errors reported in crash logs.

Documentation has been updated.

The update is available through the LiveUpdate system.
20 8月 2014
iPhone版MetaTrader 5 build 971
  1. オブジェクトとインディケータのレベルを編集する機能が追加されました。
  2. ポルトガル語が追加されました。
1 8月 2014
MetaTrader 5 Trading Terminal build 975: Displaying Expert ID

Trading Terminal

  1. Added display of a trade ID (magic number) set by an Expert Advisor. The ID is displayed as a tooltip in the list of open positions and orders, as well as in the trading history.


    Displaying Expert ID


  2. Optimized work with a large number of trading symbols (thousands and tens of thousands).
  3. Fixed display of alerts on the price chart. The alert's price level was sometimes displayed in the indicator's subwindow.
  4. Updated interface translations into Chinese, Turkish and Japanese.
  5. Fixed displaying the list of chart templates in the application's main menu.
  6. Fixed displaying the list of trade symbol sets in the context menu of Market Watch window.

MQL5 Language

  1. Fixed errors in working with built-in structures that could occasionally disrupt the operation of IndicatorParameters and MarketBookGet methods.
  2. Fixed type conversion from bool to string.
  3. Fixed working with virtual functions.
  4. Fixed an error in the operation of FileReadStruct and FileWriteStruct functions within EX5 libraries.
  5. Fixed a compiler error that occurred in case a key word was present in a comment.

Strategy Tester

  1. Fixed calculation of swaps in points when testing.
  2. Fixed passing the file defined in #property tester_file. An error occurred if the file was in the common folder of the client terminals.
  3. Greatly improved selection of the nearest cloud server by the tester agents working within MQL5 Cloud Network of distributed computing. Thus, their operation speed is increased significantly.

MetaEditor

  1. Fixed text replacement when the list of MetaAssist tips is collapsed.

Fixed errors reported in crash logs.

Updated documentation.

The update is available through the LiveUpdate system.

27 6月 2014
MetaTrader 5 trading terminal build 965: Smart Search, OTP and Money Transfer between Accounts

Trading terminal

  1. Completely revised built-in search. The new search is a smart and powerful system. Search results are now conveniently arranged by categories.

    As you type in search query, the system instantly offers possible options:



    In order to search by one of the previous queries, place the cursor to the box and click Down Arrow key to open the query history. Selection of a search area is not available in the search bar any more, as the system automatically selects the most relevant results arranging them by categories conveniently:



    For better representation, search results now contain not only texts but also avatars of articles, books and applications. Use the top panel to view the search results by MetaTrader Appstore Products, Code Base, Signals, MQL5.community Forum and Documentation. If a category has no results, it is highlighted in gray.

  2. Added the OTP authentication feature. Use of OTP (one-time password) provides an additional level of security when working with trading accounts. The user is required to enter a unique one-time password every time to connect to an account.

    One-time passwords are generated in the MetaTrader 5 mobile terminal for iPhone . The same one-time password generation option will be added in the mobile terminal for Android soon.

    How to enable OTP
    To start using one-time passwords, a trading account should be bound to a password generator, which is the MetaTrader mobile terminal 5 for iPhone.
    The use of the OTP option should be enabled on a trade server.
    Go to the Settings of the mobile terminal and select OTP. For security reasons, when the section is opened for the first time, a four-digit password should be set. The password must be entered every time to access the password generator.



    In the window that opens, select "Bind to account".



    Next, specify the name of the server on which the trading account was opened, the account number and the master password to it. The "Bind" should be kept enabled. It must be disabled, if the specified account should be unbound from the generator and one-time passwords should no longer be used.

    After the "Bind" button located in the upper part of the window is tapped, a trading will be bound to the generator, and an appropriate message will appear.



    Likewise, an unlimited number of accounts can be bound to the generator.

    The one-time password is displayed at the top of the OTP section. Underneath, a blue bar visualizes the password lifetime. Once the password expires, it is no longer valid, and a new password will be generated.

    Additional Commands:

    • Change Password - change the generator password.
    • Synchronize Time - synchronize the time of the mobile device with the reference server. Accuracy requirement is connected with the fact that the one-time password is bound with the current time interval, and this time should be the same on the client terminal and the server side.

    How to use OTP in the desktop terminal
    After binding a trading account to the generator, a one-time password will be additionally requested when connecting to it from the desktop terminal:




  3. Added an option for transferring money between accounts within the same trade server. Money can be transferred only from the currently connected account. Select it in the "Navigator" window and click "Transfer funds" in the context menu.



    In the dialog box, select the account to which funds need to be transferred. The transfer amount is specified in the deposit currency of the current account. It cannot exceed the current balance and the current amount of free margin of the account.

    To transfer funds, a master password must be specified for both accounts. If OTP authentication is used for the account, from which funds are transferred, the one-time password should be additionally specified.

    Transfer of funds is provided in the form of balance operations: a withdrawal operation on the current account and depositing operation on the recipient account.
    • The money transfer option should be enabled on the trade server. Depending on the settings, there are some restrictions on the accounts, between which transfer is allowed. In particular, money transfer can be allowed only for accounts with identical names and emails.

    • Funds can be transferred only within the same trading server and only between the accounts of the same type. From a real account funds can be transferred only to another real account, from a demo one - only to demo.
    • The accounts, between which funds are transferred, should use the same deposit currency.
  4. Added an option for changing the password of any trading account in the "Navigator" window. Previously, it was possible to change the password only for the currently connected account.

    Now any account can be selected in the "Navigator" window and its passwords can be changed by clicking the appropriate command in the context menu:




  5. Added the possibility to set SL and TP levels on the chart by dragging the trade level of the corresponding position (using drag'n'drop). Hover the mouse over the level of the position on the chart. Click the left mouse button and hold it to move the level up or down.



    For long positions dragging down allows to set stop loss, up - take profit. And vice versa for short positions. When a level is dragged, the possible profit/loss in pips and currency, which may occur when this level triggers, is shown.

  6. Changed the location of commands in the "Window" menu. Now the "Tile window" option is displayed first, hotkeys Alt+R have been assigned for this command. This command has also been added to the standard toolbar.




  7. In the "Navigator" categories "Indicators" and "Custom Indicators" have been combined into one category "Indicators".



    All custom indicators, examples, and indicators purchased from the MetaTrader AppStore are now shown together with the built-in technical indicators. Four categories of built-in indicators are always displayed first.

  8. Revised the Navigator's context menu.

    Login has been renamed to "Login to Trade Account". Authentication in MQL5.community is available not only via the terminal settings but also via the context menus of the "Accounts" section and its subsections.



    The following changes have been implemented to the account's context menu:
    • Moved "Open an Account" command to the first position.
    • Added "Change Password" feature.
    • Added "Register a Virtual Server" command.

  9. Fixed display of the Label and Bitmap Label graphical objects with the anchor point located in one of the bottom corners of a chart.

MQL5 Language

  1. Added WebRequest() function for working with HTTP requests allowing MQL5 programs to interact with different websites and web services.

    The new function allows any EA to exchange data with third-party websites, perform trades based on the latest news and economic calendar entries, implement analytics, generate and publish automatic reports, read the latest quotes and do many other things that could previously be achieved only by using third-party DLLs of questionable reliability. The new feature is absolutely safe for traders, as they are able to manage the list of trusted websites the programs have access to.

    WebRequest function sends and receives data from websites using GET and POST requests. The new feature is absolutely safe for traders, as they are able to manage the list of trusted websites the programs have access to.




    This option is disabled by default for security reasons.

  2. Added access to signals database and managing signals subscription from MQL5 applications.

    Now, a user can receive the list of signals, evaluate them according to user-defined criteria, select the best one and subscribe to it automatically from a MQL5 program. In fact, it means the advent of the new class of trading robots that periodically look through available signals and subscribe to the one that is most suitable at the moment.

    For this purpose new signal management functions have been added to the MQL5 language:

    • SignalBase*() — functions for accessing the signals database.
    • SignalInfo*() — functions for receiving signal settings.
    • SignalSubscribe() and SignalUnsubscribe() — subscription management functions.

    Thus, a user can not only copy trades, but also to select signals for copying. Both processes are automated.

    By default, a trading robot is not allowed to change signal settings for security reasons. To enable this function, tick the "Allow modification of Signals settings" option in Expert Advisor settings.




  3. Added new properties of the client terminal that are available through the TerminalInfo* functions:
    • TERMINAL_MQID - the property shows that MetaQuotes ID is specified in terminal settings.
    • TERMINAL_COMMUNITY_ACCOUNT - this property shows that MQL5.community account is specified in the settings.
    • TERMINAL_COMMUNITY_ACCOUNT - this property shows that MQL5.community account is specified in the settings.
    • TERMINAL_COMMUNITY_BALANCE - value of balance on the MQL5.community account.
    • TERMINAL_NOTIFICATIONS_ENABLED - shows whether sending notifications through MetaQuotes ID is allowed.

  4. Added functions for working with cryptographic algorithms: CryptEncode() and CryptDecode(). These functions allow you to encrypt and decrypt the data, for example, when sending data over the network using the WebRequest() function. They also allow you to calculate checksums and make data archiving.

    Function signatures:
    int CryptEncode(ENUM_CRYPT_METHOD method,const uchar &data[],const uchar &key[],uchar &result[]);
    int CryptDecode(ENUM_CRYPT_METHOD method,const uchar &data[],const uchar &key[],uchar &result[]);
    A new enumeration ENUM_CRYPT_METHOD has been added for working with the functions:
    CRYPT_BASE64,      // BASE64 encryption (re-encoding)
    CRYPT_AES128,      // AES encryption with 128-bit key
    CRYPT_AES256,      // AES encryption with 256-bit key
    CRYPT_DES,         // DES encryption (key length is 56 bits - 7 bytes)
    CRYPT_HASH_SHA1,   // calculation of HASH SHA1
    CRYPT_HASH_SHA256, // calculation of HASH SHA256
    CRYPT_HASH_MD5,    // calculation of HASH MD5
    CRYPT_ARCH_ZIP,    // ZIP archive

  5. Added an option for changing the size of the properties dialog of MQL5 programs.




  6. Added ability to debug the template functions.
  7. Added definition of the custom indicators that are executed too slowly. If the indicator is slow, "indicator is too slow" entry appears in the Journal.
  8. Fixed the value returned by the IsStopped() function. This function is used for determining the forced stopping of MQL5 programs in custom indicators. Previously, this function always returns FALSE.
  9. Fixed verification of input parameters of MQL5 programs by data type. In particular, for the parameter type uchar, one could specify a value greater than 255.
  10. Fixed an error in StringConcatenate() function.
  11. Fixed FileSize() function for files that are available for writing. Previously, the function returned the file size without considering the latest write operations.
  12. File operations have been revised. Now work with files has become faster.

Trading Signals

  1. Fixed copying of SL and TP values of trade positions in case the number of decimal places in the symbol price of the signal source differs from that of the subscriber.
  2. Fixed copying of trade positions from signal providers with incorrect settings of trade instruments on the side of the trade server.
  3. Fixed closing of positions opened by a trading signal when account Equity value falls below the value specified in the signal copying parameters. In some cases, closing of positions could lead to terminal crash.

MetaEditor

  1. Optimized work with large source text files (tens of megabytes). Increased operation speed and reduced memory consumption.
  2. Fixed navigating through a source code using "Ctrl + -" and "Ctrl + Shift + -" shortcuts.

Fixed errors reported in crash logs.

Updated documentation.

The update will be available through the LiveUpdate system.

22 6月 2014
iPhone版MetaTrader 5 build 931
  1. 取引アカウントへの接続の為の2要素認証(ワンタイムパスワード、OTP)サポートが追加されました。
  2. VoiceOverサポートが追加されました。
  3. エラーの修正。
123456789101112131415