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.)
struct MqlTick { datetime time; // 価格の最終更新時間 double bid; // 現在のBid価格 double ask; // 現在のAsk価格 double last; // 最終取引の現在価格(Last) ulong volume; // 現在のLast価格の為の容量 long time_msc; // ミリ秒単位での最終価格更新時間 uint flags; // ティックフラッグ };全てのフラッグは、前回のティックと比べデータが変わったかどうかに関わらず、いつも全てのパラメータで埋められます。ティックヒストリーごとに前回の数 値を検索することなく、あらゆる瞬間の現在の価格状態をいつも見ることができます。例えば、ティックと共にBid価格だけ変わることができましたが、構造 体の中では新しい価格の他に、前回のAsk価格、容量など、他のパラメータも表示されます。現在のティックのデータとどう変わったかを知るためには、その フラッグを分析してください。
//+------------------------------------------------------------------+ //| 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のオブジェクトは削除しなくても良い。 }実行結果:
int ObjectsDeleteAll( long chart_id, // チャートID const string prefix, // オブジェクト名の接頭辞 int sub_window=-1, // ウィンドウインデックス int object_type=-1 // 削除の為のオブジェクトタイプ );
ドキュメントが更新されました。
更新はLiveUpdateシステムを介して利用することができるようになります。
マーケットアプリケーションをMetaTrader 4/5端末から登録なしで直接購入することができるようになりました。「購入」をクリックし、希望する支払い方法を選択するだけです。
支払いシステムのWebページにリダイレクトされ、購入が完了します。既製のロボットや指標の支払いにはPayPal、WebMoney、Neteller、または銀行カードでの支払いを選択できます。
購入した商品が自動的にアカウントにリンクされるように、購入後はMQL5.comアカウントを登録することをお勧めします。MQL5アカウントを使用すると、製品をアップデートして複数のコンピュータにインストールできます。さらに、MQL5.communityアカウントは、成功したトレーダーの取引をコピーするための取引シグナル、継続的オペレーションのための仮想ホスティング、 開発者から独自のロボットを注文するためのフリーランスなどの、MetaTraderプラットフォームのための他の多数のサービスへのアクセスを提供します。
これで取引ロボットを手に入れる最も簡単で簡単な方法がお分かりかと思います。マーケットでは5000以上のさまざまなMetaTraderアプリケーションがあなたを待っています。あなたはそれらを選択して購入するだけです。
資産(Assets)は、自己資本(Equity)に加えられ、口座上の取引操作量を増加させるフリーマージン(Free Margin)サイズを増加させます。
このように、様々なタイプの担保を持つ口座を作成できるようになりました。
ulong GetMicrosecondCount();
この関数は、追加のプログラムの実行プロファイルや、『ボトルネック』を識別する為に使用することができます。クラッシュログで報告された不具合を修正しました。
ドキュメントが更新されました。
LiveUpdateシステムを介して更新されます。
これらの変更点をご評価ください。そしてiOS版MetaTrader 5を今すぐ更新してください。
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.
Fixed errors reported in crash logs.
Updated documentation.
The update is available through the LiveUpdate system.
MetaTrader 5プラットフォームの変更が発表されました。この更新には以下の変更が含まれます。
したがって、チャートの数と銘柄の一覧、起動されたプログラムとその入力パラメータのセット、端末の設定、シグナル購読はいつでも変更できます。
移行を実行すると、すべてのデータがクライアント端末のログに記録されます。
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システムから利用できます。
テスターエージェントは64ビットシステムでのみ動作するようになりました。この決定は、IT業界の発展に従う必要があることによって推進されました。新しいテクノロジーに切り替えることで、コンピューティングパフォーマンスが向上し、MQL5クラウドネットワークのさらなる開発が可能になります。
プラットフォームコンポーネントの変更:
int WebRequest (string method, string url,string headers,int timeout, const char &data[], int data_size,char &result[], string &result_headers)この関数を使用すると、さまざまなWebサービスとやりとりするためのより柔軟なメカニズムを提供する、HTTP要求ヘッダーの内容を明示的に作成できます。
クラッシュログで報告されたエラーが修正されました。
ドキュメントを更新しました。
更新はLiveUpdateシステムを介して利用できるようになります。
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:
Fixed errors reported in crash logs.
Documentation has been updated.
The update is available through the LiveUpdate system.
ご自身のAndroidデバイスで、モバイルMetaTrader 5の新しい機能をぜひご評価ください。Google Playから私たちのアプリケーションをダウンロードしてください!
//+------------------------------------------------------------------+ //| 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 } //+------------------------------------------------------------------+
Fixed errors reported in crash logs.
Documentation has been updated.
Fixed errors reported in crash logs.
Updated documentation.
The update is available through the LiveUpdate system.
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.
Fixed display of the Label and Bitmap Label graphical objects with the anchor point located in one of the bottom corners of a chart.
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
Fixed errors reported in crash logs.
Updated documentation.
The update will be available through the LiveUpdate system.