Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 633

 
hoz:


No. Ya he buscado en las carpetas del directorio de mi terminal:

No hay ningún nombre de archivo en ninguna parte:

Que es lo que mi código dice que debe ser.

significa que los caracteres/caracteres de la ruta completa+nombre de archivo deben contarse ahora. si son más de 255 - hola - no pasará nada.... ningún error - desgraciadamente, se sabe que causa confusión en el usuario...

acortar el nombre del archivo a "1" o algo único y buscar en el disco con las herramientas incorporadas de Windows...

También puede crear un archivo en el directorio requerido a mano. Si se abre, significa que buscaremos un error en el código.

 
barabashkakvn:
Para evitar problemas con MetaTrader4/MetaEditor4, establezca "Ejecutar como administrador" en la configuración del terminal y del archivo del editor. Después de eso el MQL4.Cloud y las plantillas en el terminal comenzarán a funcionar correctamente.


Gracias. Por alguna razón no he pensado en eso al principio :) Intentaré hacerlo. Pero ya me he dado cuenta de que el "Directorio de programas" se ha movido a una ruta normal:

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

Como antes. Aunque la "Carpeta de Datos Compartidos" sigue aquí:

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


Gracias. Por alguna razón no se me ocurrió de inmediato :) Lo intentaré. Pero, en este punto, ya notaré que el "Directorio de programas" se ha movido directamente a la ruta normal:

Como antes. Sin embargo, la "carpeta de datos compartidos" sigue aquí:

um, de admin.... ¿hay que hacerlo? la gente no sabe cómo hacer un firewall....

Me preguntaba cómo hacerlo para restringir los permisos...

básicamente lo tengo - instalarlo como "no administrador"

¡¡¡¡Gracias !!!! )))

 
_new-rena:

hmm, de admin.... ¿tengo que hacerlo? la gente no sabe cómo defaerwall....

Me preguntaba cómo hacer esto para restringir los derechos del usuario meta...

básicamente lo tengo - instalarlo como "no administrador"

¡¡¡¡Gracias !!!! )))


En cuanto me pasé a Windows 8.1 tuve que inventar esta forma :)
 

Al final, no hubo archivo ni lo hay. Aquí está el código actual de la clase:

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

Llamada desde el Asesor Experto. La clase está funcionando. La funciónfPrint, que funciona en la parte inferior (imprime en la pantalla lo que necesita), la he comentado, porque estoy probando exactamente la creación y escritura en el archivo. He limitado el nombre largo del archivo a una "T".

No hay ningún archivo. Aquí está la búsqueda devuelta:


 
hoz:

Al final, no hubo archivo ni lo hay. Aquí está el código actual de la clase:

Llamada desde el Asesor Experto. La clase está funcionando. La funciónfPrint, que funciona en la parte inferior (imprime en la pantalla lo que necesita), la he comentado, porque estoy probando exactamente la creación y escritura en el archivo. He limitado el nombre largo del archivo a una "T".

No hay ningún archivo. Esta es una búsqueda que apareció:

                  

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

prueba esto, (no me gusta entender el código de otras personas)

Y otra cosa, el mercado se para, los ticks no vienen, start() no funciona. Pon el código en init() y compila... y serás feliz ))) ¡!

//No olvides transferirlo a start() o lo que sea ahora...

 

¿Cómo se utiliza la sentencia return para devolver ESTRUCTURAS?

¿Puede la función del usuario devolver estructuras, o se utiliza en otro lugar?

¿Una estructura puede contener operadores o es sólo un conjunto de variables?

Y en general, ¿cómo se manejan? (sólo en ruso, y sin referencias a los programas de alguien de una milla de largo, puede utilizar ejemplos más simples, como c = a + b).

 
tara, lo he leído. Tres veces:-)) Pregunto por el operador de retorno. Parece que iba a "descargar" algo allí para no reescribir lo mismo 5 veces. ¿O es posible declarar algo público/protegido allí y que no me moleste?
 

Aquí

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

dice:

" Puede devolver tipos simples, estructuras simples y punteros a objetos . Las matrices, los objetos de clase o las variables de tipos de estructuras complejas no pueden devolverse con el operador return.

"