トップ  >  MQL4リファレンス  >  ファイル関数  >  FileWrite
スポンサーリンク
検索

↑の検索エンジンが表示されない人は、
↓の古い検索エンジンを使用して下さい。
カスタム検索
MQL4リファレンスツリー
FileWrite


FileWrite


CSVファイルにデータを書き込みます。
区切り文字は自動的に挿入されます。

ファイルの書き込み後、行末には改行文字"\r\n"が追加されます

関数書式:
uint  FileWrite(
   int  file_handle,    // ファイルハンドル
   ...                 // 書き込むデータリスト
   );



■引数
引数名 初期値 I/O 詳細
file_handle - In FileOpen()関数で返されたファイルハンドルを指定します
... - In 書き込むデータリストを設定します。
カンマ区切りで63個まで指定出来ます。



■戻り値
書き込んだバイト数を返します。
エラーの場合は0を返します。
エラーコードの確認はGetLastError()関数を使用します。


■備考
数値は文字列に変換されます。

double型データは小数点以下16桁の精度で出力され、必要に応じてコンパクトに調整されます。
float型データは小数点以下5桁の精度で出力されます。
指定した精度で出力したい場合は、DoubleToString()関数を使用します。

bool型データはtrue/falseの文字列で出力されます。
datetime型データは"YYYY.MM.DD HH:MI:SS"の文字列で出力されます。


サンプルソース(スクリプト):
#property strict // strictは絶対に削除しない事

static string RelativeFileAddress   = "";                // 相対ファイルアドレス
const  string WriteFolderName = "FileWriteTest";         // フォルダ名
const  string WriteFileName   = "WriteTestData.csv";     // ファイル名

//+------------------------------------------------------------------+
//| スクリプトプログラムスタート
//+------------------------------------------------------------------+
void OnStart()
{
    SetPath();  // パス設定
   
}


//+------------------------------------------------------------------+
//| パス設定
//+------------------------------------------------------------------+
void SetPath()
{
    // 相対ファイルアドレスセット
    RelativeFileAddress = StringFormat(
                   "%s\\%s" ,
                   WriteFolderName , 
                   WriteFileName
               );

    int filehandle;                    // ファイルハンドラ

    // 書き込むファイルを開く(存在しなければ作成される)
    filehandle = FileOpen(
            RelativeFileAddress,    // ファイル名
            FILE_WRITE | FILE_CSV,  // ファイル操作モードフラグ
            ','                     // セパレート文字コード
    );

    if ( filehandle == INVALID_HANDLE ) { // ファイルオープンエラー
        printf( "[%d]ファイルオープンエラー:%s" , __LINE__ , RelativeFileAddress );
    } else {
        WriteData(filehandle);      // ファイル書き出し

        FileClose(filehandle);      // ファイルハンドラクローズ(絶対に忘れない事)
        // FileCloseを忘れると開いたMT4以外で対象ファイルが操作出来なくなります
    }

}


//+------------------------------------------------------------------+
//| データ書き出し
//+------------------------------------------------------------------+
void WriteData( int in_filehandle ){
    
    FileWrite( in_filehandle , "test1" );
    FileWrite( in_filehandle , "test2" , "test3" );
    FileWrite( in_filehandle , "test4" );
    
}



■結果







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


Copyright ©2015 MT4でEA自作しちゃお~ All Rights Reserved.


Top

inserted by FC2 system