[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 550

 
kwadrad:


Necesito calcular el valor del indicador personalizado "OsMA".

Escribir en código

Debería devolver el valor de la OsMA de la vela anterior

pero en realidad devuelve unos resultados erróneos.

El buffer parece ser "0", el código del indicador tiene tres parámetros, escritos en el mismo orden que en el código del indicador, pero el resultado es erróneo.

Pregunta: ¿podría indicar dónde está el error?


El nombre "OsMA" es idéntico al indicador OsMA estándar. ¿Estás seguro de que quieres encontrar el valor del indicador personalizado y no el estándar? Si se trata de uno personalizado, cambie su nombre.
 
paladin80:
El nombre "OsMA" es idéntico al indicador OsMA estándar. ¿Estás seguro de que quieres encontrar el valor del indicador personalizado y no el estándar? Si se trata de uno personalizado, cambie su nombre.


Gracias, genial tonto.

En MT4 está escrito como un indicador personalizado, por eso me equivoqué.

 

No soy un maestro.

En el caso más sencillo, se pasan seis parámetros a la función, ¿verdad? ¿Qué otros parámetros se pasan? ¿Es el búfer el adecuado?

Compruebe todos los detalles, incluso el nombre del indicador.

 
kwadrad:


Gracias, es una tontería genial.

En MT4 está escrito como un indicador personalizado, por eso la he liado.

Está bien, eso pasa. Si quieres un valor OsMA normal en un EA, sólo tienes que utilizar la función iOsMA.
 
Dimka-novitsek:

Parece que he olvidado cómo se escribe la función, ¡¡¡Mira, por favor!!!


Dimych, yo-yo, liebre aquí poniendo capturas de pantalla que no son realmente visibles y ocupan mucho espacio, inserte el código usando SCR.
 
double     Lott  ( double     Lot, double   risk ){
     if ( risk!=0)  Lot=AccountFreeMargin()*risk/100 ; return Lot;}  
 

Lote' - paréntesis izquierdo esperado C:\TeleTRADE/experts/variant parametres .mq4 (392, 63)

Lote' - punto y coma esperado C:\TeleTRADE/experts/qualities.mq4 (392, 63)

';' - asignación esperada por C:\TeleTRADE/experts/variant parametres .mq4 (392, 66)

¡Juramentos, paréntesis y punto y coma!

 
Dimka-novitsek:

Lote' - paréntesis izquierdo esperado C:\TeleTRADE/experts/variant parametres .mq4 (392, 63)

Lote' - punto y coma esperado C:\TeleTRADE/experts/qualities.mq4 (392, 63)

';' - asignación prevista C:\TeleTRADE/expertos/evaluación del parámetro .mq4 (392, 66)

¡Jura, paréntesis y punto y coma!

El valor de retorno debe tomarse entre paréntesis:

double     Lott  ( double     Lot, double   risk ){
     if ( risk!=0)  Lot=AccountFreeMargin()*risk/100 ; return ( Lot);}  
 
¡¡¡¡¡Oh, gracias!!!!!
 

Ayuda con el código. La tarea es sencilla. Sólo necesito abrir y escribir un archivo, pero no en el directorio de la terminal, sino en el que yo mismo especifique.

Sólo puedo abrir y escribir el archivo:

//-----------------------------------------------------------------------------------------
int FF;                     //Представляем переменную
int PP=10;                  //Представляем переменную
//-----------------------------------------------------------------------------------------
int start(){
   FF=FileOpen("DATA.csv",FILE_CSV|FILE_WRITE,';');    // Открываем файл для записи
      if(FF==-1){Alert("Ошибка = ",GetLastError());}   // В случае ошибки, сообщение
      else if(FF!=-1){                                 // Если все верно
         FileWrite(FF,PP);                             // Записываем значение "PP"
         Alert("Число записано = ",PP);                // Сообщение о записанном числе
         FileClose(FF);}}                              // Закрываем файл
//-----------------------------------------------------------------------------------------

He intentado buscar en las bibliotecas, que son"ZI_File_Functions_Full_Lib" -https://www.mql5.com/ru/code/8577 . Pero no he encontrado ninguna información sobre cómo trabajar con ellos correctamente y no puedo averiguarlo por mi cuenta. Hay demasiadas funciones.

Por favor, ayúdenme, tal vez alguien tiene una solución más simple, cómo abrir el archivo en cualquier carpeta especificada por el usuario y registrar un valor allí. Eso es todo, no se necesita nada más. O ayúdame a reducir esta biblioteca o aconsejar cómo implementar esta tarea, todas las demás funciones pueden ser eliminadas. Lo estoy probando yo mismo, no hay errores, el EA no dice nada, no hay resultados.

¡Gracias de antemano por los consejos!