Errores, fallos, preguntas - página 1813
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Es necesario borrar las cookies para www.mql5.com.
En chrome 56.0.2924.87 el vuelo va bien, tanto con como sin actualización manual de la página de revisión.
¿Puede decirme cómo?
Pero en Chrome puedes hacerlo así:
Pulse F12 en www.mql5.com => en el panel de control vaya a Aplicación => Cookies => haga clic en cookies => borre todas de...
Google te ayudará.
Pero en Chrome puedes hacerlo así:
Pulsa F12 mientras navegas por www.mql5.com => en el panel de control ve a Aplicación => Cookies => haz clic en cookies => Borra todas de...
No hay ninguno.
Está sonando. Escribí tu código en el script, dio el valor correcto (1001199) cuando se ejecuta en modo de depuración, pero si compilo la versión y la ejecuto desde el árbol en MT5, dio 11199 establemente. Fue capaz de localizar.
Esto es realmente un error del compilador, escribe a servicedesk.
No hay ninguno.
Por favor, avise a
MT4 comenzó a pesar 1,8 Gbytes (RAM). Se comió toda la UPU, el segundo terminal no se puede encender correctamente. ¿Alguna sugerencia sobre cómo "limpiar" la RAM de MT?
Por favor, avise a
MT4 comenzó a pesar 1,8 Gbytes (RAM). Se comió toda la UPU, el segundo terminal no se puede encender correctamente. ¿Alguna sugerencia sobre cómo "limpiar" la RAM de MT?
¿Has probado a reiniciar el terminal?
La memoria se libera si reduzco el número de barras en el gráfico, pero necesito reiniciar después.
¿Has probado a reiniciar el terminal?
La memoria se libera si se reduce el número de barras del gráfico, pero entonces hay que reiniciar.
Error en la determinación del tipo de parámetro indicador ENUM_DATATYPE.
Estoy ejecutando un indicador de prueba. En los parámetros de entrada cada parámetro tiene un tipo único:
#property indicator_plots 0
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
input bool inpBool = false; //1
input char inpChar = 0; //2
input uchar inpUChar = 0; //3
input short inpShort = 0; //4
input ushort inpUShort=0; //5
input color inpColor=clrWhite; //6
input int inpInt=0; //7
input uint inpUInt=0; //8
input datetime inpDatetime=0; //9
input long inpLong=0; //10
input ulong inpULong = 0; //11
input float inpFloat = 0.0; //12
input double inpDouble = 0.0; //13
input string inpString = ""; //14
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
IndicatorSetString(INDICATOR_SHORTNAME,"DATATYPE");
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
return(rates_total);
}
//+------------------------------------------------------------------+
A continuación, lo busco a través de la secuencia de comandos y hacer que la despoblación de su tipo de parámetros:
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//--- Проверяем количество аналогичных индикаторов на всех открытых окнах
long id=ChartFirst();
int indicatorsTotal=0;
int windowsTotal=0;
//---
int ctr=0;
//---
do
{
windowsTotal=(int)ChartGetInteger(id,CHART_WINDOWS_TOTAL);
for(int i=0; i<windowsTotal; i++)
{
indicatorsTotal=ChartIndicatorsTotal(id,i);
for(int j=0; j<indicatorsTotal; j++)
{
//Print( __FUNCTION__,": Имя индикатора: "+ChartIndicatorName( id, i, j ) );
//---
string shortName=ChartIndicatorName(id,i,j);
if(StringFind(shortName,"DATATYPE")<0)
continue;
else
{
//--- получим хэндл индикатора
int handle=ChartIndicatorGet(id,i,shortName);
//---
if(handle==INVALID_HANDLE) // Если хэндл не получен
{
Print(__FUNCTION__,": ОШИБКА #",GetLastError(),": хэндл индикатора "+shortName+" не получен!");
return; // Ошибка! Переходим к следующему индикатору
}
//--- Получаем параметры индикатора
MqlParam parameters[]; // Массив-приемник параметров
ENUM_INDICATOR indicator_type; // Тип индикатора
//--- Получение..
int params=IndicatorParameters(handle,indicator_type,parameters);
//---
for(int p=1; p<params; p++)
Print(__FUNCTION__,": p#",p,": type = ",EnumToString(parameters[p].type));
}
}
}
}
while(( id=ChartNext(id))>=0);
}
En la salida obtengo:
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1) OnStart: p#2: type = TYPE_CHAR
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1) OnStart: p#3: type = TYPE_UCHAR
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1) OnStart: p#4: type = TYPE_SHORT
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1) OnStart: p#5: type = TYPE_USHORT
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1) OnStart: p#6: type = TYPE_UINT
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1) OnStart: p#7: type = TYPE_INT
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1) OnStart: p#8: type = TYPE_UINT
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1) OnStart: p#9: type = TYPE_LONG
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1) OnStart: p#10: type = TYPE_LONG
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1) OnStart: p#11: type = TYPE_ULONG
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1) OnStart: p#12: type = TYPE_DOUBLE
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1) OnStart: p#13: type = TYPE_DOUBLE
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1) OnStart: p#14: type = TYPE_STRING
Veo que en lugar del tipo TYPE_COLOR(#6) aparece el tipo TYPE_UINT, en lugar del tipo TYPE_DATETIME (#9) aparece el tipo TYPE_LONG, en lugar del tipo TYPE_FLOAT (#12) aparece el tipo TYPE_DOUBLE. Aunque los tipos TYPE_COLOR, TYPE_DATETIME y TYPE_FLOAT están descritos en la enumeración y deberían tener sus propios valores.
Servicedesk#1677120