Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 833

 
Vladimir Karputov:

En primer lugar, formule claramente:

  • la condición para abrir una posición
  • condición de posición de cierre

Las principales condiciones para la apertura de la posición en el ejemplo de la apertura para comprar (para las ventas - espejo):

  1. la línea estocástica rápida cruza la línea estocástica lenta hacia arriba
  2. tenemos que añadir una condición - si hay una posición abierta para comprar, en una nueva señal (ver punto anterior) se abre una operación sólo cuando el precio de apertura de la nueva operación es mayor que el precio de apertura de la última posición abierta por un número determinado de puntos, por ejemplo 30.

Las condiciones para cerrar una posición (para comprar), deben cumplirse ambas condiciones

  1. la línea de estocástico lento cruza el nivel 80 de estocástico desde arriba hacia abajo
  2. hay que añadir una condición: se trata del segundo cruce (véase el punto anterior) para cada posición abierta previamente.
Perdón si no expliqué el cierre, en el gráfico el cierre se ve así: dos señales para cerrar la operación están marcadas con cruces rojas, porque la línea estocástica lenta (roja) cruza el nivel 80 hacia abajo. Pero la operación se cierra sólo en la segunda señal/cruce


 
gastinets:

condiciones básicas para la apertura de una posición utilizando el ejemplo de una apertura de compra (para la venta reflejada):

  1. la línea estocástica rápida cruza la línea estocástica lenta desde abajo hacia arriba
  2. Tenemos que añadir una condición - si hay una posición abierta para comprar, en una nueva señal (ver arriba) se abre una posición sólo cuando el precio de apertura de una nueva posición es mayor que el precio de la última posición abierta por un número determinado de puntos, por ejemplo 30.

***


Parece que nos falta una condición para abrir una posición: en qué rango debe estar el indicador (o un nivel por encima o por debajo del cual debe estar el indicador) ...

 
Vladimir Karputov:

Parece que nos falta la condición para abrir una posición: en qué rango debe estar el indicador (o el nivel por encima o por debajo del cual debe estar el indicador)...

Si podemos bajar el nivel para simplificar), es decir, el nivel estocástico no es importante para abrir

 
gastinets:

Si podemos bajar el nivel para simplificar) , es decir, el nivel estocástico no es importante para la apertura

¿Podemos moverlo a un tema aparte, algo así como" Asesor ExpertoEstocástico, posiciones indentadas"?

 

Reprogramemos.

¿Hago un nuevo tema o lo haces tú?

 
gastinets:

movámoslo

¿Debo hacer un nuevo tema o lo haces tú?

Por favor, cree un hilo de conversación en la sección:Sistemas de Comercio Automatizado

 
Los comentarios no relacionados con este tema han sido trasladados a "Preguntas de los principiantes de MQL4 MT4 MetaTrader 4".
 
Vladimir Karputov:

Creo que se puede hacer mucho más simple - en el Asesor de Expertos, el umbral para el cierre establecido en 100, y dar la señal de un peso de 0,5 - por lo que la señal con un peso de 0,5 NUNCA superar el umbral de 100


Gracias. Parece que funciona.

 
Por favor, explique cuál es el problema. La función se supone que busca entre todas las posiciones abiertas y cuenta el número de posiciones con un número mágico determinado. Pero en realidad sólo elige uno de toda la lista abierta por otro EA con el mismo ticket y número mágico, por lo que el recuento es siempre =0.
int OpenPositions()//проверка открытых позиций
  {
   int count=0;
   for(int z=PositionsTotal()-1; z>=0; z --)
     {
      if(!PositionSelect(_Symbol))
        {
         Print(__FUNCSIG__" позиция не выбрана ",GetLastError()); continue;
        }
      long  ticket = PositionGetInteger(POSITION_TICKET);
            Print(__FUNCSIG__" ТИКЕТ ", IntegerToString(ticket));
      ulong myMN=PositionGetInteger(POSITION_MAGIC);
            Print(__FUNCSIG__" МАГИК ", IntegerToString(myMN));
      if(myMN==Magic)
            count++;
     }
   return(count);
  }