포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 633

 
hoz :


음 ... 아니. 내 터미널 디렉토리의 폴더를 이미 삽질했습니다.

어디에도 이름이 지정된 파일이 없습니다.

내 코드에서 판단해야 할 사항.

이는 전체 경로 + 파일 이름의 문자/기호가 이제 고려되어야 함을 의미합니다. 255개 이상이면 - adju - 아무 일도 일어나지 않을 것입니다 .... 그것은 오류를 제공하지 않습니다 - 불행히도 이러한 사용자 학대는 Windows에서 발견되어 오해로 이어집니다 ...

파일 이름을 "1"로 줄이거 나 어떻게 든 고유하게 이름을 지정하고 내장 Windows 도구를 사용하여 디스크를 검색하십시오 ...

원하는 디렉토리에 수동으로 파일을 생성할 수도 있습니다. 열리면 코드에서 오류를 찾습니다.

 
barabashkakvn :
MetaTrader4/MetaEditor4의 문제를 방지하려면 터미널 및 편집기 파일 설정에서 "관리자 권한으로 실행"을 설정하십시오. 그런 다음 MQL4.Cloud 및 터미널의 템플릿이 올바르게 작동하기 시작합니다.


덕분에. 어떻게 든 나는 즉시 추측하지 못했습니다 :) 나는 probyvat 할 것입니다. 그러나 현재로서는 "프로그램 카탈로그"가 일반 경로를 따라 즉시 전송되었음을 이미 알 수 있습니다.

C:\Program Files (x86)\Имя терминала\

이전과. "공유 데이터 폴더"는 여전히 여기에 남아 있지만:

C:\Users\hoz\AppData\Roaming\MetaQuotes\Terminal\Common
 
hoz :


덕분에. 어떻게 든 나는 즉시 추측하지 못했습니다 :) 나는 probyvat 할 것입니다. 그러나 현재로서는 "프로그램 카탈로그"가 일반 경로를 따라 즉시 전송되었음을 이미 알 수 있습니다.

이전과. "공유 데이터 폴더"는 여전히 여기에 남아 있지만:

흠, 관리자로부터 .... 필요한가요? 사람들은 어떻게 불을 켤지 몰라요....

나는 심지어 죄악에 관심을 갖게되었습니다-메타쿠의 권리를 제한하기 위해 어떻게 들어갈 수 있었는지, 어떻게해야합니까 ...

원칙적으로 이해됨 - "비관리자"를 대신하여 설치

센크스!!! )))

 
_new-rena :

흠, 관리자로부터 .... 필요한가요? 사람들은 어떻게 불을 켤지 몰라요....

나는 심지어 죄악에 관심을 갖게되었습니다-메타쿠의 권리를 제한하기 위해 어떻게 들어갈 수 있었는지, 어떻게해야합니까 ...

원칙적으로 이해됨 - "비관리자"를 대신하여 설치

센크스!!! )))


Windows 8.1로 전환하면서 즉시 그러한 방식을 발명해야 했습니다. :)
 

결과적으로 파일은 존재하지 않았고 존재하지도 않습니다. 현재 수업 코드는 다음과 같습니다.

 // 1.1 Пишим Log-файл. ====================================================================================================================
CLogging::fWriteLog( string   fs_Txt,                           // Данные, которые требуется записать в log-файл
                       bool    fb_PrintPermission = true ,         // Флаг печати комментариев
                       bool    fb_CommentPermission = true )     // Флаг показа комментариев на графике
{
   static datetime ldt_NewDayOpen = 0 ;
   static string    ls_FileName = "" ;
   datetime         ldt_CurrDayOpen = iTime( Symbol (), NULL , PERIOD_D1 );
   //---- Имя лог файла определяем один раз в сутки
   if ( ldt_NewDayOpen != ldt_CurrDayOpen )
   {
       // ls_FileName = StringConcatenate( WindowExpertName(), "_", Symbol(), "_", Period(), "-", Month(), "-", Day(), ".log" );
      ls_FileName = StringConcatenate ( "T" );
      ldt_NewDayOpen = ldt_CurrDayOpen;
   }
   int handle = FileOpen ( ls_FileName, FILE_READ | FILE_WRITE | FILE_CSV , "/t" );
   
   FileSeek ( handle, 0 , SEEK_END );
   FileWrite ( handle, StringConcatenate (TimeToStr( TimeCurrent (), TIME_DATE|TIME_SECONDS), ": " , fs_Txt) );
   FileClose ( handle );
   
//   fPrint( fs_Txt, fb_PrintPermission, fb_CommentPermission );
}

나는 그것을 전문가에게서 부른다. 작업 클래스. 맨 아래에서 작동하는 fPrint 기능(화면에 필요한 것을 인쇄)을 주석 처리했습니다. 왜냐하면 생성을 테스트하고 파일에 기록합니다. 파일 이름은 단일 "T" 문자로 제한되었습니다.

파일이 없습니다. 다음은 반환된 검색 결과입니다.


 
hoz :

결과적으로 파일은 존재하지 않았고 존재하지도 않습니다. 현재 수업 코드는 다음과 같습니다.

나는 그것을 전문가에게서 부른다. 작업 클래스. 맨 아래에서 작동하는 fPrint 기능(화면에 필요한 것을 인쇄)을 주석 처리했습니다. 왜냐하면 생성을 테스트하고 파일에 기록합니다. 파일 이름은 단일 "T" 문자로 제한되었습니다.

파일이 없습니다. 다음은 반환된 검색 결과입니다.

                  

int handle= FileOpen ( Symbol ()+ ".csv" , FILE_READ | FILE_WRITE | FILE_CSV );
if (handle> 0 )
{                  
FileSeek (handle, 0 , SEEK_END );
double BID=MarketInfo( Symbol (),MODE_BID);
FileWrite (handle, DoubleToString (BID, 4 ));
}
FileClose (handle);

이것을 시도하십시오 (나는 다른 사람들의 코드를 이해하는 것을 좋아하지 않습니다)

그러나 시장이 멈추고 틱이 오지 않으며 start()가 작동하지 않습니다. 코드를 init()에 넣고 컴파일하면 ... 행복할 것입니다.

// start() 또는 새로운 방식으로 시장에 전송하는 것을 잊지 마십시오...

 

return 문 으로 STRUCTURES를 어떻게 반환합니까?

사용자 정의 함수가 구조를 반환할 수 있습니까? 아니면 다른 곳에서 사용됩니까?

구조체가 명령문을 포함할 수 있습니까, 아니면 변수의 모음일 뿐입니까?

일반적으로 어떻게 작업합니까? (c=a+b와 같은 더 간단한 예를 사용할 수 있기 때문에 1마일 길이의 다른 사람 프로그램에 대한 링크 없이 러시아어로만 가능)

 
타라, 읽었습니다. 세 번 :-)) return 문 에 대해 묻고 있습니다. 나는 같은 것을 5번 다시 쓰지 않기 위해 무언가를 "언로드"하려고 했습니다. 아니면 자신을 속이지 않고 공개 / 보호한다고 선언 할 수있는 것이 있습니까 ..?
 

여기

https://docs.mql4.com/en/basis/operators/return

쓴:

" 단순한 유형 , 단순 구조 , 개체 포인터 를 반환할 수 있습니다. return 문 을 사용하여 복잡한 구조 유형의 배열, 클래스 개체, 변수를 반환할 수 없습니다.

"