You should use File Dependencies to control when the FTP starts. I recommend you place three file dependencies on the FTP job. Each File Dependency must be added separately on the Dependencies tab.
File Stable for X minutes
File Size >= 1
1) This dependency is met as soon as the file is present, but the file may not be complete.
2) This dependency is met once the file size has not changed for X minutes. This assures the file is no longer increasing in size.
3) This dependency requires the file be non-zero. I've seen cases where a process creates a zero-byte file as a placeholder at the start of processing, but does not populate the file with data until the end of the process.