포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 1117 1...111011111112111311141115111611171118111911201121112211231124...1178 새 코멘트 atztek 2017.01.09 09:11 #11161 포럼에서 그들은 MT5가 사용자 기록 데이터를 가져오는 기능을 추가할 것이라고 썼습니다. 이것이 이미 구현되었습니까? Alexey Viktorov 2017.01.09 10:12 #11162 Top2n : //--- путь к файлу string path=InpDirectoryName+ "//" +InpFileName; //--- откроем файл ResetLastError (); int file_handle= FileOpen (path, FILE_READ | FILE_BIN ); if (file_handle!= INVALID_HANDLE ) { //--- прочитаем все данные из файла в массив FileReadArray (file_handle,arr); //--- получим размер массива int size= ArraySize (arr); //--- распечатаем данные из массива Print ( " = " ,arr[ 0 ][ 0 ], " = " ,arr[ 1 ][ 1 ], " = " ,arr[ 2 ][ 2 ]); Print ( "Total data = " ,size); //--- закрываем файл FileClose (file_handle); } else Print ( "File open failed, error " , GetLastError ()); 2017.01 . 09 17 : 20 : 40.609 TorFid_v02 (EURUSD,H1) = 0.0 = 0.0 = 0.0 2017.01 . 09 17 : 20 : 40.609 TorFid_v02 (EURUSD,H1) Total data = 1020100 누락된 것, 2차원 배열로의 역변환을 이해하지만 어떻게 물론 내가 저장했다면 for ( int z= 1 ; z<=ARRAY_SIZE_Y; z++) // Перебор по барам, колонка Y { for ( int q= 1 ; q<ARRAY_SIZE_X- 1 ; q++) // Перебор по периоду, колонка X { arr[q][z]= NormalizeDouble (sm.d[q+ 1 ].m[nBar-z], 5 ); // M(I) SMA } } WriteData( 1000 ); //+------------------------------------------------------------------+ //| Запись n элементов массива в файл | //+------------------------------------------------------------------+ void WriteData( const int n) { //--- откроем файл ResetLastError (); int handle= FileOpen (path, FILE_READ | FILE_WRITE | FILE_BIN ); if (handle!= INVALID_HANDLE ) { //--- запишем данные массива в конец файла FileSeek (handle, 0 , SEEK_END ); FileWriteArray (handle,arr, 0 ,n); //--- закрываем файл FileClose (handle); } else Print ( "Failed to open the file, error " , GetLastError ()); } 이 라인도 있기를 바랍니다. //--- входные параметры input string InpFileName= "data.bin" ; input string InpDirectoryName= "SomeFolder" ; 간단하게 시작하세요. 스크립트에서 모두 다시 작성하십시오. 하나는 파일을 쓰기 위한 것이고 다른 하나는 읽은 것을 읽고 인쇄하기 위한 것입니다. 기록을 위해 간단한 2x2 배열을 만드십시오. int arr[ 2 ][ 2 ]; void OnStart (){ int z = 0 ; for ( int i = 0 ; i < 2 ; i++) { arr[i][z] = i+z+ 1 ; z++; } WriteData();} 기록된 요소의 수를 제거합니다. 이것은 처음부터 끝까지 전체 파일을 씁니다 . 파일이 지정된 경로에 나타나는지 확인합니다. void WriteData() // здесь FileWriteArray (handle,arr); // и здесь 그런 다음 무슨 일이 있었는지 읽고 인쇄하십시오. 1과 3이 보이면 배열을 채우는 데 문제가 있는 것입니다. Any rookie question, so ファイル関数 - FileReadArray ファイル関数 - FileWriteArray Alexey Viktorov 2017.01.09 10:54 #11163 Top2n : 자, 무슨 일이 일어나는지 보세요. 스크립트 코드를 작성합니다. //+------------------------------------------------------------------+ //| WriteArray.mq5 | //| Viktorov | //| v4forex@yandex.ru | //+------------------------------------------------------------------+ #property copyright "Viktorov" #property link "v4forex@yandex.ru" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ string InpFileName = "data.bin" ; string InpDirectoryName = "SomeFolder" ; string path=InpDirectoryName+ "//" +InpFileName; int arr[ 3 ][ 3 ]; int handle; void OnStart (){ int i = 0 , z = 0 ; for (i = 0 ; i < 3 ; i++) { for (z = 0 ; z < 3 ; z++) { arr[i][z] = i*z+ 1 ; } } WriteData();} //+------------------------------------------------------------------+ void WriteData() { //--- откроем файл ResetLastError (); handle= FileOpen (path, FILE_READ | FILE_WRITE | FILE_BIN ); if (handle!= INVALID_HANDLE ) { //--- запишем данные массива в конец файла FileSeek (handle, 0 , SEEK_END ); FileWriteArray (handle,arr); //--- закрываем файл FileClose (handle); } else Print ( "Failed to open the file, error " , GetLastError ()); } 스크립트 코드를 읽습니다. //+------------------------------------------------------------------+ //| ReadArray.mq5 | //| Viktorov | //| v4forex@yandex.ru | //+------------------------------------------------------------------+ #property copyright "Viktorov" #property link "v4forex@yandex.ru" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ string InpFileName = "data.bin" ; string InpDirectoryName = "SomeFolder" ; string path=InpDirectoryName+ "//" +InpFileName; int handle; void OnStart (){ int arr[ 3 ][ 3 ]; int i = 0 , z = 0 ; handle = FileOpen (path, FILE_READ | FILE_WRITE | FILE_BIN ); FileReadArray (handle, arr); for (i = 0 ; i < 3; i++) { for (z = 0 ; z < 3 ; z++) { Print ( "arr[" , i, "][" , z, "]" , arr[i][z]); } }} //+------------------------------------------------------------------+ 그리고 이것이 인쇄된 것입니다. 2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 0 ][ 0 ] 1 2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 0 ][ 1 ] 1 2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 0 ][ 2 ] 1 2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 1 ][ 0 ] 1 2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 1 ][ 1 ] 2 2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 1 ][ 2 ] 3 2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 2 ][ 0 ] 1 2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 2 ][ 1 ] 3 2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 2 ][ 2 ] 5 따라서 전환을 위해 종소리와 휘파람이 필요하지 않습니다. 초기에 동일한 어레이를 설정하기만 하면 됩니다. 이것이 mql5라는 사실에 주의하지 마십시오. mql4에서도 같은 방식으로 작동합니다. Any rookie question, so Problem to read a Questions from Beginners MQL5 Mikhail Toptunov 2017.01.09 11:14 #11164 Alexey Viktorov : 그런 다음 무슨 일이 있었는지 읽고 인쇄하십시오. 1과 3이 보이면 배열을 채우는 데 문제가 있는 것입니다. 솔직히, 나는 무슨 일이 일어 났는지조차 모르지만 모든 것이 잘 작동했습니다. 각 새 막대 에 한 줄을 추가하는 것이 남아 있습니다. 질문이 없기를 바랍니다.))) 고맙습니다! stepan.brend 2017.01.09 14:54 #11165 여보세요!!! 말해 주세요. 깨끗한 MT4를 다운로드하고 싶은데 어디에서도 찾을 수 없고 사이트에서 MT5만 다운로드합니다. 깨끗한 최신 빌드를 누군가에게 던져주세요. 미리 감사드립니다!!! Vitaly Muzichenko 2017.01.09 15:07 #11166 stepan.brend : 여보세요!!! 말해 주세요. 깨끗한 MT4를 다운로드하고 싶은데 어디에서도 찾을 수 없고 사이트에서 MT5만 다운로드합니다. 깨끗한 최신 빌드를 누군가에게 던져주세요. 미리 감사드립니다!!! 원하는 DC에서 다운로드하면 레이블의 로고만 다를 뿐 깨끗한 최신 버전을 갖게 됩니다. stepan.brend 2017.01.09 15:15 #11167 Vitaly Muzichenko : 원하는 DC에서 다운로드하면 레이블의 로고만 다를 뿐 깨끗한 최신 버전을 갖게 됩니다. 문제는 시장이 작동하지 않는다는 것입니다. MT4에 하나 이상의 유틸리티를 설치할 수 없습니다. 어떻게 해야할지 알려주세요) 유틸리티를 설치하는 것이 매우 필요합니다 Vitalie Postolache 2017.01.09 15:44 #11168 stepan.brend : 문제는 시장이 작동하지 않는다는 것입니다. MT4에 하나 이상의 유틸리티를 설치할 수 없습니다. 어떻게 해야할지 알려주세요) 유틸리티를 설치하는 것이 매우 필요합니다 다른 DC에서 계정을 엽니다. 또는 다른 유형의 계정. 시장의 존재 여부는 전적으로 계정에 달려 있습니다. stepan.brend 2017.01.09 21:55 #11169 Vitalie Postolache : 다른 DC에서 계정을 엽니다. 또는 다른 유형의 계정. 시장의 존재 여부는 전적으로 계정에 달려 있습니다. 비탈리 포스톨라케 : 다른 DC에서 계정을 엽니다. 또는 다른 유형의 계정. 시장의 존재 여부는 전적으로 계정에 달려 있습니다. 3개의 DC와 다른 계정을 시도했지만 시장이 여전히 작동하지 않습니다( Vitalie Postolache 2017.01.09 23:50 #11170 stepan.brend : 세 개의 DC와 다른 계정을 시도했지만 시장이 여전히 작동하지 않습니다( 기적은 일어나지 않습니다. 터미널 버전은 무엇입니까? 신호 탭이 없는 계정을 보았지만 대부분 시장이 있습니다. 1...111011111112111311141115111611171118111911201121112211231124...1178 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
포럼에서 그들은 MT5가 사용자 기록 데이터를 가져오는 기능을 추가할 것이라고 썼습니다. 이것이 이미 구현되었습니까?
string path=InpDirectoryName+ "//" +InpFileName;
//--- откроем файл
ResetLastError ();
int file_handle= FileOpen (path, FILE_READ | FILE_BIN );
if (file_handle!= INVALID_HANDLE )
{
//--- прочитаем все данные из файла в массив
FileReadArray (file_handle,arr);
//--- получим размер массива
int size= ArraySize (arr);
//--- распечатаем данные из массива
Print ( " = " ,arr[ 0 ][ 0 ], " = " ,arr[ 1 ][ 1 ], " = " ,arr[ 2 ][ 2 ]);
Print ( "Total data = " ,size);
//--- закрываем файл
FileClose (file_handle);
}
else
Print ( "File open failed, error " , GetLastError ());
2017.01 . 09 17 : 20 : 40.609 TorFid_v02 (EURUSD,H1) Total data = 1020100
누락된 것, 2차원 배열로의 역변환을 이해하지만 어떻게
물론 내가 저장했다면
{
for ( int q= 1 ; q<ARRAY_SIZE_X- 1 ; q++) // Перебор по периоду, колонка X
{
arr[q][z]= NormalizeDouble (sm.d[q+ 1 ].m[nBar-z], 5 ); // M(I) SMA
}
}
WriteData( 1000 );
//| Запись n элементов массива в файл |
//+------------------------------------------------------------------+
void WriteData( const int n)
{
//--- откроем файл
ResetLastError ();
int handle= FileOpen (path, FILE_READ | FILE_WRITE | FILE_BIN );
if (handle!= INVALID_HANDLE )
{
//--- запишем данные массива в конец файла
FileSeek (handle, 0 , SEEK_END );
FileWriteArray (handle,arr, 0 ,n);
//--- закрываем файл
FileClose (handle);
}
else
Print ( "Failed to open the file, error " , GetLastError ());
}
이 라인도 있기를 바랍니다.
input string InpFileName= "data.bin" ;
input string InpDirectoryName= "SomeFolder" ;
간단하게 시작하세요. 스크립트에서 모두 다시 작성하십시오. 하나는 파일을 쓰기 위한 것이고 다른 하나는 읽은 것을 읽고 인쇄하기 위한 것입니다. 기록을 위해 간단한 2x2 배열을 만드십시오.
void OnStart ()
{
int z = 0 ;
for ( int i = 0 ; i < 2 ; i++)
{
arr[i][z] = i+z+ 1 ;
z++;
}
WriteData();
}
기록된 요소의 수를 제거합니다. 이것은 처음부터 끝까지 전체 파일을 씁니다 . 파일이 지정된 경로에 나타나는지 확인합니다.
FileWriteArray (handle,arr); // и здесь
자, 무슨 일이 일어나는지 보세요.
스크립트 코드를 작성합니다.
//| WriteArray.mq5 |
//| Viktorov |
//| v4forex@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "Viktorov"
#property link "v4forex@yandex.ru"
#property version "1.00"
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
string InpFileName = "data.bin" ;
string InpDirectoryName = "SomeFolder" ;
string path=InpDirectoryName+ "//" +InpFileName;
int arr[ 3 ][ 3 ];
int handle;
void OnStart ()
{
int i = 0 , z = 0 ;
for (i = 0 ; i < 3 ; i++)
{
for (z = 0 ; z < 3 ; z++)
{
arr[i][z] = i*z+ 1 ;
}
}
WriteData();
}
//+------------------------------------------------------------------+
void WriteData()
{
//--- откроем файл
ResetLastError ();
handle= FileOpen (path, FILE_READ | FILE_WRITE | FILE_BIN );
if (handle!= INVALID_HANDLE )
{
//--- запишем данные массива в конец файла
FileSeek (handle, 0 , SEEK_END );
FileWriteArray (handle,arr);
//--- закрываем файл
FileClose (handle);
}
else
Print ( "Failed to open the file, error " , GetLastError ());
}
스크립트 코드를 읽습니다.
//| ReadArray.mq5 |
//| Viktorov |
//| v4forex@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "Viktorov"
#property link "v4forex@yandex.ru"
#property version "1.00"
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
string InpFileName = "data.bin" ;
string InpDirectoryName = "SomeFolder" ;
string path=InpDirectoryName+ "//" +InpFileName;
int handle;
void OnStart ()
{
int arr[ 3 ][ 3 ];
int i = 0 , z = 0 ;
handle = FileOpen (path, FILE_READ | FILE_WRITE | FILE_BIN );
FileReadArray (handle, arr);
for (i = 0 ; i < 3; i++)
{
for (z = 0 ; z < 3 ; z++)
{
Print ( "arr[" , i, "][" , z, "]" , arr[i][z]);
}
}
}
//+------------------------------------------------------------------+
그리고 이것이 인쇄된 것입니다.
2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 0 ][ 1 ] 1
2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 0 ][ 2 ] 1
2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 1 ][ 0 ] 1
2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 1 ][ 1 ] 2
2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 1 ][ 2 ] 3
2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 2 ][ 0 ] 1
2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 2 ][ 1 ] 3
2017.01 . 09 12 : 46 : 22.979 ReadArray (EURUSD,M1) arr[ 2 ][ 2 ] 5
따라서 전환을 위해 종소리와 휘파람이 필요하지 않습니다. 초기에 동일한 어레이를 설정하기만 하면 됩니다.
이것이 mql5라는 사실에 주의하지 마십시오. mql4에서도 같은 방식으로 작동합니다.
그런 다음 무슨 일이 있었는지 읽고 인쇄하십시오. 1과 3이 보이면 배열을 채우는 데 문제가 있는 것입니다.
솔직히, 나는 무슨 일이 일어 났는지조차 모르지만 모든 것이 잘 작동했습니다. 각 새 막대 에 한 줄을 추가하는 것이 남아 있습니다. 질문이 없기를 바랍니다.)))
고맙습니다!
여보세요!!! 말해 주세요. 깨끗한 MT4를 다운로드하고 싶은데 어디에서도 찾을 수 없고 사이트에서 MT5만 다운로드합니다. 깨끗한 최신 빌드를 누군가에게 던져주세요. 미리 감사드립니다!!!
여보세요!!! 말해 주세요. 깨끗한 MT4를 다운로드하고 싶은데 어디에서도 찾을 수 없고 사이트에서 MT5만 다운로드합니다. 깨끗한 최신 빌드를 누군가에게 던져주세요. 미리 감사드립니다!!!
원하는 DC에서 다운로드하면 레이블의 로고만 다를 뿐 깨끗한 최신 버전을 갖게 됩니다.
다른 DC에서 계정을 엽니다. 또는 다른 유형의 계정. 시장의 존재 여부는 전적으로 계정에 달려 있습니다.
다른 DC에서 계정을 엽니다. 또는 다른 유형의 계정. 시장의 존재 여부는 전적으로 계정에 달려 있습니다.
3개의 DC와 다른 계정을 시도했지만 시장이 여전히 작동하지 않습니다(