こんばんは、
DCです。今日のブログは、
「レートを取得する関数」という内容です。
サンプルプログラムはこちらです。
http://jidoubaibai.com/Sample%20Rate.mq4
サンプルプログラムの使い方は、こちらで説明しています。
http://jidoubaibai.com/burogu11.html
今回も
MetaTrader4のプログラムの記事です。最近のプログラムの記事が好評でしたので、しばらくはプログラムの記事を書こうと思っています。今回紹介するのは
レートを取得する関数です。一番簡単なレートを取得する方法はAskとBidですが、これら以外にも色々とレートを取得する関数があります。
今回紹介するのは、
iOpen関数、iHigh関数、iLow関数、iClose関数の四つです。これらの関数はそれぞれ始値、高値、安値、終値のレートを取得することが出来ます。使用方法は全て同じです。iOpenを例に出すと下記のようになります。
iOpen(
string symbol, int timeframe, int shift)
関数の上にカーソルを置いてキーボードのF1キーを押すと、関数の詳細と引数などの入力方法が出てきます。(ただ、全部英語で出てきますので、少々分かり辛いですが……)iOpenの詳細を出すと上記にように出てきます。これを分かりやすくすると下記のようになります。
iOpen(
通貨ペア,タイムフレーム,シフト)
実際に使用すると下記のようになります。
iOpen(NULL,0,0);
この例では、このシステムを使用しているチャートの通貨ペアと時間足の現在の足の始値のレートを取得しています。
通貨ペアはNULL、タイムフレームは0と入力するとこのシステムを使用しているチャートの通貨ペアと時間足を自動的に選択してくれます。
他の関数の実例も書いてみます。
iLow("EURUSD",PERIOD_M15,2);
この例では、ユードルの15分足の二つ前の安値のレートを取得しています。このように、これらの関数を使用すれば、
MetaTrader4で選べる全ての通貨ペア、全ての時間足、全てのバーの始値、高値、安値、終値のレートを取得することが可能です。例えば、ドル円の15分足のレートとユーロドルの1時間足のレートを同時に判断する売買ルールのシステムを製作することも可能です。
サンプルプログラムは、現在の始値、一つ前の足の高値、15分足の現在の安値、ユーロドル現在の終値のレートを取得して変数に入れ、
Comment関数でチャート上に表示しています。
----------------------注意----------------------
半角のスペースが認識されない為、コードを見易くするために全角で書いている場合があります。実際にプログラムにコードを書くときは、コピー&ペーストせずに半角で書いて行って下さい。
また、内容には注意を払っていますが、保障は出来ません。実際に運用する場合は、自己責任でお願いします。