Pregunta para los desarrolladores. ¿La bolsa transmite el interés abierto de forma sincrónica con los volúmenes de cada transacción (en tiempos y ventas) o de forma asincrónica?
Si es sincrónico, entonces sería bueno ponerlo en MqlTick... en lugar de obtenerlo a través de SymbolInfoDouble.
Estoy esperando la actualización para construir 1200. Para comprobarlos CopyTicks
La build 1200 ya estaba disponible para su actualización desde el servidor de MetaQuites-Demo hace tres o cuatro días.
//+------------------------------------------------------------------+ //| Función de inicialización de expertos| //+------------------------------------------------------------------+ int OnInit() { //--- ArraySetAsSeries(a_RatesAll,true);
//--- return(INIT_SUCCEED); } //+------------------------------------------------------------------+ //| Función ChartEvent| //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { //--- //salida if(id==CHARTEVENT_KEYDOWN && lparam==45) // salida "Insert" { ExpertRemove(); } else if(id==CHARTEVENT_KEYDOWN && lparam==48) // "0" { DateTimeRates(c_DStart,c_DEnd); } } //+------------------------------------------------------------------+ //| Mis funciones| //+------------------------------------------------------------------+ //==================================================================== void DateTimeRates(datetime DStart, datetime DEnd) { si ((DStart>0) && (DEnd>0)) { MaxBars=CopyRates(Symbol(),0,DStart,DEnd,a_RatesAll); if(MaxBars<=0) Print("Error de copia de datos de precios ",GetLastError()); si no { Imprimir(" "); Print(EnumToString(ChartPeriod(0)); Print("Copiado ",ArraySize(a_RatesAll)," bares); } } for (i=MaxBars-1;i>=0;i--) { Print(a_RatesAll[i].time); } } //==================================================================== ==================================================
Si especifico una fecha de inicio de la serie temporal posterior al 14.10.15, todas las fechas de las barras se reinician:
Si especifico una fecha de inicio del 14.10.15 o anterior, las fechas de las series temporales comienzan con un retraso de algunas semanas a algunos meses.
Aquí hay un ejemplo con una fecha de inicio del 14.10.15, la serie de tiempo comienza el 26.10.15:
Pregunta para los desarrolladores. ¿La bolsa transmite el interés abierto de forma sincrónica con los volúmenes de cada transacción (en tiempos y ventas) o de forma asincrónica?
Si es sincrónico, entonces sería bueno ponerlo en MqlTick... en lugar de obtenerlo a través de SymbolInfoDouble.
Estoy esperando la actualización para construir 1200. Para comprobarlos CopyTicks
Por la tarde
¿Pueden decirme por qué las columnas SL y TP de la sección de órdenes no se rellenan en el informe del terminal MT5?
Por la tarde
¿Pueden decirme por qué en el informe del terminal MT5 las columnas SL y TP no aparecen en la sección de órdenes?
No es cierto. Los campos del informe se rellenan:
Error en el terminal MT5, build 1200 del 23.10.15 (alpari).
En la versión anterior todo funcionaba correctamente (¡!).
La función CopyRates( ) comenzó a indicar las fechas de forma incorrecta (probablemente, también otros datos de la barra).
Aquí hay un ejemplo de un programa de prueba corto (Asesor Experto):
==================================================
datetime c_DStart=D'01.01.2015';
datetime c_DEnd=D'26.10.2015';
int i;
int MaxBars;
MqlRates a_RatesAll[];
//----------------------------------
//+------------------------------------------------------------------+
//| Función de inicialización de expertos|
//+------------------------------------------------------------------+
int OnInit()
{
//---
ArraySetAsSeries(a_RatesAll,true);
//---
return(INIT_SUCCEED);
}
//+------------------------------------------------------------------+
//| Función ChartEvent|
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
//---
//salida
if(id==CHARTEVENT_KEYDOWN && lparam==45) // salida "Insert"
{
ExpertRemove();
}
else if(id==CHARTEVENT_KEYDOWN && lparam==48) // "0"
{
DateTimeRates(c_DStart,c_DEnd);
}
}
//+------------------------------------------------------------------+
//| Mis funciones|
//+------------------------------------------------------------------+
//====================================================================
void DateTimeRates(datetime DStart, datetime DEnd)
{
si ((DStart>0) && (DEnd>0))
{
MaxBars=CopyRates(Symbol(),0,DStart,DEnd,a_RatesAll);
if(MaxBars<=0) Print("Error de copia de datos de precios ",GetLastError());
si no
{
Imprimir(" ");
Print(EnumToString(ChartPeriod(0));
Print("Copiado ",ArraySize(a_RatesAll)," bares);
}
}
for (i=MaxBars-1;i>=0;i--)
{
Print(a_RatesAll[i].time);
}
}
//====================================================================
==================================================
Si especifico una fecha de inicio de la serie temporal posterior al 14.10.15, todas las fechas de las barras se reinician:
HS 0 09:49:42.561 DateTimeCopyRates (EURUSD,M5)
PM 0 09:49:42.561 DateTimeCopyRates (EURUSD,M5) PERIOD_M5
LE 0 09:49:42.561 DateTimeCopyRates (EURUSD,M5) 2406 barras copiadas
IM 0 09:49:42.561 DateTimeCopyRates (EURUSD,M5) 1970.01.01 00:00:00
CD 0 09:49:42.561 DateTimeCopyRates (EURUSD,M5) 1970.01.01 00:00:00
MK 0 09:49:42.561 DateTimeCopyRates (EURUSD,M5) 1970.01.01 00:00:00
GS 0 09:49:42.561 DateTimeCopyRates (EURUSD,M5) 1970.01.01 00:00:00
...
etc.
Si especifico una fecha de inicio del 14.10.15 o anterior, las fechas de las series temporales comienzan con un retraso de algunas semanas a algunos meses.
Aquí hay un ejemplo con una fecha de inicio del 14.10.15, la serie de tiempo comienza el 26.10.15:
CS 0 09:53:02.383 DateTimeCopyRates (EURUSD,M5)
KM 0 09:53:02.383 DateTimeCopyRates (EURUSD,M5) PERIOD_M5
GE 0 09:53:02.383 DateTimeCopyRates (EURUSD,M5) 2695 barras copiadas
QM 0 09:53:02.383 DateTimeCopyRates (EURUSD,M5) 2015.10.26 15:50:00
PD 0 09:53:02.383 DateTimeCopyRates (EURUSD,M5) 2015.10.26 15:55:00
GK 0 09:53:02.383 DateTimeCopyRates (EURUSD,M5) 2015.10.26 16:00:00
RS 0 09:53:02.383 DateTimeCopyRates (EURUSD,M5) 2015.10.26 16:05:00
DJ 0 09:53:02.383 DateTimeCopyRates (EURUSD,M5) 2015.10.26 16:10:00
...
Aquí hay un ejemplo con una fecha de inicio del 01.01.15, la serie comienza a partir del 12.05.15:
PS 0 09:54:47.726 DateTimeCopyRates (EURUSD,M5)
HM 0 09:54:47.726 DateTimeCopyRates (EURUSD,M5) PERIOD_M5
FF 0 09:54:47.726 DateTimeCopyRates (EURUSD,M5) 60958 barras copiadas
OL 0 09:54:47.726 DateTimeCopyRates (EURUSD,M5) 2015.05.12 21:55:00
HD 0 09:54:47.726 DateTimeCopyRates (EURUSD,M5) 2015.05.12 22:00:00
QK 0 09:54:47.726 DateTimeCopyRates (EURUSD,M5) 2015.05.12 22:05:00
CS 0 09:54:47.726 DateTimeCopyRates (EURUSD,M5) 2015.05.12 22:10:00
FJ 0 09:54:47.726 DateTimeCopyRates (EURUSD,M5) 2015.05.12 22:15:00
RQ 0 09:54:47.726 DateTimeCopyRates (EURUSD,M5) 2015.05.12 22:20:00
...
Por favor, pida a los desarrolladores que corrijan este error.
Error en el terminal MT5, build 1200 del 23.10.15 (alpari).
En la versión anterior todo funcionaba correctamente (¡!).
Lafunción CopyRates( ) ha empezado a indicar las fechas de forma incorrecta (quizá también otros datos de la barra).
¡No se pueden recuperar los datos de SeriesInfoInteger() de INDICATOR! MT4
Por favor, mire la solicitud#1337152
No es cierto. En el informe se rellenan los campos:
Sí, lo siento, al principio el pedido sale con cero TP y SL
pero luego modifico la posición (SL y TP)
y estos datos no se incluyen en el informe.
¡No se pueden recuperar los datos de SeriesInfoInteger() de INDICATOR! MT4
Por favor, mire la solicitud#1337152
Sí, lo siento, al principio el pedido sale con cero TP y SL
pero luego modifico la posición (SL y TP)
y estos datos no se incluirán en el informe.
¿Qué es exactamente lo que no aparece en el informe (y se trata de la orden pendiente o de la posición?)
¿Se supone que las funciones de MT5 funcionan en MT4?