無料でロボットをダウンロードする方法を見る
Twitter上で私たちを見つけてください。
私たちのファンページに参加してください
私たちのファンページに参加してください
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
Demo_FileFlush - MetaTrader 5のためのスクリプト
- ビュー:
- 611
- 評価:
- パブリッシュ済み:
- 2016.09.29 12:10
- アップデート済み:
- 2016.11.22 07:34
- このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
ファイルに書き込んだデータは実際にはすぐには見つからないかもしれません。即座にファイルにデータを保存するには FileFlush() 関数を使用します。この関数を使用しない場合、まだディスクに格納されていないデータは FileClose()関数でファイルが閉じられた時のみに強制的に書き込まれます。
スクリプトはループ内で現在の売買価格を取得してFileWrite()関数で書き入れます。128の反復ごとにFileFlush()関数が呼ばれ、ディスクに前もって書き込まれたデータのリセットが強制されます。
コード:
//--- スクリプト起動時に入力パラメータウィンドウを表示する #property script_show_inputs //--- 書き込みするファイル名 input string InpFileName="example.csv"; // ファイル名 //+------------------------------------------------------------------+ //| スクリプトプログラム開始関数 | //+------------------------------------------------------------------+ void OnStart() { //--- エラー値をリセットする ResetLastError(); //--- ファイルを開く int file_handle=FileOpen(InpFileName,FILE_READ|FILE_WRITE|FILE_CSV); if(file_handle!=INVALID_HANDLE) { //--- データをファイルに書く for(int i=0;i<1000;i++) { //--- 書き込み関数を呼び出す FileWrite(file_handle,TimeCurrent(),SymbolInfoDouble(Symbol(),SYMBOL_BID),SymbolInfoDouble(Symbol(),SYMBOL_ASK)); //--- 128反復ごとにディスクにデータを保存する if((i & 127)==127) { //--- データはファイルに配置されるようになり、重大なエラーの場合に失われることはない FileFlush(file_handle); PrintFormat("i = %d, OK",i); } //--- 0.01 秒の休止 Sleep(10); } //--- ファイルを閉じる FileClose(file_handle); } else PrintFormat("Error, code = %d",GetLastError()); }
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/1615
Demo_FileIsEnding
このスクリプトはFileIsEnding()関数の使用例を実証します。
Demo_FileGetIntegerこのスクリプトはFileGetInteger()関数の使用例を実証します。