メタトレーダー4でプログラムを作ってみよう -14ページ目

メタトレーダー4でプログラムを作ってみよう

無料のトレードソフトであるメタトレーダー4のプログラムを作るコツをアップします。初心者がインジケーターとEAのプログラムを作成できるのを目指します。

 FileWrite はCSVファイルに書き込む関数です。

FileWrite(ファイルハンドル, 書き込むデータ・・・);


のように書きます。

ファイルハンドルは、FileOpen で得られるファイル番号です。

FileOpenに関する記事

書き込むデータは、, で区切って設定すると、

FileOpen で指定した区切り文字で区切られて書き込まれます。

書き込むデータは、最大63個まで指定可能です。

書き込まれた後に自動的に改行が挿入され、次の行に進みます。

int 型や double 型のような数値は、自動的に文字列に変換されて書き込まれます。

例えば

FileWrite(handle, Close[0], Open[0], High[0], Low[0]);


にして使用します。


ファイルに書き込むにはファイルが開いている必要がありますので、

FileOpen と FileClose の間に設定します。




   
FileOpen で開いたファイルは FileClose を使って閉じます。

閉じる処理を行わないと、他のソフトからファイルが操作できなくなる場合があります。


使い方は以下の通りです。

FileClose(handle);

handle はFileOpen で開いた、ファイル番号です。

int handle=FileOpen("my_data.csv",FILE_CSV|FILE_READ,';');

これとセットで使用します。

FileOpenに関する記事


FileOpen と FileClose はセットで使うと覚えましょう。




 
メタトレーダーでファイルを扱う時の流れは、

ファイルを開く → ファイルの読み書き → ファイルを閉じる

と進みます。

最初の、ファイルを開く の際に、FileOpen を使用します。

FileOpen(ファイル名, モード, 区切り文字)

のように設定します。


ファイル名 はその名の通りファイルの名前です。

通常、メタトレーダーで扱えるのは、

メタトレーダーフォルダの¥experts¥files フォルダの中
のファイルと決まっています。

読み書きどちらの場合も、このフォルダを使用することになります。


モードは、ファイルの形式と、読み書きの指定です。

モードの指定は以下の4つがあります。

FILE_BIN :バイナリファイル 
FILE_CSV : CSV ファイル
FILE_READ :読み込み 
FILE_WRITE :書き込み ( 新規作成、追加 )

バイナリファイルとCSVファイルはどちらか一つを選択します。

読み込みと書き込みは同時に設定することができます。

書き込み時のFILE_WRITE はファイルが存在しない場合は、

指定のファイル名で新規作成してくれます。

同時に指定する場合は、| で連結します。

例えば、

バイナリファイルで読み込みしたい場合は、

FILE_BIN|FILE_READ

となります。


CSVファイルで、読み書きのどちらもしたい場合、

FILE_CSV|FILE_READ|FILE_WRITE

となります。


区切り文字は、CSVファイルの時のみ有効で、

未指定の場合 , が自動的に設定されます。


そしてこの関数を使用することにより、ファイルの番号が取得できるので、

その番号を覚えておく変数を指定して使用します。

int handle=FileOpen("my_data.csv",FILE_CSV|FILE_READ,';');



このような感じで使用します。

ちょっとややこしいですが、流れを覚えると大したことないので覚えてくださいね~