FX・ビットコイン・オプションのシステムトレード開発と取引録

FXとビットコインのシステムトレードの開発録、オプション取引の履歴を書き連ねています。MT4, Pythonで開発しています。

MQL4ブック MT4

関数の説明と演算子 'return'

関数の説明と演算子 'return'

 

プログラム内に関数を指定する必要性については、プログラムに記述されていない関数と、プログラムに記述しなければならない関数の2つのグループに分けられます。 標準機能はプログラムには記載されていません。 ユーザー定義関数は、任意のプログラムで記述する必要があります。 特別な機能があれば、それもプログラムに記述する必要があります。

関数の記述形式

 

関数の説明は、関数ヘッダーと関数本体という2つの基本部分で構成されています。

関数ヘッダーには、戻り値の型、関数名、および仮引数のリストが括弧で囲まれています。 関数が値を返す必要がない場合、その型の名前はvoidでなければなりません。

関数本体は、単純演算子や複合演算子、および他の関数への呼び出しで構成され、かっこで囲まれています。

リストのパラメータはカンマで区切って指定します。 関数に渡されるパラメーターの量は制限されており、64を超えることはできません。関数ヘッダーの仮パラメーターとしては、変数のみを指定できます(ただし、定数、その他の関数呼び出しまたは式は指定できません)。 関数呼び出しで渡されたパラメータの量、型および順序は、関数の説明で指定されている仮パラメータのものと同じでなければなりません(唯一の例外は、デフォルト値のパラメータを持つ関数への呼び出しです)。

関数に渡されるパラメータは、対応する型の定数で定義されるデフォルト値を持つことができます。

デフォルト値を持つ関数の呼び出しで実際のパラメータが指定されている場合、実際のパラメータの値は関数で計算されます。 デフォルト値を持つ関数の呼び出しで実際のパラメータが指定されていない場合、対応するデフォルト値が計算されます。

特別な関数もパラメータを持つことができます。 しかし、クライアント端末は、これらの関数を呼び出すときに外部からパラメータを渡すことはなく、デフォルト値を使用するだけです。 特別な関数は、他の関数と同じように、一般的な規則に従ってモジュールの任意の場所から呼び出すことができます。

関数の実行規則

 

プログラム内の関数記述の場所:

関数の説明は、他の関数の外で別々にプログラムに配置する必要があります(つまり、別の関数に配置してはいけません)。

関数の実行:

関数本体を構成するコードに従って、実行のために呼び出される関数が実行されます。

 

演算子 'return'の形式

 

関数が返す値は、演算子 'return'のカッコで指定されたパラメータの値です。 演算子 'return'は、キーワード 'return'、カッコで囲まれた式、および「;」の文字で終了します。 (セミコロン)。 フルフォーマットの演算子 'return':

かっこ内の式は、定数、変数、または関数呼び出しです。 演算子 'return'を使用して返される値の型は、関数ヘッダーで指定された関数戻り値の型と同じでなければなりません。 これが当てはまらない場合、演算子 'return'で指定された式の値は、関数の説明のヘッダーで指定された戻り値の型にキャストする必要があります。 型キャスティングが不可能な場合、MetaEditorはプログラムのコンパイル時にエラーメッセージを表示します。

演算子 'return'の実行ルール

 

演算子 'return'は、最も近い外部関数の実行を停止し、関数呼び出しのために定義された規則に従って呼び出しプログラムに制御を渡します。 関数が返す値は、演算子 'return'で指定された式の値です。 演算子 'return'で指定されたパラメータ値の型が、関数ヘッダで指定された戻り値の型以外である場合、値はヘッダで指定された戻り値の型にキャストされなければなりません。

値を返す演算子 'return'を使用する方法の例:

関数の戻り値がvoid型であれば、式なしで演算子 'return'を使うべきです:

戻り値なしの演算子 'return'の使用例:

関数の説明に演算子 'return'を含めることはできません。 この場合、関数は最後の演算子が関数本体で実行されると(実行アルゴリズムに従って)自動的に演算を終了します。 演算子 'return'のない関数の記述例:

この場合、関数forは、サイクル演算子forが実行を終了した時点で演算を完了します。 関数実行時の最後の動作は、サイクル演算子の条件テストになります。 サイクル演算子 'for'のヘッダーのConditionがfalseになるとすぐに、コントロールはサイクル演算子の外に渡されます。 しかし、サイクル演算子がMy_function()という名前の関数の本体で実行可能な最後の演算子であるため、ユーザー定義関数はその演算を終了しますが、制御は関数の外に渡されます。この関数は実行のために呼び出されました。

スポンサードリンク
スポンサードリンク
スポンサードリンク

-MQL4ブック, MT4
-,