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

 

Gospoda programisty...

S bolshim uvazheniyem k Vam

El indicador MACD se encuentra en el marco temporal más amplio https://www.mql5.com/ru/forum/112720

A est tochno takoi gotovyi, tolko po indikator OsMA? Ya tut v kode probyat menyat iMACD na iOsMA chto to tut ne kleetsya... ¿Ili kak sdelat toch tolko po OSMA? pomogite....

 

Gracias por su ayuda, tal vez este hilo ayude, Sinceramente Tolik.

 
Rossi:

1) RSIBuffer=iCustom(NULL, 0, "2MAPercentage",percent, 0,1);

2) RSIBuffer=iCustom(NULL, 0, "2MAPercentage",percent, period1, period2, 0,1);

3) RSIBuffer=iCustom(NULL, 0, "2MAPercentage",0,1);

Señores, ¿por qué mi Asesor Experto llamando al indicador funciona sin interrupción sin variable alimentada o con una variable alimentada (que viene después de la cabecera del indicador, casos 3 y 1), pero cuando se alimentan dos o más para la optimización, entonces en las pruebas es una carga y descarga constante del indicador (caso 2), con una gran ralentización en el trabajo?

Compruebe que los datos introducidos en el indicador personalizado son correctos. Los datos incorrectos harán que se sobrecargue y ralentice todo el proceso.
 

Mientras escarbaba en el código de la red de arrastre estándar, se me ocurrió una idea para modificar (añadir un par de lotes más a la posición existente). Como no es posible modificar un lote mediante la función OrderModify( .... ), lo he modificado mediante la función OrderSend (....), pero no ocurre nada, el pedido no se abre, tampoco aparecen mensajes de error. Me pregunto por qué, ¿es porque sólo se puede modificar un pedido elegido en una iteración, o es imposible hacerlo en el arrastre? ¿Y cómo es posible hacer esto en general? Pasar parámetros a la llamada de la función de arrastre, pero cómo se llama solamente. ¿Tal vez a través de una variable global? Entonces tendríamos que escribir no una sino varias variables a la vez, lo que complica la ejecución.

¿Quién sabe, puede compartir sus conocimientos?

 
Infinity:

Mientras escarbaba en el código de la red de arrastre estándar, se me ocurrió una idea para modificar (añadir un par de lotes más a la posición existente). Como no es posible modificar el lote mediante la función OrderModify( .... ), lo he modificado mediante la función OrderSend (....), pero no ocurre nada, no se abre la orden, tampoco aparecen mensajes de error. Me pregunto por qué, ¿es porque sólo se puede modificar una orden elegida en una iteración, o es imposible hacerlo en el arrastre? ¿Y cómo es posible hacer esto en general? Para pasar los parámetros a la llamada de la función de arrastre, pero cómo sólo se llama. ¿Tal vez podríamos usar una variable global? Entonces tendríamos que escribir no una sino varias variables a la vez y se complicaría la ejecución.

¿Quién sabe, puede compartir sus conocimientos?

Es posible hacer que hasta un diablo con cuernos... :)
Puedo decírselo sin su código - llame a la función de apertura de posiciones inmediatamente después de modificar StopLoss en el arrastre.
 

En el indicador, después de alcanzar el valor de Bares de Max bar en la ventana, IndicatorCounted() no cambia el valor cuando llega una nueva vela, como resultado la vela llega, el gráfico se mueve, pero el indicador se mantiene.

Por favor, aconséjeme cómo resolver este problema (puedo simplemente aumentar el número de barras en la ventana, pero el indicador siempre funcionará).

 

Estimados gurús, por favor, aconsejen cómo encontrar una solución a este sencillo problema:

La entrada del script son 25 variables de cadena externas llamadas XXXXXX_contador, donde el contador es un número natural 1,2,3... 25

el cuerpo del script debe procesar estas variables en un bucle for ( i=1 ; i<=25 ; i++ ){...}

No consigo averiguar cómo referirse a la variable correspondiente en el cuerpo del bucle, obteniendo su nombre mediante el contador i

un array estaría bien, pero los arrays externos no están permitidos....

el problema se reduce, en última instancia, a referirse a una variable cuyo nombre está contenido en una variable de cadena.

Respetuosamente, Gravitus

 

Gravitus:

estaría bien, pero las matrices externas no están permitidas....

permitido.
 
reag:

En el indicador, después de alcanzar el valor de Bares de Max bar en la ventana, IndicatorCounted() no cambia el valor cuando llega una nueva vela, como resultado la vela llega, el gráfico se mueve, pero el indicador se mantiene.

Por favor, aconséjeme cómo resolver este problema (puedo simplemente aumentar el número de barras en la ventana, pero el indicador siempre funcionará).

En lugar de IndicatorCounted() escribe lo que necesitas.
 
Andrei01:
permitido.

Cuando intento escribir

cadena externa array[25];

el compilador da

'array' - no se permiten las matrices externas

Razón de la queja: