MetaTrader 4プラットフォームの新バージョン build 1010: MQL4の機能拡張

MetaTrader 4の最新のアップロード

18 8月 2016

ターミナル

  1. Windows 10(build 1607)の32bit版での動作時にターミナルでMQL4プログラムの実行ができないエラーが修正されました。
  2. いくつかのケースで検索ボタンとチャットボタンが正しく表示されないエラーが修正されました。
  3. いくつかのケースでデモ口座を開いた時に、ターミナルに受信したメッセージの絵文字が重複するエラーが修正されました。

MQL4

  1. 抽象オブジェクトのコレクションを作成する'void *'ポインタが追加されました。このタイプの変数に任意のクラスのオブジェクトへのポインタを格納することができます。逆変換には dynamic_cast<クラス名 *>演算子(void *ポインタ)を使用することをお勧めします。キャストができない場合、結果はNULLとなります。
    class CFoo { };
    class CBar { };
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       void *vptr[2];
       vptr[0]=new CFoo();
       vptr[1]=new CBar();
    //---
       for(int i=0;i<ArraySize(vptr);i++)
         {
          if(dynamic_cast<CFoo *>(vptr[i])!=NULL)
             Print("CFoo * object at index ",i);
          if(dynamic_cast<CBar *>(vptr[i])!=NULL)
             Print("CBar * object at index ",i);
         }
       CFoo *fptr=vptr[1];  // ポインタを与えるエラー、vptr[1]はCFooオブジェクトではありません
      }
    //+------------------------------------------------------------------+
  2. インデックスの文字列からシンボルを取得する、文字列の為の[ ]演算子のサポートが追加されました。指定したインデックスが文字列の範囲外である場合、結果は0となります。
    string text="Hello";
    ushort symb=text[0];  // シンボル'H'のコードを返します
    
  3. 履歴とティックデータのコピー機能CopyXXXがより高速になりました。
  4. ObjectDeleteAll関数を使った接頭辞のグラフィックオブジェクトの質量削除のエラーを修正しました。以前はこの関数の実行後に残りのオブジェクトの描画に乱れが発生していました。
  5. いくつかのケースで時間軸の変更時にグラフィックオブジェクトの表示が乱れるエラーを修正しました。

ホスティング

  1. 今後、ターミナルとバーチャルサーバーとの同期に、カスタムインディケータを実行している場合でも、エキスパートアドバイザの ないチャートは含まれません。使用中のカスタムインディケータを個別に移行するには、インディケータのチャートに何のアクションも起こさない『空の』イン ディケータを起動してください。これはMQL4ウィザードを介してMetaEditorで、『エキスパートアドバイザ:テンプレート』を選択することで簡 単に生成することができます。これによって、カスタムインディケータの移行を意識的に行うことができます。
  2. これからは名前に非ラテン文字を含む(例えば、キリル文字や漢字など)カスタムインディケータやエキスパートアドバイザを同期させることができます。

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