無料でロボットをダウンロードする方法を見る
Telegram上で私たちを見つけてください。
私たちのファンページに参加してください
私たちのファンページに参加してください
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
Demo_FileSize - MetaTrader 5のためのスクリプト
- ビュー:
- 799
- 評価:
- パブリッシュ済み:
- 2016.09.29 12:23
- アップデート済み:
- 2016.11.22 07:34
- このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
このスクリプトは、すべてのクライアント端末に共通なフォルダにあるすべてのCSVファイルを1つずつソートしてサイズを取得します。サイズの取得後には、その値が「InpThresholdSize」の閾値と比較され、結果によって、ファイルが「InpBigFolderName」か「InpSmallFolderName」フォルダのいずれかに配置されます。よって大小のファイルがソートされています。
FileSize()関数の使用に加えてFileFindFirst()、FileFindNext()及びFileFindClose()関数がファイルのソートに使われ、移動にはFileMove()関数が使われます。
コード:
//--- スクリプト起動時に入力パラメータウィンドウを表示する #property script_show_inputs //--- 入力パラメータ input ulong InpThresholdSize=20; // キロバイト単位でのファイルサイズのしきい値 input string InpBigFolderName="big"; // 大きいファイルのフォルダ input string InpSmallFolderName="small"; // 小さいファイルのフォルダ //+------------------------------------------------------------------+ //| スクリプトプログラム開始関数 | //+------------------------------------------------------------------+ void OnStart() { string file_name; // ファイル名を格納する変数 string filter="*.csv"; // ファイル検索フィルタ ulong file_size=0; // バイト単位のファイルサイズ int size=0; // ファイル数 //--- 操作するファイルへのパスを出力する PrintFormat("Working in %s\\Files\\ folder",TerminalInfoString(TERMINAL_COMMONDATA_PATH)); //--- 全ての端末に共通なフォルダのルートで検索ハンドルを受け取る long search_handle=FileFindFirst(filter,file_name,FILE_COMMON); //--- FileFindFirst() の実行が成功したかをチェックする if(search_handle!=INVALID_HANDLE) { //--- サイズによってファイルをループで移動する do { //--- ファイルを開く ResetLastError(); int file_handle=FileOpen(file_name,FILE_READ|FILE_CSV|FILE_COMMON); if(file_handle!=INVALID_HANDLE) { //--- ファイルサイズを受け取る file_size=FileSize(file_handle); //--- ファイルを閉じる FileClose(file_handle); } else { PrintFormat("Failed to open %s file, Error code = %d",file_name,GetLastError()); continue; } //--- ファイルサイズを出力する PrintFormat("Size of %s file is equal to %d bytes",file_name,file_size); //--- ファイル移動のパスを定義する string path; if(file_size>InpThresholdSize*1024) path=InpBigFolderName+"//"+file_name; else path=InpSmallFolderName+"//"+file_name; //--- ファイルを移動する ResetLastError(); if(FileMove(file_name,FILE_COMMON,path,FILE_REWRITE|FILE_COMMON)) PrintFormat("%s file is moved",file_name); else PrintFormat("Error, code = %d",GetLastError()); } while(FileFindNext(search_handle,file_name)); //--- 検索ハンドルを閉じる FileFindClose(search_handle); } else Print("Files not found!"); }
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/1633
Demo_FileReadDouble
この指標はFileReadDouble() 関数の使用例を実証します。
Demo_FileWriteDoubleこのスクリプトはFileWriteDouble()関数の使用例を実証します。
Demo_FileTell
このスクリプトは FileTell()関数の使用例を実証します。
Demo_FileWriteIntegerこのスクリプトはFileWriteInteger()関数の使用例を実証します。