Errores, fallos, preguntas - página 1755

 

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Bichos, errores, preguntas

fxsaber, 2016.08.03 22:16

HistoryOrderGetInteger(OrderTicket, ORDER_TIME_DONE_MSC ) - ¡devuelve cero en el probador!

Por favor, corríjalo.
 

Los pedidos se hacen más rápido que el ping.

 
Me he encontrado con situaciones en las que
HistorySelect(0, TimeCurrent())

Crea una tabla histórica incompleta. Sólo me encontré con esto en la primera llamada después de acceder a la cuenta. En los siguientes, se da la historia completa.

No puedo reproducirlo. Ahora funciona, ahora no. Compruebe, por favor.

 
fxsaber:

Los pedidos se hacen más rápido que el ping.

Los pings rara vez se recalculan.
 
fxsaber:
Ante situaciones en las que
HistorySelect(0, TimeCurrent())

Crea una tabla histórica incompleta. Sólo me encontré con esto en la primera llamada después de acceder a la cuenta. En los siguientes, se da la historia completa.

No puedo reproducirlo. Ahora funciona, ahora no. Compruebe, por favor.

Nunca haga TimeCurrent() como fecha de finalización, hágalo TimeCurrent() +86400 para asegurarse de capturar todas las operaciones finales.

TimeCurrent no es la última hora exacta, sino la "última hora conocida del servidor durante las actualizaciones", que no es 100% exacta. Sobre todo al principio.

 
Renat Fatkhullin:

Nunca haga TimeCurrent() como fecha de finalización, haga TimeCurrent()+86400 para asegurarse de que se capturan todas las transacciones finales.

TimeCurrent no es la última hora exacta, sino la "última hora conocida del servidor durante las actualizaciones", que no es 100% exacta. Sobre todo al principio.

Gracias, eso es lo que haré. Pero definitivamente no se trata del bicho.

Entrar en cuentas en las que se hicieron operaciones hace mucho tiempo. Hace tanto tiempo, que la pestaña de Historial está vacía (tengo que hacer una petición para el historial completo con el ratón).

Y aquí con ellos HistorySelect a veces devolvía cero, a veces el valor es menor en uno que las siguientes ejecuciones. En definitiva, ahí hay un problema.

 
Renat Fatkhullin:

Nunca haga TimeCurrent() como fecha de finalización, haga TimeCurrent()+86400 para asegurarse de que se capturan todas las transacciones finales.

TimeCurrent no es la última hora exacta, sino la "última hora conocida del servidor durante las actualizaciones", que no es 100% exacta. Sobre todo al principio.

¿no es suficiente con +60?
 

¡He mirado en SB y NO hay HistorySelect ni HistoryOrderGetTicket! No, en absoluto.

¿Cómo funcionará?

//+------------------------------------------------------------------+
//| Select a deal on the index                                       |
//+------------------------------------------------------------------+
bool CDealInfo::SelectByIndex(const int index)
  {
   ulong ticket=HistoryDealGetTicket(index);
   if(ticket==0)
      return(false);
   Ticket(ticket);
//---
   return(true);
  }
//+------------------------------------------------------------------+

Cada vez estoy más convencido de que el SB está plagado de limitaciones (tampoco hay una aplicación parcial).

¿Por qué no fue posible utilizar un gran sistema de lenguaje MQL4 para SB desde el principio?

 
fxsaber:

¡He mirado en SB y NO hay HistorySelect ni HistoryOrderGetTicket! No, en absoluto.

¿Cómo funcionará?

//+------------------------------------------------------------------+
//| Select a deal on the index                                       |
//+------------------------------------------------------------------+
bool CDealInfo::SelectByIndex(const int index)
  {
   ulong ticket=HistoryDealGetTicket(index);
   if(ticket==0)
      return(false);
   Ticket(ticket);
//---
   return(true);
  }
//+------------------------------------------------------------------+

Cada vez estoy más convencido de que está plagado de limitaciones (tampoco hay una aplicación parcial).

¿Por qué no utilizar el maravilloso sistema de lenguaje MQL4 para SB desde el principio?

La ignorancia no te exime de la responsabilidad.

La clase CDealInfo está diseñada para facilitar el acceso a las propiedades de las ofertas. Pero para acceder a las operaciones, siempre se solicita primero un rastro del historial a través de HistorySelect.

Será mejor que busques más ejemplos y leas artículos antes de escribir preguntas descaradas y sacar conclusiones.

 
Vladimir Karputov:

La ignorancia no te exime de la responsabilidad.

La clase CDealInfo sirve para acceder fácilmente a las propiedades de las transacciones. Pero para acceder a las operaciones, siempre se solicita primero una instantánea del historial a través de HistorySelect.

Sería mejor que miraras más ejemplos y leyeras artículos antes de escribir preguntas descaradamente númericas y sacar conclusiones.

Te contestaría a tu estilo, pero expresar tus pensamientos sobre un moderador puede hacer que te baneen fácilmente.

Si hay restricciones en la SB, puedes y debes hablar de ello.

Razón de la queja: