Asesores Expertos: N seconds N points

 

N seconds N points:

Este Asesor Experto monitorea las posiciones de todos los símbolos y con todos los números mágicos. Si la posición ya está abierta durante "Waiting for seconds" y su beneficio ha alcanzado los puntos "Take Profit", cierra las posiciones. Si el beneficio no ha llegado a los puntos "Take Profit", desplaza el nivel take profit.

Autor: Vladimir Karputov

 

Gracias, eso es lo que necesito.

Pero no entiendo el punto "Si el beneficio no ha alcanzado los puntos de "Take Profit" - entonces transfiere el nivel de take profit". ¿Dónde exactamente se mueve TP?

¿Hay una versión para MT4?

 
Valeriy Belozertsev:

Gracias, eso es lo que necesito.

Pero no entiendo el punto "Si el beneficio no ha alcanzado los puntos de "Take Profit" - entonces transfiere el nivel de take profit". ¿Dónde exactamente se mueve TP?

¿Existe una versión para MT4?


Los partidarios de la antigua terminal se ven privados de apoyo. Como castigo por la pereza.

 
Valeriy Belozertsev:

Sólo que no entiendo el punto "Si el beneficio no ha llegado a los puntos "Take Profit" - a continuación, transfiere el nivel de toma de beneficios". ¿Dónde exactamente se mueve TP?

Es un misterio.
 
Vladimir Karputov:

Los partidarios de la antigua terminal han sido privados de apoyo. Como castigo por pereza.

Eso lo cortó.

 
Vladimir Karputov:

Los partidarios de la antigua terminal han sido privados de apoyo. Como castigo por la pereza.


"Nuestra respuesta a Chamberlain".

Sin el apoyo de los "adeptos a MT4" sus códigos seguirán siendo los mejores ejemplos de "cómo no hacerlo mejor"

void OnTimer()
  {
//---
   for(int i=PositionsTotal()-1;i>=0;i--)
      if(m_position.SelectByIndex(i)) // selecciona la posición por el índice para acceder posteriormente a sus propiedades
         if(TimeCurrent()-m_position.Time()>InpSeconds)
           {
            double ExtTakeProfit=0;
            double m_adjusted_point;               // valor del punto ajustado a 3 o 5 puntos
            if(!InitTrade(m_position.Symbol(),m_position.Magic(),m_adjusted_point,ExtTakeProfit))
               continue;
...
  }
//+------------------------------------------------------------------+
//| Init trade object|
//+------------------------------------------------------------------+
bool InitTrade(const string symbol,const ulong magic,double &adjusted_point,double &ext_take_profit)
  {
...
//--- sintonización para 3 o 5 dígitos
   int digits_adjust=1;
   if(m_symbol.Digits()==3 || m_symbol.Digits()==5)
      digits_adjust=10;
   adjusted_point=m_symbol.Point()*digits_adjust;

   ext_take_profit=InpTakeProfit*adjusted_point;
//---
   return(true);
  }


El significado de las cotizaciones (5 dígitos) se conoce ya en la etapa OnInit() y no es necesario realizarlas y ejecutarlas en el análisis de cada posición

 
Andrey F. Zelinsky:

"Nuestra respuesta a Chamberlain".

Sin el apoyo de los "adeptos a MT4" sus códigos seguirán siendo los mejores ejemplos de "cómo mejor no hacerlo"


El significado de las cotizaciones (5 dígitos) se conoce ya en la etapa OnInit() y no es necesario ejecutarlas y realizarlas en el análisis de cada posición


Normalmente lo hago así: defino los dígitos una vez en OnInit(), pero en este Asesor Experto hay una posible variante cuando se abren posiciones para símbolos completamente diferentes en el terminal. Por lo tanto, para cada posición tengo que estar seguro y definir la capacidad de dígitos.

 
Vladimir Karputov:

... pero en este Asesor Experto existe la posibilidad de que en el terminal se abran posiciones para símbolos completamente diferentes. Por eso para cada posición hay que cubrirse y determinar la digitalización.


¿Se ha encontrado alguna vez con alguna cuenta de trading en la que los dígitos de las cotizaciones (5 dígitos y 4 dígitos) fueran diferentes para distintos símbolos?

 
Andrey F. Zelinsky:

Significado de las cotizaciones (5-dígitos) son conocidos ya en la etapa OnInit() y no necesitan ser realizados y ejecutados en el análisis de cada posición

No he podido entender por qué mucha gente utiliza este tipo de construcciones (me las he encontrado muchas veces) - se fijan en los puntos/dígitos para hacer algo con ellos adicionalmente.

Debe haber un sentido, pero no pude darme cuenta de por qué lo escriben así. Después de todo, viene de alguien.

 
Andrey F. Zelinsky:

¿Se ha encontrado alguna vez con una cuenta de operaciones en la que el valor de las cotizaciones (de 5 y 4 dígitos) fuera diferente para distintos símbolos?


Hay ejemplos de sobra (sólo tienes que quitarte la venda de los ojos y mirar más y más). Esperaré a que te des cuenta :)

 
fxsaber:

Nunca he podido entender por qué mucha gente utiliza este tipo de construcciones (me las he encontrado más de una vez): se fijan en los puntos/dígitos para hacer algo extra con ellos.

Debe haber un punto, pero no he podido entender por qué escriben así. Después de todo, vino de alguien.


La lógica allí es simple -- 1) para hacer los mismos ajustes convenientes para diversos dígitos y 2) mucha gente está apenas más acostumbrada a 4 dígitos.

Lo que pasa es que algunos lo usan de forma correcta y discreta, mientras que otros lo usan de forma fea.