Errori, bug, domande - pagina 1813
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
È necessario cancellare i cookie per www.mql5.com.
Su chrome 56.0.2924.87 il volo va bene, sia con che senza refresh manuale della pagina di revisione.
Può dirmi come?
Ma in Chrome si può fare così:
Premi F12 su www.mql5.com => nel dashboard vai su Applicazione => Cookie => clicca su cookie => Cancella tutto da...
Google aiuta.
Ma in Chrome si può fare così:
Premi F12 mentre navighi su www.mql5.com => nel dashboard vai alla scheda Applicazione => Cookie => PCM sui cookie => Cancella tutto da...
Non ce n'è uno.
Sta giocando. Scritto il tuo codice nello script, ha dato il valore corretto (1001199) quando viene eseguito in modalità debug, ma se compilo la release e la eseguo dall'albero in MT5, dà 11199 in modo stabile. È stato in grado di localizzare.
Questo è davvero un bug del compilatore, scrivi a servicedesk.
Non ce n'è uno.
Si prega di avvisare
MT4 ha iniziato a pesare 1,8 Gbyte (RAM). Si è mangiato tutto l'UPU, il secondo terminale non può essere acceso correttamente. Qualche suggerimento su come "pulire" la RAM da MT?
Si prega di avvisare
MT4 ha iniziato a pesare 1,8 Gbyte (RAM). Si è mangiato tutto l'UPU, il secondo terminale non può essere acceso correttamente. Qualche suggerimento su come "pulire" la RAM da MT?
Hai provato a riavviare il terminale?
La memoria si libera se riduco il numero di barre sul grafico, ma dopo devo riavviare.
Hai provato a riavviare il terminale?
La memoria si libera se si riduce il numero di barre sul grafico, ma in quel caso è necessario riavviare.
Errore nella determinazione del tipo di parametro indicatore ENUM_DATATYPE.
Sto eseguendo un indicatore di prova. Nei parametri di input ogni parametro ha un tipo unico:
#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);
}
//+------------------------------------------------------------------+
Poi, lo cerco attraverso lo script e faccio la disattivazione del suo tipo di parametri:
//| 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);
}
Nell'output ottengo:
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
Posso vedere che invece del tipo TYPE_COLOR(#6) mostra il tipo TYPE_UINT, invece del tipo TYPE_DATETIME (#9) mostra il tipo TYPE_LONG, invece del tipo TYPE_FLOAT (#12) mostra il tipo TYPE_DOUBLE. Anche se i tipi TYPE_COLOR, TYPE_DATETIME e TYPE_FLOAT sono descritti nell'enumerazione e dovrebbero avere i loro propri valori!
Servicedesk#1677120