MetaEditorヘルプ

インテリジェントマネージメント

インテリジェントマネージメント

プログラミングを容易にするため、MetaEditorはホットキーにさまざまな最先端のツールを提供しています このツールを使用すると、コード記述のプロセスを高速化し、ナビゲーションを容易にし、エラーを防ぐことができます。

ここでは、次の機能について説明します。

すべての変更を実行して元に戻すことができます取り消しEditメニューにある[Undo]コマンドをするか、StandardツールバーメニューまたはCtrl キーを押しながら Z キーを押します。

関数名の自動置換

プログラムコードを記述すると、MetaEditorは自動的に組み込みおよびカスタム関数、定数、変数、クラスメンバ、キーワードなどに対して可能な代替オプションを提供します。 コードの書き込みを高速化します。 たとえば、関数名の最初の文字を入力すると、すぐに適切な名前の関数の一覧が表示されます。 キーボードの矢印で適切なオプションを選択し、enter キーを押します。

名前一覧

オプションリストが大きすぎる場合は、関数名の文字をもう少し入力します。 リストを手動で呼び出すには、クリックします。リスト名Editメニューにあるリスト名 または Ctrl + スペースをエントリーした後、最初の名前の文字を入力します。

パラメータに関する情報

言語ヘルプを開かずにコードを記述するときに、関数のシグネチャを確認できます。 これを行うには、関数パラメータの説明を開始するかっこの後にカーソルを置きますパラメータ情報Editメニューにあるパラメータ情報または Ctrl + shift + Spaceキーを押します。 パラメータと関数の戻り値の型に関する情報は、ツールヒントに表示されます。

パラメータに関する情報

上記の画像の関数については、以下の情報が表示されます。

  • [1 of 2]は、関数が異なるパラメータを持つ呼び出しオプションを持つことを意味します 切り替えるには、キーボードの矢印を使用するか、プロンプトの行を左クリックします。
  • bool関数によって返される値型を指定します。
  • ObjectSetInteger—関数名。
  • (long chart_id, ... ) —可能な関数パラメータの列挙体は、各パラメータの前に型が指定されています (ここでは "long ") カーソルが現在置かれているパラメータは太字で表示されます。

定義への移動

このツールを使用すると、選択した関数または変数の宣言または定義にすばやく移動したり、ファイル ( "#include ") を含めることができます。 パラメータの宣言または定義が別のファイルにある場合は、カーソルは対応する位置に設定されます。

パラメータに移動するには、カーソルをその名前に置きます定義に移動Editメニューの定義に移動または Alt + G を押します。 インクルードファイルに移動するには、宣言されている行 (#include ディレクティブ) のどこかにカーソルを置き、上記のコマンドを実行します。

関数の一覧

このツールを使用すると、現在のファイル内のすべての宣言された関数の一覧を表示できます。 一覧を開くには、クリックします。リスト関数Editメニューの関数の一覧または Alt + M

関数の一覧

関数のパラメータは、名前の右側にかっこで囲んで指定します。 関数に移動するには、リスト内の名前をクリックします。 リスト内の各関数のアイコンは、次のようにマークされています。

  • 関数関数.
  • イベントハンドリング関数—イベント処理関数 (On *)。
  • パブリッククラスメソッド—パブリッククラスメソッド (public)
  • プロテクトクラスメソッド—プロテクトクラスメソッド (protected)
  • プライベートクラスメソッド—プライベートクラスメソッド (private)

挿入コメント

プログラムコード内のコメントの操作を簡略化するには、EditメニューとStandardツールバー:を使います。

  • 関数ヘッダ 関数ヘッダ—関数のコメントを空白に挿入します。
  • ブロックコメント コメントのブロック—1行のコメントを挿入します。
  • コメント行 Comment Lines — insert "// "各選択した行の先頭にコメント;
  • 行のコメント解除 Uncomment Lines — remove "// "選択した各行の先頭からのコメント。

The ブロックコメント[コメントのブロック] コマンド (Ctrl +/) は、現在の位置に1行のコメント文字を挿入します。

//---

The 関数ヘッダ関数ヘッダ (Ctrl +.) は、現在のカーソル位置に関数のコメント空白を挿入します。

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+

追加のコード編集関数

コードフラグメントは、プログラムの一部から別の部分に移動できます。 これを行うには、フラグメントを強調表示し、必要な位置(ドロップ) にドラッグします。

EditのAdvancedサブメニューには、ソースコードの編集を簡略化する一連のコマンドが用意されています。

  • 行のインデントを増やす 行のインデントを増やす—選択した行の先頭に3つのスペース (タブシンボル) を挿入します。 行にスペースを挿入するには、カーソルを先頭に置きます。 複数の行にスペースを挿入するには、全体を選択します。
  • 行のインデントを下げる 行のインデントを下げる—選択した行の先頭に3つのスペース (タブシンボル) を削除します。 Tab + Shift ホットキーによって同様の操作が実行されます。
  • 大文字にする 大文字にする—選択した語句のすべての文字を大文字に変更します。 同様の操作は、Ctrl + Shift + U ホットキーによって実行されます。
  • 小文字にする 小文字にする—選択した語句のすべての文字を小文字に変更します。 同様の操作は、Ctrl + U ホットキーによって実行されます。

ブックマークの操作

ブックマークを使用すると、コードのさまざまな部分にすばやくジャンプすることができます。 ブックマークに必要な行をマークし、Edit Bookmarksメニューコマンドとソースコードのコンテキストメニューを使用して、移動します。

  • ブックマークの切り替え ブックマークの切り替え—現在の状態に応じて、現在の行のブックマークを有効または無効にします。 同じことが、Ctrl + F2 ホットキーを使用して行うことができます。
  • 次のブックマーク 次のブックマーク—現在のコード内の次のブックマークに移動します。 同じことは、F2 キーで行うことができます。
  • 前のブックマーク 前のブックマーク—現在のコードの前のブックマークに移動します。 Shift + F2 ホットキーを押しても同じ操作を実行できます。
  • すべてのブックマークをクリア すべてのブックマークをクリア—現在のコードからすべてのブックマークを削除します。 同じことは、Ctrl + Shift + F2 ホットキーで行うことができます。

MetaEditorには、デジタル ID が割り当てられたブックマークという名前の関数もあります。 このようなブックマークを設定するには、Ctrl キーを押しながら0-9 をクリックします。 以前に設定したタブに移動するには、Alt キーを押しながら対応する番号をクリックします。

その行に移動

現在のファイル内の任意のコード行にすばやくジャンプするには、クリックします。その行に移動[行に移動]Searchメニューまたは Ctrl + G キーを押します。 次のウィンドウが開きます。

その行に移動

ウィンドウには、現在のファイル内のコードを含む行の範囲が表示されます。 行に移動するには、その番号を入力し、クリックします。

スニペット

スニペットは、特定の MQL4/MQL5構築を記述するソースコードの小さなテンプレートフラグメントです。 ソースコードを簡単かつ迅速に作成します。 たとえば、プログラムコードにワークピースをすばやく追加して、クラスまたはループを記述することができます。 これを行うには、キーワードを入力してください-' class ' または 'for '。 カーソルが変わります。スニペットを追加することができますつまり、スニペットを挿入できるようになりました。 tab キーを押すと、クラスまたは ' for ' ループのブランクがプログラムコードに応じて挿入されます。

サンプルスニペット

アクティブなスニペットフィールド (ここでは名前、クラスコンストラクタ、デストラクタ) を切り替えるには、tab と Shift + tab を使用します。

1つのアクティブフィールドを変更すると、残りが自動的に変更されます。 たとえば、クラス名を変更すると、コンストラクタとデストラクタの名前も自動的に変更されます。 ' for ' ループ式のいずれかで変数名を変更すると、他の式の変数も変更されます。

スニペットを使用するシステムでは、既に記述されている構造、クラス、列挙体、メソッド、および関数も認識されます。 対応する構造体の説明の中にカーソルを置き、Ctrl + enter キーを押します。 その後、タブと Shift + tab キーを使用してメンバ (クラス、構造体、および列挙型) と引数 (メソッドと関数) 間を移動し、上記のようにまとめて編集できます。

次のスニペットは、現時点でサポートされています。

キーワード

#import

インポート宣言。

OnBookEvent

OnBookEvent ハンドラ。

OnCalculate

OnCalculate ハンドラ。

case

' ケース ' セレクタ。

OnChartEvent

OnChartEvent ハンドラ。

class

クラス宣言

OnDeinit

OnDeinit ハンドラ。

do

' while ' ループの宣言。

enum

列挙体の宣言。

for

' for ' ループの宣言。

if

' if ' 条件の宣言。

その他

' else ' 条件の宣言。

OnInit

OnInit handler.

OnStart

OnStart ハンドラ。

struct

構造体の宣言。

switch

' スイッチ ' セレクタ。

OnTester

OnTester ハンドラ。

OnTesterInit

OnTesterInit ハンドラ。

OnTesterPass

OnTesterPass ハンドラ。

OnTesterDeinit

OnTesterDeinit ハンドラ。

OnTick

OnTick ハンドラ。

OnTimer

OnTimer ハンドラ。

OnTrade

OnTrade ハンドラ。

OnTradeTransation

OnTradeTransation ハンドラ。

while

' while ' ループの宣言。

リソースの挿入

Edit - Insertからコマンドの  使用すると、リソースファイルをすばやく挿入できるため、アプリケーションの開発が容易になります。

#property としてのオプション

現在のポジションに #property ディレクティブを挿入し、直ちにすべてのリストを開きます。プログラムのプロパティ言語で使用できます。

#resource としての BMP/WAV

プログラムリソースにイメージまたはサウンドファイルを追加するには、このコマンドを実行し、BMP または WAV ファイルを選択します (適切なファイルは MQL5ディレクトリに配置されている必要があります)。 選択したファイルへの適切なパスを持つ #resource ディレクティブは、プログラムの現在の位置に挿入されます。

#resource "\\Images\\image.bmp"

#import として DLL/EX5

このコマンドを実行して適切なファイルを選択すると、外部ライブラリまたは EX5/EX4 ファイルから関数をインポートできます (ファイルは MQL5ディレクトリに配置する必要があります)。 選択したファイルへの適切なパスを持つ #import ディレクティブのペアは、プログラムの現在の位置に挿入されます。

#import "..\Experts\SendNotification.ex5"
 
#import

ディレクティブ間でインポートされた関数の説明を追加します。

#include としての MQH

インクルードファイルをプログラムコードに挿入するには、このコマンドを実行して MQH ファイルを選択します (適切なファイルは MQL5ディレクトリに配置されている必要があります)。 選択したファイルへの適切なパスを持つ #include ディレクティブは、プログラムの現在の位置に挿入されます。

#include <Arrays\Array.mqh>

#property としてのパラメータのセット

エキスパートアドバイザのテスト用の一連のパラメータをプログラムコードに挿入するには、このコマンドを実行してセットファイルを選択します (適切なファイルは MQL5ディレクトリに格納されている必要があります)。 選択したファイルへの適切なパスを持つ #property ディレクティブは、プログラムの現在の位置に挿入されます。

#property tester_set "\\Profiles\\Tester\\Moving Average.set"

バイナリ配列としてファイル

このコマンドを使用すると、バイナリ配列の形式で任意のファイルをプログラムテキストに追加できます。 コマンドを実行し、目的のファイルを選択します (適切なファイルは MQL5ディレクトリに配置する必要があります) プログラムの現在の位置に char 配列が挿入されます。

この関数は、EAやインジケーターとチャートテンプレートを転送することができます: 配列としてプログラムコードにテンプレートを挿入し、関数を使用してディスクに保存します。 その後、ChartApplyTemplate 関数を使用して、目的のチャートにテンプレートを適用できます。

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//バイナリ配列としてのテンプレートファイル
   unsigned char my_template[]=
     {
      0xFF,0xFE,0x3C, ... ,0x00 //この例のデータ配列は短縮されています
     };
//テンプレートの保存と適用
   if(FileSave("my_template.tpl",my_template))
     {
      Print("Custom template saved in \\MQL5\\Files");
      if(ChartApplyTemplate(0,"\\Files\\my_template.tpl"))
         Print("Custom template applied to the current chart");
      else
         Print("Failed to apply custom template");
     }
   else
      Print("Failed to save custom template");
  }

テキスト配列としての CSV

テキストファイルからプログラムコードにデータを追加するには、このコマンドを実行して TXT または CSV ファイルを選択します (適切なファイルは MQL5ディレクトリに配置されている必要があります)。 ファイルからのデータを含む必要なディメンションの文字列配列は、現在のプログラムの位置に挿入されます。

string data[][3]=
  {
{ "name1 " "value1 "}、
{ "name2 " "value2 "}、
{ "3 " "value3"}
  };

テキスト変換

MetaEditorを使用すると、ソースデータの形式を変換できます。 目的のファイルを開き、その中のテキストを選択し、Edit - Convert メニューからコマンドのいずれかを実行します。

  • ASCII から16進数へ
  • ASCII から Base64 へ
  • ASCII からバイナリ配列へ
  • 16進数から ASCII
  • Base64 から ASCII へ