Errores, fallos, preguntas - página 289

 
sólo registros - la recalificación no afectará al rendimiento del Asesor Experto
etc.

Aquí está el código en el EA (probado muchas funciones para determinar la igualdad de la línea de indicador 0)

Tomé la más sencilla.

if (Sp3Buffer[20]!=0 && Sp3Buffer[21]!=0 && Sp3Buffer[22]!=0 && Sp3Buffer[23]!=0 && Sp3Buffer[24]!=0)

aquí tenemos los valores de la línea del indicador aquí del registro del probador a través de la impresión

[20]=34.40035703438407[21]=35.93782852396674[22]=35.97127995180715[23]=30.49164953708304[24]=32.90441573888087

no hay ningún cero, pero mirando el indicador - un claro cero - y en los valores de

del indicador también es cero.

¿Qué demonios?

 

Este es el tipo de tontería que apareció en el registro después de que se ejecutara el comando de actualización en el gráfico:

2011.02.03 02:24:51 HistoriaBase '#IBM' 1 barras inválidas eliminadas
2011.02.03 02:24:50 HistoriaBase '#IBM' 1 barras inválidas eliminadas
2011.02.03 02:24:49 HistoriaBase '#IBM' 1 barras inválidas eliminadas
2011.02.03 02:24:48 HistoriaBase '#IBM' 1 barras inválidas eliminadas
2011.02.03 02:24:47 HistoriaBase '#IBM' 1 barras inválidas eliminadas
2011.02.03 02:24:46 HistoriaBase '#IBM' 1 barras inválidas eliminadas

etc. cada segundo.

TF Sentry

 
alexluek:
sólo registros - la recalificación no afectará al rendimiento del Asesor Experto
etc.

Aquí está el código en el EA (probado muchas funciones para determinar la igualdad de la línea de indicador 0)

Tomé la más sencilla.

aquí tenemos los valores de la línea del indicador aquí del registro del probador a través de la impresión

no hay ningún cero, pero mirando el indicador - un claro cero - y en los valores de

del indicador también es cero.

¿Qué demonios?

¿Has olvidado invertir la matriz?
 
sergey1294:
¿Has olvidado invertir la matriz?
El orden inverso de indexación se establece tanto en el indicador como en el Asesor Experto, pero no sé qué es lo que está mal. Gracias
 

Interesante, resulta que el mismo Asesor Experto en diferentes ordenadores añade plantillas al gráfico desde diferentes lugares:

en 1 ordenador desde MetaTrader 5Profiles\Templates

en 2 ordenadores desde MetaTrader 5\MQL5\Files

Añadir línea enChartApplyTemplate(handle_Chart, "Sova15_30.tpl")

¿Qué pasa, quién puede ayudarme a resolverlo?

 
¿Puede decirme cómo obtener la hora del último cambio de posición?
 
beginner:

¿Puede decirme cómo obtener la hora del último cambio de posición?
https://www.mql5.com/ru/articles/138 encontrar mi posición.Tiempo() allí
Как использовать торговые классы Стандартной библиотеки при написании советника
Как использовать торговые классы Стандартной библиотеки при написании советника
  • 2010.11.10
  • Samuel
  • www.mql5.com
В статье рассказывается о том, как использовать основной функционал торговых классов Стандартной библиотеки при написании советников, в которых применяется открытие, закрытие и модификация позиции, проверка свободной маржи перед размещением торговых ордеров, размещение и удаление отложенных ордеров. Показано, как использовать торговые классы для получения свойств ордеров и сделок.
 
beginner:

¿Puede decirme cómo obtener la hora del último cambio de posición?

Determine qué operación del símbolo fue la última.

Puedes cogerlo en OnTrade() o en el historial.

Trolls:
https://www.mql5.com/ru/articles/138 encontrar mi posición.Tiempo() allí

Así es como se devuelve la hora de apertura de la posición, si no recuerdo mal (es decir, según tengo entendido devolverá la hora de la primera operación que abrió la posición).

En cuanto al artículo mencionado, myhistory y mydeal pueden ser útiles(tal vez algo más se ajuste).

 
Interesting:

Determine qué operación del símbolo fue la última.

Puedes cogerlo en OnTrade() o en el historial.

Así es como se devuelve la hora de apertura de la posición, si no recuerdo mal (es decir, según tengo entendido, se devuelve la hora de la primera operación, que abrió la posición).
Sí, este es el problema, es decir, tenemos que encontrar la última operación para el instrumento requerido y obtener su tiempo, ¿se puede hacer más simple?
 
beginner:
Sí, este es el problema, es decir, es necesario encontrar la última oferta para el instrumento requerido y obtener su tiempo, pero de una manera más fácil?

¿Le interesa un puesto concreto (se conoce el símbolo y su Id) o el caso general de todos los puestos?

Si sólo miras el historial y analizas las ofertas (usando mydeal), entonces aproximadamente sí:

1. Obtenga el número total de operaciones para el período, recorriéndolas, seleccionando sólo aquellas para el símbolo / o las que participaron en la formación de la posición

if (HistorySelect(0,TimeCurrent()))
ulong d_ticket; // deal ticket
{
// Получить общее количество сделок в истории
int tot_deals = HistoryDealsTotal();

  for(int j=0; j<tot_deals; j++)
  {
  d_ticket = HistoryDealGetTicket(j);

    if(d_ticket>0)  
    {
    mydeal.Ticket(d_ticket)

      if(mydeal.Symbol()==SymbolTitle)
      {
      //формируем список сделок и анализируем его (если я правильно понял последняя сделка наша)
      }

    }   

  }

}

2. es mejor seleccionar las operaciones no por el símbolo, sino por el ID de una posición específica (es más fácil y más fiable).

Aunque estoy seguro de que hay soluciones más correctas y sencillas.