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

 
Mikhail Rudyk:

Hola

Por favor, indique cómo reemplazar correctamente la expresión

trend[i] = (i<Bars-1) ? (precio>máximo[i+1]) ? 1 : (precio<amin[i+1]) ? -1 : tendencia[i+1] : 0;

con operadores (if y else)

gracias

Así

// trend[i] = (i<Bars-1) ? ( (price>amax[i+1]) ? 1 : (price<amin[i+1]) ? -1 : trend[i+1] ) : 0;
if(i<Bars-1) {
 if(price>amax[i+1]) 
  trend[i] = 1;
  else {
  if(price<amin[i+1])
   trend[i] = -1;
  else
   trend[i] = price<amin[i+1];
  }
} else {
  trend[i] = 0;
}
 
Mikhail Rudyk:

Hola

Por favor, dígame cómo reemplazar correctamente la expresión

trend[i] = (i<Bars-1) ? (precio>máximo[i+1]) ? 1 : (precio<amin[i+1]) ? -1 : tendencia[i+1] : 0;

con operadores (if y else)

gracias

No es así. Porque esta expresión está escrita por error.

¿Cómo lee el operador?

asignar el valor1 a la variable cuando se cumpla la condición, en caso contrario el valor2

El operador compuesto tiene el siguiente aspecto:

int x;
x = a == 3 ? 1 : a == 2 ? 7 : 9;
int x;
if(a == 3)
 x = 1;
else if(a == 2)
 x = 7;
else 
 x = 9;

Si a==3, asigna el valor 1 a la variable x en caso contrario si a == 2, asigna el valor 7 a la variable x en todos los demás casos, asigna el valor 9 a la variable x;

 

Buenas noches. Una pregunta para los distinguidos conocedores. ¿Alguien ha visto o puede sugerir dónde buscar?

Estoy buscando un Asesor Experto de código abierto, o una clase, o un fragmento de código con un algoritmo claro.

El propósito - simular virtualmente la operación de la cuenta en las cotizaciones reales. Es decir, un Asesor Experto o indicador instalado en una cuenta real toma cotizaciones reales y simula la negociación dentro de sí mismo.

Los resultados de esta operación se muestran de cualquier forma disponible para su posterior análisis.

Estaría muy agradecido por cualquier enlace o idea sobre este tema o cerca de este tema

 
Sergey Voytsekhovsky:

Buenas noches. Una pregunta para los distinguidos conocedores. ¿Alguien ha visto o puede sugerir dónde buscar?

Estoy buscando un Asesor Experto de código abierto, o una clase, o un fragmento de código con un algoritmo claro.

El propósito - simular virtualmente la operación de la cuenta en las cotizaciones reales. Es decir, un Asesor Experto o indicador instalado en una cuenta real toma cotizaciones reales y simula la negociación dentro de sí mismo.

Los resultados de esta operación se muestran de cualquier forma disponible para su posterior análisis.

Estaré muy agradecido por cualquier enlace o idea sobre este tema o sobre temas circunspectos

¿Y tú para qué mercado?

 
Vladimir Karputov:

Puede basarse en el identificador de eventos OnChartEvent y CHARTEVENT_CHART_CHANGE - cualquier cambio de gráfico. Puede comprobarlo en un temporizador (por ejemplo, una vez por segundo).

Aquí hay un ejemplo basado en OnChartEvent y el identificador de evento CHARTEVENT_CHART_CHANGE:

Es curioso, si mantienes el cursor en la escala de precios y mueves el ratón hacia arriba, los números se mueven, es decir, como si el área de la pantalla se redimensionara por un momento, pero luego se estabiliza de nuevo.

¿Hay alguna manera de auto-expandir la pantalla hasta un número determinado de puntos?
 

haciendo un EA con iAO e iAC...

la lógica es simple coincidencia de colores!!! ambos verdes, entonces COMPRAR, ambos rojos VENDER
pero algo no funciona!!! muchos bugs, verde-rojo!!! mira plz...

