Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 633

 
hoz:


Não. Já procurei em minhas pastas do diretório de terminais:

Não há nome de arquivo em nenhum lugar:

Que é o que meu código diz que deveria ser.

significa que caracteres/caracteres do caminho completo + nome do arquivo devem agora ser contados. se mais de 255 - olá - nada vai acontecer.... nenhum erro - infelizmente, sabe-se que isso causa confusão do lado do usuário.

encurte o nome do arquivo para "1" ou algo único e pesquise o disco com as ferramentas embutidas do Windows.

Você também pode criar manualmente um arquivo no diretório desejado. Se ele abrir, significa que procuraremos por um erro no código.

 
barabashkakvn:
Para evitar problemas com o MetaTrader4/MetaEditor4, defina "Run as Administrator" (Executar como Administrador) em configurações de arquivos de terminal e editor. Depois disso, o MQL4.Cloud e os modelos no terminal começarão a funcionar corretamente.


Obrigado. De alguma forma eu não pensei nisso no início :) Vou tentar fazer isso. Mas eu já notei que o "Diretório de Programas" está agora movido para um caminho normal:

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

Como antes. Embora a "Pasta de Dados Compartilhados" ainda esteja aqui:

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


Obrigado. De alguma forma eu não pensei logo no assunto :) Vou tentar. Mas, neste ponto, já vou notar que o "Diretório de Programas" se moveu diretamente para o caminho normal:

Como antes. A "pasta de dados compartilhados" ainda está aqui, porém:

um,de admin.... você tem que? as pessoas não sabem como fazer firewall....

Eu me perguntava como fazê-lo para restringir as permissões...

basicamente o tem - instale-o como "não-administrador".

Obrigado !!!! )))

 
_new-rena:

hmm, de admin.... você tem que? as pessoas não sabem como defaerwall....

Estava me perguntando como fazer isso para restringir os direitos do meta-usuário...

basicamente o tem - instale-o como "não-administrador".

Obrigado !!!! )))


Assim que mudei para o Windows 8.1 tive que inventar desta forma :)
 

No final, não havia arquivo e não há. Aqui está o código atual da classe:

// 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 );
}

Chamando-a do Consultor Especialista. A classe está funcionando. A funçãofPrint, que funciona no fundo (imprime na tela o que você precisa), eu comentei, porque estou testando exatamente a criação e escrita do arquivo. Limitei o nome do arquivo longo a um "T".

Não há arquivo. Aqui está a busca retornada:


 
hoz:

No final, não havia arquivo e não há. Aqui está o código atual da classe:

Chamando-a do Consultor Especialista. A classe está funcionando. A funçãofPrint, que funciona no fundo (imprime na tela o que você precisa), eu comentei, porque estou testando exatamente a criação e escrita do arquivo. Limitei o nome do arquivo longo a um "T".

Não há arquivo. Aqui está uma busca que surgiu:

                  

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);

tente isto, (não gosto de entender o código de outras pessoas)

E outra coisa, o mercado está de pé, os carrapatos não vêm, começam() não funcionam. Coloque o código no init() e compile ... e você ficará feliz )))) !

//DNão se esqueça de transferi-lo para começar() ou o que quer que seja agora...

 

Como utilizar o operador de retorno para devolver ESTRUTURAS?

A função do usuário pode devolver estruturas, ou isto é usado em outro lugar?

Uma estrutura pode conter operadores, ou é apenas um conjunto de variáveis?

E em geral, como eles são tratados? (somente em russo, e sem referências aos programas de alguém com um quilômetro de comprimento, pode-se usar exemplos mais simples, como c=a+b).

 
tara, eu a li. Três vezes:-)) Estou perguntando sobre o operador de retorno. Parece que eu ia "descarregar" algo lá para não reescrever a mesma coisa 5 vezes. Ou é possível declarar algo público/protegido lá e não me incomodar?
 

Aqui

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

diz ele:

"Você pode devolver tipos simples, estruturas simples e ponteiros a objetos . Quaisquer matrizes, objetos de classe ou variáveis de tipos complexos de estrutura não podem ser devolvidos usando o operador de retorno.

"