FTP: STOR command failed при отправке файлов отчёта - страница 2

 
1. А можно каким-либо образом сделать такой режим работы журнала терминала, в котором выводился бы полный лог установки соединения и передачи файла, а не только сообщение об ошибке?

2. Вы тестировали эту ситуацию под Windows2000SP4 (Rus) или как обычно под WindowsXP в связи с её большей рапространённостью?

Пока что понять в чём состоит проблема на моей стороне не удаётся.

Проверьте файрволл - скорее всего разрешающие правила для МТ4 прописаны только для торговли, но не для работы с FTP. Этот FTP код работает практически везде в массе наших программ - не было никаких проблем.

В нашем FTP блоке проблем нет - проверьте свою сторону самостоятельно.
 
Проще всего передачу данных на ftp сервер организовать использованием функций API прямо из советника.
Тогда можете положить на сервер все что вам нужно, как впрочем и забрать с сервера..

Например:

#import "wininet.dll"
int InternetAttemptConnect (int x);
int InternetOpenA(string sAgent, int lAccessType, string sProxyName = "", string sProxyBypass = "", int lFlags = 0);

int InternetConnectA( int hInternet, string lpszServerName, int nServerPort,
string lpszUsername, string lpszPassword, int dwService=1, int dwFlags=134217728, int lContext = 1 );

bool FtpPutFileA(int hConnect, string lpszLocalFile, string lpszNewRemoteFile, int dwFlags, int lContext = 1);
int InternetCloseHandle(int hInet);
#import
//------------------------------------------------------------------------

int start()
{
int rw = InternetAttemptConnect(0);
int hInternetSession = InternetOpenA("Microsoft Internet Explorer", 0, "", "", 0);
int hURL = InternetConnectA(hInternetSession, "ftp.narod.ru", 21, "User", "pasword", 1, 134217728, 1);

FtpPutFileA(hURL, "C:\\MIG_MT4\\experts\\files\\Aksel_Lv.csv", "/FX_files/Aksel_Lv.csv", 2, 1);
// скопировали локальный файл на ftp сервер в директорию /FX_files/ (должна быть создана заранее)
// директорию локального файла можно брать произвольную, например "C:\\downloads\\test.csv"

InternetCloseHandle(hURL);
InternetCloseHandle(hInternetSession);
//----
return(0);
}
//+------------------------------------------------------------------+