if(CopyBuffer(handle_AO_0, 0, 0, 200, AO_0) <= 0)
   return;     

if(CopyBuffer(handle_AC_0, 0, 0, 200, AC_0) <= 0)
   return;

ArraySetAsSeries(AO_0, true);
ArraySetAsSeries(AC_0, true);

//--- (BUY) possibility
  if(AO_0[1] > AO_0[2] && AC_0[1] > AC_0[2])
        {
         if(m_trade.Buy(lot, _Symbol, m_symbol.Ask(), 0, 0, magic))
           {
            Print("BUY order opened : ",m_trade.ResultPrice());
           }
        }

  //--- (SELL) possibility
  if(AO_0[1] < AO_0[2] && AC_0[1] < AC_0[2])
        {
         if(m_trade.Sell(lot, _Symbol, m_symbol.Bid(), 0, 0, magic))
           {
            Print("SELL order opened : ",m_trade.ResultPrice());
           }
        }
 
ponochka:

Estoy haciendo un Asesor Experto con iAO e iAC...

la lógica es simple coincidencia de colores!!! ambos verdes, entonces COMPRAR, ambos rojos VENDER
pero algo no funciona!!! muchos bugs, verde-rojo!!! mira plz...

1. En MQL5 básicamente no existe el concepto de indicador "verde, "rojo".

2. Especifique el tipo de cuenta: compensación o cobertura

3. Dar el código completo. Especifique el símbolo y el marco temporal. Especifique el plazo.

4. Mostrar las operaciones y el gráfico con las operaciones.

 

¡¡¡Buenas tardes, usuarios del foro!!!

Vuelvo a pedir ayuda.

Mi pregunta es la siguiente: he establecido una variable como parámetro externo

input ENUM_TIMEFRAMES per_candle=PERIOD_D1;                          //период расчета худших и лучших результатов

Después de la primera operación que se ha producido en el intervalo de tiempo desde el inicio hasta el final de la aplicación.

first_buy

el tiempo pasado en el código no debe ser inferior al tiempo especificado en el parámetroper_candle.

Así no funciona

if (TimeCurrent()>first_buy+per_candle)

Por alguna razón, en el periodo de un díafirst_buy+per_candle, sólo se añaden 4 horas.

La operación fue a las 00:00.

Por favor, ayuda a quien sepa qué estoy haciendo mal.

 
ISL:

¡¡¡Buenas tardes, usuarios del foro!!!

¡Vuelvo a pedir ayuda!

Mi pregunta es la siguiente: he establecido una variable como parámetro externo

Después de la primera operación que se ha producido en el intervalo de tiempo desde el inicio hasta el final de la aplicación.

el tiempo pasado en el código no debe ser inferior al tiempo especificado en el parámetroper_candle.

Así no funciona

Por alguna razón, en el periodo de un díafirst_buy+per_candle, sólo se añaden 4 horas.

La operación fue a las 00:00.

Por favor, ayuda a quien sepa qué estoy haciendo mal.

Este es uno (guión en el tráiler).

PERIOD_CURRENT 1
PERIOD_M2 2
PERIOD_M3 3
PERIOD_M4 4
PERIOD_M5 5
PERIOD_M6 6
PERIOD_M10 10
PERIOD_M12 12
PERIOD_M15 15
PERIOD_M20 20
PERIOD_M30 30
PERIOD_H1 16385
PERIOD_H2 16386
PERIOD_H3 16387
PERIOD_H4 16388
PERIOD_H6 16390
PERIOD_H8 16392
PERIOD_H12 16396
PERIOD_D1 16408
PERIOD_W1 32769
PERIOD_MN1 49153

Esto es dos:PeriodSeconds

Archivos adjuntos:
 
Vladimir Karputov:

Esta es una (el guión está en el trailer)

Esto es dos:PeriodSeconds

¡¡¡Muchas gracias!!!

Razón de la queja: