Alexey Viktorov #: Por que esperar até amanhã? Se você for preguiçoso demais para olhar através das especificações, passe o roteiro por todos os símbolos de interesse e encontre uma correspondência para moeda de margem e moeda de lucro. Não verifiquei tudo antes de escrever, mas não encontrei nenhuma coincidência...
Yevhenii Levchenko variável estática var do método X::doJob(). Há uma classe U que cria um objeto do tipo X, faz algum trabalho e depois o destrói. E isto acontece periodicamente. Pergunta: quando a variável var é excluída?
Não, a instância de classe pode nem mesmo ser criada, mas o campo estático de classe será alocado à memória e inicializado.... A propósito, seu exemplo, em minha opinião, não deve ser compilado, a inicialização estática do campo deve estar fora da descrição.
Se até que o terminal esteja sobrecarregado? Grosso modo, após o que ele é removido?
O terminal não tem nada a ver com ele, a vida útil é a mesma que para as variáveis globalmente declaradas ou para as variáveis estáticas regulares - a memória é alocada quando você carrega o programa MQL e liberada quando você descarrega o programa MQL
Não, a instância de classe pode nem mesmo ser criada, mas o campo estático de classe será alocado à memória e inicializado.... A propósito, seu exemplo, em minha opinião, não deveria compilar, a inicialização dos campos estáticos deveria estar fora da descrição.
O terminal não tem nada a ver com ele, a vida útil é a mesma das variáveis globalmente descritas ou das variáveis estáticas regulares - a memória é alocada no momento do carregamento do programa MQL e é liberada ao descarregar o programa MQL
Ou seja, se estiver tudo dentro da EA, a variável ficará na memória até OnDeinit() da EA?
Valeri tem a direção correta do pensamento. Mas não entendo por que precisamos definir a moeda que estamos procurando na ordem moedas em cada iteração do ciclo? E eu acho que é mais fácil pegar a moeda da margem e a moeda do lucro em vez de olhar na linha. Veja a especificação de moedas ... Eu teria feito isso.
bool Search(string _sy)
{
int OT = OrdersTotal();
string curencyProfit = SymbolInfoString(_sy, SYMBOL_CURRENCY_PROFIT),
currencyMargin = SymbolInfoString(_sy, SYMBOL_CURRENCY_MARGIN);
for(int i = 0; i < OT; i++)
{
if(OrderSelect(i, SELECT_BY_POS))
{
bool res = StringFind(OrderSymbol(), curencyProfit) >= 0 ||
StringFind(OrderSymbol(), currencyMargin) >= 0;
if(res)
return(true);
}
}
return(false);
}
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Por que esperar até amanhã? Se você for preguiçoso demais para olhar através das especificações, passe o roteiro por todos os símbolos de interesse e encontre uma correspondência para moeda de margem e moeda de lucro.
Não verifiquei tudo antes de escrever, mas não encontrei nenhuma coincidência...
Um pouco ocupado hoje.
bem, o ponto é rápido - pegou o código da moeda, fez uma busca em uma matriz pronta que é atualizada quando uma negociação é aberta.
Tudo é difícil de ser pontuado uma vez em uma série
Viverá para sempre.
Viverá para sempre.
Enquanto o objeto U estiver vivo? Ou até que o terminal seja reinicializado? Grosso modo, após o que é apagado?
Enquanto o objeto U estiver vivo?
Não, a instância de classe pode nem mesmo ser criada, mas o campo estático de classe será alocado à memória e inicializado.... A propósito, seu exemplo, em minha opinião, não deve ser compilado, a inicialização estática do campo deve estar fora da descrição.
Se até que o terminal esteja sobrecarregado? Grosso modo, após o que ele é removido?
O terminal não tem nada a ver com ele, a vida útil é a mesma que para as variáveis globalmente declaradas ou para as variáveis estáticas regulares - a memória é alocada quando você carrega o programa MQL e liberada quando você descarrega o programa MQL
Não, a instância de classe pode nem mesmo ser criada, mas o campo estático de classe será alocado à memória e inicializado.... A propósito, seu exemplo, em minha opinião, não deveria compilar, a inicialização dos campos estáticos deveria estar fora da descrição.
Ok! Parece compilar...
Igor Makanu #:
O terminal não tem nada a ver com ele, a vida útil é a mesma das variáveis globalmente descritas ou das variáveis estáticas regulares - a memória é alocada no momento do carregamento do programa MQL e é liberada ao descarregar o programa MQL
Ou seja, se estiver tudo dentro da EA, a variável ficará na memória até OnDeinit() da EA?
Norm! parece compilar...
Então, se estiver tudo dentro da EA, a variável fica na memória até OnDeinit() da EA?
As variáveis estáticas são destruídas após OnDeinit().
As variáveis estáticas são destruídas após OnDeinit().
Ok! Obrigado :)
Ajuda na escolha de um corretor, onde é melhor negociar e a retirada não seria um problema...Obrigado
Neste recurso, nomear um corretor é o mesmo que discuti-lo. E a canção de ninar não dorme e ameaça represálias. Então, procure por si mesmo...
Valeri tem a direção correta do pensamento. Mas não entendo por que precisamos definir a moeda que estamos procurando na ordem moedas em cada iteração do ciclo? E eu acho que é mais fácil pegar a moeda da margem e a moeda do lucro em vez de olhar na linha. Veja a especificação de moedas ... Eu teria feito isso.
Verificado, ele funciona corretamente.
Obrigado!