Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 1002

 
Vinin:

iBarShift

Este es el número de secuencia, no el valor de la barra.
 
001:
Este es el número de secuencia, no el valor de la barra.
Por lo tanto, podemos utilizar el índice para encontrar lo que queremos))Guía de referencia MQL4 / Variables predefinidas
 

¿Cómo puedo calcular programáticamente el beneficio/pérdida para la orden SL/TP en la moneda del depósito (Rublos)?

Es decir, necesito obtener exactamente las cifras de beneficios que muestra MT4 al pasar por encima de la línea SL/TP o al arrastrarla con el ratón.

¿Qué tal si se obtiene MODE_TICKVALUE y se multiplica por la distancia en pips al SL/TP? Lo he probado con el EURUSD y parece que es lo mismo, pero con otros pares al menos aparece una ligera divergencia. Y en MT4 siempre es más por al menos algunos rublos. Por ejemplo en GBPNZD.

 

He hecho un sencillo EA que envía información al registro cuando aparece una nueva barra.

#property strict
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
   if(IsNewBar(_Symbol,PERIOD_CURRENT)==true) Print("New bar!");
  }
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }
//=== Function
bool IsNewBar(string f_Symbol,      // symbol
              ENUM_TIMEFRAMES f_TF) // timeframe
  {
//---
   static datetime f_LastBar=0;
   datetime f_CurrentBar=iTime(f_Symbol,f_TF,0);
//---
   if(f_LastBar!=f_CurrentBar)
     {
      f_LastBar=f_CurrentBar; return(true);
     }
   else return(false);
  }

Funciona correctamente, en el sentido de que en el primer tick de una nueva barra aparece un mensaje. Pero por alguna razón la hora del mensaje está relacionada con la barra anterior. Me gustaría adjuntar una foto. La primera muestra que la hora actual es 21:50:57 y que sólo hay 2 mensajes nuevos. En la 2 ª fig. el tiempo actual 21:51:23, hay un 3er registro de una nueva barra Y vio que el mensaje que apareció después de 21:51:00, pero el tiempo de grabación en el registro de alguna manera que 20:50:47 (claramente, hay una diferencia de 1 hora entre el servidor y mi equipo), que mi tiempo no es correcto. ¿Puede comprobar el suyo? ¿Es igual para todos o es un fallo?



 

El reloj de tu ordenador está unos segundos atrasado o el reloj del servidor está un poco adelantado, o quizás ambas cosas. Imprime() la hora actual del bar.

if(IsNewBar(_Symbol,PERIOD_CURRENT)!=true) Print("New bar! ", Time[0]);

o tanto el servidor como la hora local

 
Vadim_2015:
Bien, podemos usar el índice para encontrar lo que queremos))Referencia MQL4 / Variables predefinidas

No, este no es el caso. Pregunté: ¿Cómo se sabe el valor de una barra en un indicador según su tiempo( por tiempo de barra)? Si simplemente ponemos en iBarShift una hora del día deseada (por ejemplo en TF H1, entonces obtenemos el desplazamiento en el gráfico D1, que siempre cambia con cada nuevo día, es decir, cada nueva barra tendrá lo mismo.

 
001:

No, esto es un poco diferente. Pregunté: ¿Cómo se sabe el valor de una barra(WANTED DAY) en un indicador por su tiempo (por tiempo de barra)? Si simplemente ponemos en iBarShift la hora de un día deseado (por ejemplo, en TF H1, obtenemos el desplazamiento en el gráfico D1, que siempre cambia con la llegada de un nuevo día, es decir, cada nueva barra tendrá el mismo valor.


- ¿Cómo se encuentra el valor en un indicador?

¿qué es un "valor"?

- "Si estamos sustituyendo sin rodeos".

Si no entiendes la función, obtendrás un valor "nuevo", lo que significa que cada nueva barra tendrá el mismo valor.

 

Buenas tardes.

Me encuentro con un problema al probar los EAs. Todo estuvo bien durante un par de meses, escribí varios EAs que abrían y cerraban órdenes según mis reglas. Un día otro EA dejó de hacer pruebas. Independientemente del tiempo establecido en el probador pasa un mes, siempre fue septiembre de 2014 y la prueba se detuvo. Me llevó mucho tiempo desenterrarlo, descargar datos históricos, etc. Entonces decidí reinstalar MetaTrader. Entonces decidí volver a instalar Meta Trader, lo desinstalé y lo volví a instalar. Ahora todos los Asesores Expertos disponibles en general ya no funcionan. Mis pedidos no se abren. Tengo algunos datos históricos. Cuando se activa la imagen, el gráfico pasa el periodo de tiempo requerido, pero no se realiza ninguna operación. Por favor, aconséjeme al menos en qué dirección cavar, todas mis ideas se han acabado.

Muchas gracias de antemano.

 
sergeev:

- ¿Cómo se encuentra el valor en un indicador?

¿qué es el "valor"?

- "Si lo conectamos"

Muéstrame este código "tonto" para tener algo de qué hablar. hasta ahora lo único que podemos ver es tu falta de comprensión de cómo funciona la función.


Ni siquiera voy a discutir. No soy muy bueno programando. Sólo soy un ocasional. Codifique más tarde. "Valor" está abierto.

 

Hola a todos, ¿podéis decirme cómo trazar un triángulo y calcular el ángulo obtuso de un triángulo?