1. Terminal_folder\Experts\History\current broker\ ---for history files
2. Terminal_folder\Experts\Files\ --- for common usage
3. Terminal_folder\Tester\Files\ --- for files that are used for testing
例如我MT4裝在C:\Program Files\MetaTrader 4
這目錄下,那這目錄下面會有Experts跟Tester這兩個目錄,從Experts子目錄再找,可以找到History與Files目錄,這兩個目錄就是上面列出的前兩個目錄,至於第三個目錄,則是在Tester下面的Files這個子目錄。
使用FileOpen()這麼function會傳回一個int整數,如果成功開啟檔案,傳回的值會是一個大於0的值,這個值我們一般稱做filehandle,代表一個檔案的代號,之後要操作這個檔案,都可以用這個代號。這個filehandle會直到檔案被關閉了才無效。
若傳回的filehandle的值是-1代表沒有開啟成功。
int FileOpen(string filename,int mode,int delimiter=";")
FileOpen有三個參數,
1. filename, 檔案的名稱
2. mode, 開啟的模式,有FILE_BIN, FILE_CSV,FILE_READ, FILE_WRITE這幾種,可以合併使用。合併使用請用" | "來分隔,例如FILE_BIN|FILE_READ,代表對檔案是以讀取BIN檔的方式做操作
3. delimiter,CSV檔案內的分隔符號,預設是分號";"
檔案如果使用FILE_WRITE開啟,有幾個點要注意,用這個mode時,開啟的檔案裡面原本有資料的話,會被刪除。若用此模式打開檔案失敗,很可能此檔案正在被其他程式所使用。
另外FILE_BIN跟FILE_CSV並無法合併使用,而且在開啟檔案時,一定要指明其中一種來使用。
在MT4中,無法開啟超過32個檔案。

沒有留言:
張貼留言