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

 
Los inversores de hoy en día son inteligentes: saben lo que es la renta variable. Ya han tenido suficiente con estos cohetes de balance en el cielo...
 
Mathemat:
Los inversores de hoy en día son inteligentes: saben lo que es la renta variable. Parece que están hartos de estos cohetes de equilibrio en el cielo...
:) Alexey, todavía hay algunos hombres ricos en Rusia que miran encantados al cielo siguiendo la balanza... :)

... Sólo existe la conciencia y la honestidad, que se derivan directamente de la conciencia... :)

Después me vino un pensamiento y añadí: no es sólo conciencia y honestidad... también hay consecuencias... Para los cuerdos, por supuesto...

 
ToLik_SRGV:

¿Por qué necesita un indicador? Aquí tienes una función para ti:

El parámetro ex es el número de extremos en zigzag, contando de derecha a izquierda, a partir de 1. Los demás parámetros son los ajustes estándar del zigzag.

Un ejemplo de uso de la función:
Devolvamos los 3 últimos extremos del zigzag.


Esto es muy ineficiente, habrá tres bucles dentro de esta función, mientras que las tres cimas se pueden encontrar en una sola.

Para recuperar varios valores del indicador, debemos iniciar un buffer del indicador para ellos y mantener específicamente este buffer en el código del indicador. Y el buffer ocupará demasiada memoria. Por lo tanto, no es una solución demasiado eficaz.

Sería eficaz integrar el código del zigzag en el indicador necesario, y entonces se podrían registrar los máximos en el momento en que aparezcan. Y para estructurar el código de alguna manera, el propio zigzag debe hacerse como una función, o más bien, un paso del zigzag. Entonces el indicador del zigzag tendrá este aspecto

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   int    counted_bars=IndicatorCounted();
//----
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;

   for(int i=0; i<limit; i++) {    RunZZ(i);    }

//----    return(0);   }

Este bucle se puede pegar fácilmente en un indicador o en un Asesor Experto. Y sería fácil utilizar los datos "internos" del zigzag sin problemas innecesarios.

 
Candid:

Esto es muy ineficiente, dentro de este bucle de función, habrá tres bucles mientras que los tres vértices se pueden encontrar en uno...

Puede ser cierto, pero integrar el código ZigZag en un EA u otro indicador, en este caso concreto, es como disparar una ametralladora a un gorrión, una complicación innecesaria.
Por lo que entendí, una persona necesita unos últimos extremos de ZigZag, por lo tanto los ciclos de mi método serán lo suficientemente "cortos" y no sobrecargarán fuertemente el sistema.
 
ToLik_SRGV:

¿Por qué necesita un indicador? Aquí tienes una función para ti:

El parámetro ex es el número de extremos en zigzag, contando de derecha a izquierda, a partir de 1. Los demás parámetros son los ajustes estándar del zigzag.

Un ejemplo de uso de la función:
Devolvemos los 3 últimos extremos del zigzag.


Muchas gracias, ayer estuve trabajando con este zigzag todo el día, de alguna manera devuelve 0 cuando llamo a iCustom. Me queda "atornillar" esta función al Expert Advisor, lo probaré, quizás funcione.
 
Candid:

Esto es muy ineficiente, dentro de esta función, habrá tres ciclos mientras que los tres vértices se pueden encontrar en uno.

Para extraer varios valores del indicador, es necesario crear una memoria intermedia del indicador para ellos, y mantener específicamente esta memoria intermedia en el código del indicador. Y el buffer ocupará demasiada memoria. Por lo tanto, no es una solución demasiado eficaz.

Sería eficaz integrar el código del zigzag en el indicador necesario, y entonces se podrían registrar los máximos en el momento en que aparezcan. Y para estructurar el código de alguna manera, el propio zigzag debería hacerse como una función, o mejor dicho, un paso del zigzag. Entonces el indicador del zigzag tendrá el siguiente aspecto

Este ciclo se puede pegar fácilmente en un indicador o en un Asesor Experto. Y sería fácil utilizar los datos "internos" del zigzag sin problemas innecesarios.

Gracias por la ayuda, pero no quiero estropear nada en el zigzag, estoy aprendiendo.
 
ToLik_SRGV:

No, Artem, AccountBalance () devuelve la cantidad de dinero en la cuenta sin tener en cuenta las posiciones abiertas, mientras que AccountEquity () devuelve el saldo con pérdidas o ganancias flotantes, resulta que digamos que una posición ha pasado a pérdidas flotantes y Martin duplica inmediatamente el lote... Parece extraño...
Como he dicho, la función se llama mejor cuando no hay otras posiciones abiertas, y en este punto, AccountEquity() y AccountBalance() devuelven los mismos números.

¿Cómo lo prevé? La línea de balance a través de AccountBalance() se cuenta por posiciones cerradas, es decir, con una ganancia o pérdida fija, ¿cómo puede drenar los fondos invertidos, en una reducción? Entonces, ¿qué tiene que ver AccountEquity(), si el martin está bien contado con posiciones fijas? Toma la función de Kim, busca la última posición CERRADA en la historia.

De todos modos, está condenada.

Me preguntaba: ¿cuál debería ser la base para calcular el riesgo de una nueva operación, si el criterio principal es el menor riesgo? -

AccountFreeMargin(), AccountEquity(), AccountBalance() ...?

- AccountBalance() - no tiene en cuenta las operaciones abiertas.

- AccountEquity() - ¿Esto es lo que vemos en el gráfico de balance? - En este caso nos apoyaremos en el dinero que aún no nos pertenece.

- AccountFreeMargin() - ¿se puede utilizar? (Admito que puedo estar entendiendo mal lo que es)

 
eugggy:
Gracias por la ayuda, pero no quiero estropear nada en el zigzag, estoy aprendiendo.


Como ejemplo de un zigzag rápido, que construye un canal en las últimas cimas

Archivos adjuntos:
 
Vinin:


Como ejemplo de un zigzag rápido que construye un canal sobre los últimos picos

Bien, lo intentaré. Pero probablemente no funcione para la identificación de figuras.
 

Hola.

Probablemente tengo una simple pregunta para los profesionales, imho, pregunta sobre el límite de caracteres en mql4.

He leído que una variable de tipo cadena no puede contener más de 255 caracteres, ¿existe una limitación similar para if?

Si es así, ¿cuáles son? :)

¿Pueden escribirse las señales para abrir una posición bajo un solo if? o debe dividirse el código en bloques?