Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Vamos ao servicedesk.
Por favor, esclareça como foram exactamente desconectados os serviços? Suprimiu (congelou) os serviços? Por favor, anexar os registos dos agentes problemáticos.
As definições de proxy nos seus registos são um pouco estranhas. Escreveu as definições de proxy nas suas configurações de agente? Anexe por favor o common.ini do seu gestor.
Acontece que olhei para os registos de ontem.
Tudo está bem.
Próximo código:
Saídas:
2011.12.05 22:01:28 RectLabel (EURUSD,H1) pos = {12, 176314750}
2011.12.05 22:01:28 RectLabel (EURUSD,H1) outro = {123, 456}
Portanto, a lista de inicialização não funcionou, há lixo na estrutura. Isto é ou não um insecto?
//| testDeinit.mq5 |
//| Copyright 2011, MetaQuotes Software Corp. |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2011, MetaQuotes Software Corp."
#property link "http://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------+
class CTest_Expert
{
public:
CTest_Expert();
~CTest_Expert() { Deinit(); }
void Processing();
void Deinit();
bool StartTimer(int nCounSeconds);
void StopTimer();
string Exp_Symbol;
};
CTest_Expert arSymbols[];
//+------------------------------------------------------------------+
//| Конструктор |
//+------------------------------------------------------------------+
CTest_Expert::CTest_Expert()
{
}
//+------------------------------------------------------------------+
//| Функция удаления динамических объектов |
//+------------------------------------------------------------------+
void CTest_Expert::Deinit()
{
Print("Эксперт выгружен с пары "+Exp_Symbol);
Comment("");
}
//+------------------------------------------------------------------+
//|Инициализация таймера |
//+------------------------------------------------------------------+
bool CTest_Expert::StartTimer(int nCountSeconds)
{
return(EventSetTimer(nCountSeconds));
}
//+------------------------------------------------------------------+
//|Уничтожение таймера |
//+------------------------------------------------------------------+
void CTest_Expert::StopTimer()
{
EventKillTimer();
}
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
ArrayResize(arSymbols, 5);
arSymbols[0].Exp_Symbol="0";
arSymbols[1].Exp_Symbol="1";
arSymbols[2].Exp_Symbol="2";
arSymbols[3].Exp_Symbol="3";
arSymbols[4].Exp_Symbol="4";
return(0);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
int nSize=ArraySize(arSymbols);
Print("nSize = " + IntegerToString(nSize));
for(int i=0;i<nSize;i++)
{
Print("-------"+IntegerToString(i)+"--------");
arSymbols[i].Deinit();
Print("---------------");
}
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
}
//+------------------------------------------------------------------+
Resultado
2011.12.06 16:59:52 testDeinit (EURUSD,M5) 14:00:00
2011.12.06 16:59:52 testDeinit (EURUSD,M5) 14:02:00 PM testDeinit (EURUSD,M5) E.T.A. foi descarregado do par 3
2011.12.06 16:59:52 testDeinit (EURUSD,M5) Transferido do par 2
2011.12.06 16:59:52 testDeinit (EURUSD,M5) Transferido do par 1
2011.12.06 16:59:52 testDeinit (EURUSD,M5) Ekspert descarregado do par 0
2011.12.06 16:59:52 testDeinit (EURUSD,M5) ---------------
2011.12.06 16:59:52 testDeinit (EURUSD,M5) 14
2011.12.06 16:59:52 testDeinit (EURUSD,M5) ------- 4--------
2011.12.06 16:59:52 testDeinit (EURUSD,M5) ---------------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) O perito é descarregado do par 3
2011.12.06 16:59:51 testDeinit (EURUSD,M5) ------- 3--------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) ---------------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) O perito foi descarregado do par 2
2011.12.06 16:59:51 testDeinit (EURUSD,M5) ------- 2--------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) ---------------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) O perito é descarregado do par 1
2011.12.06 16:59:51 testDeinit (EURUSD,M5) ------- 1--------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) ---------------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) O perito é descarregado do par 0
2011.12.06 16:59:51 testDeinit (EURUSD,M5) ------- 0--------
2011.12.06 16:59:51 testDeinit (EURUSD,M5) nSize = 5
Não consigo compreender a desinicialização. Porque é que a mensagem "Perito descarregado do par ..." acontece duas vezes?
CTest_Expert arSymbols[];
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
int nSize=ArraySize(arSymbols);
Print("nSize = " + IntegerToString(nSize));
for(int i=0;i<nSize;i++)
{
Print("-------"+IntegerToString(i)+"--------");
arSymbols[i].Deinit();
Print("---------------");
}
}
Isto é um bug no compilador - não gerou um erro dizendo que uma estrutura não pode ser inicializada desta forma (sem o construtor de cópias). Fixo. Obrigado pelo correio.
Uh, não. Mais detalhes vieram aqui acima.
Em Help diz que estruturas simples podem ser copiadas como variáveis de tipos simples:
Então porque não pode ser feito na lista de inicialização? Não quero definir explicitamente os construtores, de modo a não perder o método de inicialização utilizado acima.
Não crítico em princípio, só quero ouvir o comentário final.
Corro o terminal com 12 janelas abertas, ele come 325 MB de RAM.
Executando o Expert Advisor multi-currency, o terminal come 990 Mb de memória. O Expert Advisor vê barras de 5 minutos durante as últimas 48 horas + utiliza o indicador "fractal". Se eu correr apenas para negociar com um símbolo, são necessários 400 Mb. Este consumo de memória é normal quando se trabalha com 12 símbolos?
Estou a gerir um Expert Advisor multi-currency, o terminal come 990 Mb de RAM. O perito olha através de barras de 5 minutos durante as últimas 48 horas + utiliza o indicador "fractal". Se eu correr apenas para negociar com um símbolo, são necessários 400 Mb. Este consumo de memória é normal quando se trabalha com 12 símbolos?
Veja o artigo Princípios de Recálculo Económico de Indicadores
Esqueci-me de mencionar que o fractal é um indicador padrão + todos os cálculos têm lugar de cinco em cinco minutos
Como é que os criadores sabem o que estão a fazer e como o estão a fazer?
Tente formular e explicar claramente a raiz do problema no seu código.
Descrever o problema de uma forma técnica.
Como podem os criadores saber o que estão a fazer e como o estão a fazer?
Tente formular claramente e destacar a essência do problema no seu código. em que condições o consumo começa a crescer, fazer e mostrar a impressão do registo.
Descrever o problema de uma forma técnica.