[¡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 300

 
¿Por qué está rota mi función de "comentario" y "edición"? No hay opciones en la parte superior - la parte superior está completamente en blanco - no puedes añadir imágenes, por ejemplo. ¿Qué tiene esto que ver?
 
yosuf:
a Reshetov^ Así: int start() { Comment("Posiciones abiertas: ", OrdersTotal()); string smb=Symbol(); int tf=Period(); gsID=smb+IsDemo()+IsTesting()+IsOptimization()+"." +Magic; inf=""; INF(TTS(TimeCurrent()), true); main(Magic, smb, tf); Comment(inf); ¿y dónde y cómo se muestra el número?
Hay una combinación mágica: Ctrl+Alt+M y una tecla útil "Enter", para no estropear la visión de los interlocutores. Como la vista es más valiosa, no puedo responder nada específico sobre su lavado de código.
 
Me podeis decir como se trabaja con ArrayMaximum en el EA, en el indicador funciona, he marcado arrays y buffers, pero en el EA no está claro.
 
Alexandr24:
Me podeis decir como se trabaja con ArrayMaximum en el EA, en el indicador funciona, he marcado arrays y buffers, pero en el EA no está claro.


Primero hay que preparar la matriz. Pruebe el script que aparece en la ayuda del MetaEditor:

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start(){
  double num_array[15]={4,1,6,3,9,4,1,6,3,9,4,1,6,3,9};
  int    maxValueIdx=ArrayMaximum(num_array);
  Alert("Max value = ", num_array[maxValueIdx]);
  
  return(0);
}
//+------------------------------------------------------------------+
 
drknn:


Primero hay que preparar la matriz. Pruebe la secuencia de comandos que aparece en la ayuda del meta-editor:

En mi indicador se ve así:

sm[i]=...........;

double IndexMaxValue=Máximo de la matriz(sm,n,shift);

No sé cómo adjuntarlo a tu script, ¿cómo hacerlo en el Expert Advisor?

Puedo dar salida a sm[i] a través de iCustom, pero ¿cómo puedo poner la variable iCustom en ArrayMaximum?

 
Alexandr24:

¿pero cómo se puede poner la variable iCustom en ArrayMaximum que no es un array?

No he citado la documentación para nada. Existe la descripción de los parámetros que se pasan a las entradas de las funciones. Si está escrito allí que el parámetro debe ser un nombre de matriz, meter otra función (iCustom() en su lugar no nos servirá de nada. Esto significa que antes de llamar a ArrayMaximum() debemos declarar el array, luego llenar este array con valores y sólo después llamar a ArrayMaximum().
 
drknn:
No he citado la documentación para nada. Existe una descripción de los parámetros que deben darse como entrada a una función. Si allí dice que el parámetro debe ser un nombre de matriz, meter otra función (iCustom() en particular) no llevará a nada bueno. Esto significa que antes de llamar a ArrayMaximum() debemos declarar un array y luego llenar este array con valores y sólo después se puede llamar a ArrayMaximum()
.
He intentado poner el código del indicador en un EA, pero no funciona nada, lo que pasa es que un indicador necesita indicar los buffers y no lo he visto en los EAs, por eso un indicador funciona y el mismo código no funciona en un EA. Tengo un array lleno de ciclo sm[i] y el indicador lo ve pero el EA con el mismo código no. ¿Tal vez, las matrices en los EAs deben ser declaradas de manera diferente que en los indicadores?
 
Alexandr24:
He intentado poner el código del propio indicador en el EA, pero no funciona nada, IMHO la cuestión es que el indicador necesita indicar los buffers y no lo he visto por ningún lado en los EAs, por eso el indicador funciona, pero el mismo código no funciona en los EAs. Tengo un array lleno de ciclo sm[i] y el indicador lo ve pero el EA con el mismo código no. ¿Tal vez, las matrices en los EAs deben ser declaradas de manera diferente que en los indicadores?

Resolverlo - sin preguntas: https://www.mql5.com/ru/articles/mt4
 
Así que se trata de escribir un indicador. Hay un indicador y funciona, pero el Asesor Experto con el código de este indicador no quiere, no ve el array sm[i].
 
drknn:

He editado el post - hay un enlace diferente ahora - haga clic de nuevo - hay un curso MUY bueno allí - mejor empezar con la creación de un script.
Gracias, rellenaremos los espacios en blanco :)