Se eu mudar de perfil no MT4 e depois voltar, quando o mercado estiver fechado a CPU começa a carregar fortemente - até 5%, depois de 18-25%.
Tive a sensação de que há algo de errado com o compilador, porque quando executo a compilação de .mq5ME, simplesmente caio e se executo a compilação de .mqh fico a praguejar no compilador)))) E em crash aparece um enorme ficheiro !!! que é constantemente actualizado. Nenhum vírus excepto para o próprio SO Win 8.1x64, nenhum antivírus numa só máquina, uma vez que apenas o MT5 vai para a Net, e o próprio SO para o seu repositório.
A propósito de tema para a resposta de Renat sobre milésimos de testes - antes de escrever uma pergunta faço a mesma verificação de coisas semelhantes em SO e máquinas diferentes )) se o resultado for confirmado, faço uma pergunta, se não, começo eu próprio a investigar o problema.
#property indicator_separate_window //---- количество индикаторных буферов 2 #property indicator_buffers3 //---- использовано всего одно графическое построение #property indicator_plots1 //+----------------------------------------------+ //| объявление констант | //+----------------------------------------------+ #define RESET 0// Константа для возврата терминалу команды на пересчёт индикатора //+----------------------------------------------+ //| Параметры отрисовки индикатора | //+----------------------------------------------+ #property indicator_type1 DRAW_HISTOGRAM #property indicator_color1 clrPlum //+----------------------------------------------+ //| Входные параметры индикатора | //+----------------------------------------------+ inputstring Symb1="EURUSD"; inputint Per=14; int Shift=0; //+----------------------------------------------+ //---- объявление динамических массивов, которые будут в // дальнейшем использованы в качестве индикаторных буферов double Buffer1[]; double Buffer2[]; double Buffer3[],Buffer4[],Buffer5[]; //---- Объявление целых переменных начала отсчёта данных int min_rates_total; //---- Объявление целых переменных для хранения хендлов индикаторов int Handle1,Handle2; double buf1[],buf2[],close1[],close2[],buf4[]; int closed1,closed2; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ intOnInit() { //---- Инициализация переменных начала отсчёта данных min_rates_total=Per+1;
//--- получение хендла индикатора Fast iCCI Handle1=iMA(Symb1,PERIOD_CURRENT,Per,0,0,0); if(Handle1==INVALID_HANDLE) { Print(" Не удалось получить хендл индикатора"); return(INIT_FAILED); }
//---- превращение динамического массива в индикаторный буфер SetIndexBuffer(1,Buffer1,INDICATOR_DATA); SetIndexBuffer(0,Buffer3,INDICATOR_DATA); SetIndexBuffer(2,buf1,INDICATOR_DATA); //---- осуществление сдвига индикатора 1 по горизонтали на Shift PlotIndexSetInteger(0,PLOT_SHIFT,Shift); //---- осуществление сдвига начала отсчёта отрисовки индикатора 1 на min_rates_total PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,min_rates_total); IndicatorSetInteger(INDICATOR_DIGITS,_Digits); //--- завершение инициализации return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ intOnCalculate( constint rates_total, // количество истории в барах на текущем тике constint prev_calculated,// количество истории в барах на предыдущем тике constdatetime &time[], constdouble &open[], constdouble& high[], // ценовой массив максимумов цены для расчёта индикатора constdouble& low[], // ценовой массив минимумов цены для расчёта индикатора constdouble &close[], constlong &tick_volume[], constlong &volume[], constint &spread[] ) { //---- объявления локальных переменных int to_copy;
//---- расчёты необходимого количества копируемых данных if(prev_calculated>rates_total || prev_calculated<=0)// проверка на первый старт расчёта индикатора { to_copy=rates_total; // стартовый номер для расчёта всех баров } else to_copy=rates_total-prev_calculated+1; // стартовый номер для расчёта новых баров
int first,bar; if(CopyBuffer(Handle1,0,0,to_copy,Buffer1)<=0) return(RESET); if(CopyClose(Symb1,0,0,to_copy,buf1)<=0) return(RESET);
//---- расчёт стартового номера first для цикла пересчёта баров if(prev_calculated>rates_total || prev_calculated<=0) // проверка на первый старт расчёта индикатора first=min_rates_total; // стартовый номер для расчёта всех баров else first=prev_calculated-1; // стартовый номер для расчёта новых баров
//---- Основной цикл расчёта индикатора for(bar=first; bar<rates_total ; bar++) { Buffer3[bar]=Buffer1[bar] - buf1[bar]; }
A janela de cotação desaba quando o terminal é minimizado. Este não deve ser o caso.
A propagação tem sido sempre marcada assim (!) em MT... Quem sabe porquê, talvez para poupar espaço... o que (?) se o valor de propagação for maior do que "!" ...
Alguém me pode dizer se o tamanho da RAM (sublinhado a vermelho) está correcto?
Dados do caderno de notas antes da reparação:
2013.04.2801:26:54 OpenCL Device #2: GPU NVIDIA Corporation GeForce 610 M with OpenCL 1.1 (1 units, 950 MHz, 2047 Mb, version305.46) 2013.04.2801:26:54 OpenCL Device #1: GPU Intel(R) Corporation Intel(R) HD Graphics 4000 with OpenCL 1.1 (16 units, 350 MHz, 1624 Mb, version9.17.10.2828) 2013.04.2801:26:54 OpenCL Device #0: CPU Intel(R) Corporation Intel(R) Core(TM) i5-3210 M CPU @ 2.50 GHz with OpenCL 1.1 (4 units, 2500 MHz, 6029 Mb, version1.1)
entregou o portátil para reparação, após reparação disse que a partir da fábrica foi instalada memória (todas as suas 6 gb) não é compatível (a de 4 gb) com o tipo de processador.
pode ser que o tamanho da memória seja especificado normalmente, mas de facto devido à incompatibilidade com o tipo de processador que não estava envolvido?
Entreguei o meu portátil para reparação, após a reparação disseram que a memória foi instalada a partir da fábrica (6gb total) não compatível (o de 4gb) com o tipo de processador.
Normalmente TODOS os sistemas e com certeza todos os computadores portáteis são testados na fábrica e a possibilidade de a fábrica ter instalado hardware incompatível... é muito pouco provável...
ivanivan_11: Normalmente TODOS os sistemas e com certeza os computadores portáteis são testados na fábrica e as hipóteses de hardware incompatível instalado na fábrica... é muito pouco provável...
por alguma razão, sinto o mesmo, sinto-me como se estivesse a ser... eu
Alexandr Bryzgalov: Por alguma razão sinto o mesmo, sinto-me como se estivesse a ser... eu
Bem, acontece de formas diferentes, como acontece - há smartphones de marca a explodir da fábrica. E sobre o computador - muitos factores não sabem - se alguém tinha feito rumores no portátil antes da venda (há remodelações, devoluções), que tipo de portátil, que sistema operativo, etc. - tudo isto pode afectar a disponibilidade de memória.
Alguém me pode dizer se o tamanho da RAM (sublinhado a vermelho) está correcto?
Dados do caderno de notas antes da reparação:
2013.04.2801:26:54 OpenCL Device #2: GPU NVIDIA Corporation GeForce 610 M with OpenCL 1.1 (1 units, 950 MHz, 2047 Mb, version305.46) 2013.04.2801:26:54 OpenCL Device #1: GPU Intel(R) Corporation Intel(R) HD Graphics 4000 with OpenCL 1.1 (16 units, 350 MHz, 1624 Mb, version9.17.10.2828) 2013.04.2801:26:54 OpenCL Device #0: CPU Intel(R) Corporation Intel(R) Core(TM) i5-3210 M CPU @ 2.50 GHz with OpenCL 1.1 (4 units, 2500 MHz, 6029 Mb, version1.1)
deu o portátil para reparação, após reparação disse que a partir da fábrica foi instalada memória (apenas a sua 6gb) não é compatível (a de 4gb) com o tipo de processador.
É possível que o tamanho da memória seja declarado como normal mas não utilizado devido à incompatibilidade com o tipo de processador?
A memória pode entrar em conflito com a placa-mãe. E, se a bios detectou a memória como presente, ela está lá, mas pode não funcionar de forma estável.
O menor tamanho de memória, presumo, deve-se ao facto de a memória ser espremida para o cartão de vídeo - alguns cartões integrados fazem-no porque não têm memória própria.
Se eu mudar de perfil no MT4 e depois voltar, quando o mercado estiver fechado a CPU começa a carregar fortemente - até 5%, depois de 18-25%.
Tive a sensação de que há algo de errado com o compilador, porque quando executo a compilação de .mq5ME, simplesmente caio e se executo a compilação de .mqh fico a praguejar no compilador)))) E em crash aparece um enorme ficheiro !!! que é constantemente actualizado. Nenhum vírus excepto para o próprio SO Win 8.1x64, nenhum antivírus numa só máquina, uma vez que apenas o MT5 vai para a Net, e o próprio SO para o seu repositório.
A propósito de tema para a resposta de Renat sobre milésimos de testes - antes de escrever uma pergunta faço a mesma verificação de coisas semelhantes em SO e máquinas diferentes )) se o resultado for confirmado, faço uma pergunta, se não, começo eu próprio a investigar o problema.
Não consigo compreender qual é o problema - quer seja no indicador, ou no Expert Advisor, ou no visualizador).
Para isso, o indicador só tem as mesmas definições, o prazo é o mesmo.
Código de conselheiro especializado
input string Symbol1="EURUSD";
input int Per=14;
double buf[];
int handle_1,copied1;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
handle_1=iCustom(Symbol(),PERIOD_CURRENT,"test ma",Symbol1,Per);
ArrayInitialize(buf,0);
return(INIT_SUCCEEDED);
}
//+---------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
Comment("");
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
copied1=CopyBuffer(handle_1,0,0,4,buf);
Comment("Индикатор 3 = ",buf[3]);
}
//+------------------------------------------------------------------+
//| Trade function |
//+------------------------------------------------------------------+
void OnTrade()
{
//---
}
//+------------------------------------------------------------------+
código indicador
//---- количество индикаторных буферов 2
#property indicator_buffers 3
//---- использовано всего одно графическое построение
#property indicator_plots 1
//+----------------------------------------------+
//| объявление констант |
//+----------------------------------------------+
#define RESET 0 // Константа для возврата терминалу команды на пересчёт индикатора
//+----------------------------------------------+
//| Параметры отрисовки индикатора |
//+----------------------------------------------+
#property indicator_type1 DRAW_HISTOGRAM
#property indicator_color1 clrPlum
//+----------------------------------------------+
//| Входные параметры индикатора |
//+----------------------------------------------+
input string Symb1="EURUSD";
input int Per=14;
int Shift=0;
//+----------------------------------------------+
//---- объявление динамических массивов, которые будут в
// дальнейшем использованы в качестве индикаторных буферов
double Buffer1[];
double Buffer2[];
double Buffer3[],Buffer4[],Buffer5[];
//---- Объявление целых переменных начала отсчёта данных
int min_rates_total;
//---- Объявление целых переменных для хранения хендлов индикаторов
int Handle1,Handle2;
double buf1[],buf2[],close1[],close2[],buf4[];
int closed1,closed2;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---- Инициализация переменных начала отсчёта данных
min_rates_total=Per+1;
//--- получение хендла индикатора Fast iCCI
Handle1=iMA(Symb1,PERIOD_CURRENT,Per,0,0,0);
if(Handle1==INVALID_HANDLE)
{
Print(" Не удалось получить хендл индикатора");
return(INIT_FAILED);
}
//---- превращение динамического массива в индикаторный буфер
SetIndexBuffer(1,Buffer1,INDICATOR_DATA);
SetIndexBuffer(0,Buffer3,INDICATOR_DATA);
SetIndexBuffer(2,buf1,INDICATOR_DATA);
//---- осуществление сдвига индикатора 1 по горизонтали на Shift
PlotIndexSetInteger(0,PLOT_SHIFT,Shift);
//---- осуществление сдвига начала отсчёта отрисовки индикатора 1 на min_rates_total
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,min_rates_total);
IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
//--- завершение инициализации
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[]
)
{
//---- объявления локальных переменных
int to_copy;
//---- расчёты необходимого количества копируемых данных
if(prev_calculated>rates_total || prev_calculated<=0)// проверка на первый старт расчёта индикатора
{
to_copy=rates_total; // стартовый номер для расчёта всех баров
}
else to_copy=rates_total-prev_calculated+1; // стартовый номер для расчёта новых баров
int first,bar;
if(CopyBuffer(Handle1,0,0,to_copy,Buffer1)<=0) return(RESET);
if(CopyClose(Symb1,0,0,to_copy,buf1)<=0) return(RESET);
//---- расчёт стартового номера first для цикла пересчёта баров
if(prev_calculated>rates_total || prev_calculated<=0) // проверка на первый старт расчёта индикатора
first=min_rates_total; // стартовый номер для расчёта всех баров
else first=prev_calculated-1; // стартовый номер для расчёта новых баров
//---- Основной цикл расчёта индикатора
for(bar=first; bar<rates_total ; bar++)
{
Buffer3[bar]=Buffer1[bar] - buf1[bar];
}
//----
return(rates_total);
}
//+------------------------------------------------------------------+
A janela de cotação desaba quando o terminal é minimizado. Este não deve ser o caso.
A janela de cotação desaba quando o terminal é minimizado. Este não deve ser o caso.
Alguém me pode dizer se o tamanho da RAM (sublinhado a vermelho) está correcto?
Dados do caderno de notas antes da reparação:
2013.04.28 01:26:54 OpenCL Device #1: GPU Intel(R) Corporation Intel(R) HD Graphics 4000 with OpenCL 1.1 (16 units, 350 MHz, 1624 Mb, version 9.17.10.2828)
2013.04.28 01:26:54 OpenCL Device #0: CPU Intel(R) Corporation Intel(R) Core(TM) i5-3210 M CPU @ 2.50 GHz with OpenCL 1.1 (4 units, 2500 MHz, 6029 Mb, version 1.1)
entregou o portátil para reparação, após reparação disse que a partir da fábrica foi instalada memória (todas as suas 6 gb) não é compatível (a de 4 gb) com o tipo de processador.
pode ser que o tamanho da memória seja especificado normalmente, mas de facto devido à incompatibilidade com o tipo de processador que não estava envolvido?
Entreguei o meu portátil para reparação, após a reparação disseram que a memória foi instalada a partir da fábrica (6gb total) não compatível (o de 4gb) com o tipo de processador.
Normalmente TODOS os sistemas e com certeza os computadores portáteis são testados na fábrica e as hipóteses de hardware incompatível instalado na fábrica... é muito pouco provável...
Por alguma razão sinto o mesmo, sinto-me como se estivesse a ser... eu
Alguém me pode dizer se o tamanho da RAM (sublinhado a vermelho) está correcto?
Dados do caderno de notas antes da reparação:
2013.04.28 01:26:54 OpenCL Device #1: GPU Intel(R) Corporation Intel(R) HD Graphics 4000 with OpenCL 1.1 (16 units, 350 MHz, 1624 Mb, version 9.17.10.2828)
2013.04.28 01:26:54 OpenCL Device #0: CPU Intel(R) Corporation Intel(R) Core(TM) i5-3210 M CPU @ 2.50 GHz with OpenCL 1.1 (4 units, 2500 MHz, 6029 Mb, version 1.1)
deu o portátil para reparação, após reparação disse que a partir da fábrica foi instalada memória (apenas a sua 6gb) não é compatível (a de 4gb) com o tipo de processador.
É possível que o tamanho da memória seja declarado como normal mas não utilizado devido à incompatibilidade com o tipo de processador?
A memória pode entrar em conflito com a placa-mãe. E, se a bios detectou a memória como presente, ela está lá, mas pode não funcionar de forma estável.
O menor tamanho de memória, presumo, deve-se ao facto de a memória ser espremida para o cartão de vídeo - alguns cartões integrados fazem-no porque não têm memória própria.
Como se encontram os Sinais que têm?
Слишком большой прирост за последний месяц говорит о высоком риске