Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1331
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
Ajude a corrigir o indicador, ele não é exibido no terminal MT5, dá erros durante a compilação.
Ajuda a corrigir o indicador, não é exibido no terminal MT5, dá erros na compilação.
A maneira mais fácil é definir o ArraySetAsSeries(Aberto,verdadeiro) ; ArraySetAsSeries(Fechado,verdadeiro) ; e assim por diante no OnCalculate logo no início de todos os arrays.
esta é a surpresa tradicional à primeira vista: em 5 as direcções de indexação por defeito são diferentes de em 4.
o indicador não utiliza buffers, apenas constrói objectos gráficos - depois de começar a pressionar Ctrl+B e ver onde os coloca lá
Escavação da documentação e do fórum ...
Como tornar globais variáveis de tipo ponteiro [no exemplo var], se são criadas em OnInit() por string:
CObj* var=new CObj(p1,p2,p3);
e o número de objectos e parâmetros do construtor não são conhecidos antecipadamente e são calculados no OnInit() ?
Escavação da documentação e do fórum ...
Como tornar globais variáveis de tipo ponteiro, se forem criadas no OnInit():
e o número de objectos e parâmetros do construtor não são conhecidos antecipadamente e são calculados no OnInit() ?
Não entendo nada, mas passo um conjunto de indicadores CArrayObj aos objectos criados no OnInit()
Não entendo nada, mas passo uma série de apontadores CArrayObj para os objectos criados no OnInit()
Artem, obrigado pela sua resposta.
Peço desculpa pela pergunta pouco clara)
Há três variáveis globais de tipo ponteiro para um objecto no Expert Advisor: var1, var2, var3.
Antes de executar o OnInit(), desconhece-se se todas estas variáveis serão necessárias (isto está relacionado com os prazos), também desconhecidos são os parâmetros para os construtores, que inicializarão os objectos.
Como criar tais variáveis no OnInit() para que sejam globais?
Artem, obrigado pela sua resposta.
Peço desculpa pela pergunta pouco clara)
Três variáveis globais do tipo ponteiro podem ser usadas em EA: var1, var2, var3.
Antes de executar o OnInit(), não se sabe se todas estas variáveis serão necessárias (está relacionado com prazos), também os parâmetros para os construtores, que inicializarão os objectos, são desconhecidos.
Como criar tais variáveis no OnInit(), para que sejam globais?
Não sei que construtor mágico tem aí, que contém apenas incógnitas :)
Não é necessário declarar previamente os objectos como instâncias.
É necessário declarar um conjunto CArrayObj. Os seus próprios objectos devem ser descendentes de CObject.
Crie o seu objecto por novo e acrescente-lhe um ponteiro à lista.
Criar o próximo objecto e adicioná-lo à lista, e assim por diante.
Esta lista - um ponteiro para ela (e a lista é declarada globalmente) - é transmitida aos seus construtores.
Mas eis como iam fazer construtores com argumentos desconhecidos de antemão - não o compreendo nem um pouco. Tente clarificá-lo
Mas eis como se vão fazer construtores com argumentos desconhecidos antecipadamente - estou um pouco confuso aqui. Tente explicar
Criação de objectos do tipo CIsNewBar para cada período de tempo utilizado para cada símbolo.
HH.Houve um problema com a classeCArrayObj: ao aceder a elementos do tipoCArrayObj* ArrayObj. At(0), os membros da classe do objecto que é At(0) são inacessíveis, embora estes membros da classe sejam exactamente públicos, ou seja, uma construção do tipo ArrayObj.At(0).method(parâmetro) não funciona.Os caracteres são especificados por uma linha com separadores no parâmetro de entrada, pelo que não se pode criar todos os objectos antes do OnInit().
Ou seja, o primeiro parâmetro de construtor desconhecido é um símbolo.
O segundo parâmetro de construtor desconhecido é um período de tempo, uma vez que cada símbolo terá o seu próprio conjunto de períodos de tempo, igualmente passados por um fio com delimitadores no parâmetro de entrada.
E também tenho medo de usar estas bibliotecas, talvez algo mude nelas ao actualizar o terminal, e o meu Conselheiro Especialista deixará subitamente de funcionar...
Criar objectos do tipo CIsNewBar para cada período de tempo utilizado para cada símbolo.
P.S.Houve um problema com a classeCArrayObj: ao aceder a elementos do tipoCArrayObj* ArrayObj. At(0), os membros da classe objecto que At(0) não está disponível, embora estes membros da classe sejam exactamente públicos, ou seja, uma construção do tipo ArrayObj.At(0).method(parâmetro) não funciona.Os caracteres são especificados por uma linha com separadores no parâmetro de entrada, pelo que é impossível criar todos os objectos antes do OnInit() com antecedência.
Ou seja, o primeiro parâmetro de construtor desconhecido é um símbolo.
O segundo parâmetro desconhecido do construtor é um período de tempo, uma vez que cada símbolo terá o seu próprio conjunto de períodos de tempo, igualmente passados por um fio com delimitadores no parâmetro de entrada.
E também tenho medo de usar estas bibliotecas, talvez algo mude nelas ao actualizar o terminal, e o meu Conselheiro Especialista deixará subitamente de funcionar...
Está tudo errado de alguma forma...
Escreva em palavras simples o que pretende fazer. Sem qualquer referência às suas tentativas de codificar tudo.
Só não me parece correcto...
Escreva em palavras simples o que pretende fazer. Sem qualquer menção às suas tentativas de codificar tudo.
Consultor Especialista Multimoedas.
A lista de símbolos é especificada através do parâmetro de entrada, a cadeia com o delimitador "AUDUSD,EURUSD,GBPUSD...", o número de símbolos não está pré-definido.
Para cada símbolo, existem dois períodos de tempo, nos quais o seu "próprio" sistema de comércio funciona.
Correspondentemente, há dois parâmetros de entrada, cadeias delimitadas por : curto prazo para um respectivo símbolo "M1,M30,M5..."
um longo período para o respectivo símbolo "H1,D1,H4".."
Isto é, para AUDUSD os prazos são M1 e H1, para EURUSD M30 e D1, etc.
Em OnTick(), para cada símbolo, é necessário acompanhar o aparecimento de uma nova barra em ambos os períodos de tempo (curto e longo) para tomar decisões comerciais.
Tentei escrevê-lo da forma mais simples possível)
Consultor Especialista Multimoedas.
A lista de símbolos é definida através do parâmetro de entrada, uma cadeia com separador "AUDUSD,EURUSD,GBPUSD...", o número de símbolos não está pré-definido.
Para cada símbolo, existem dois períodos de tempo, nos quais o seu "próprio" sistema de comércio funciona.
Correspondentemente, há dois parâmetros de entrada, cadeias delimitadas por : curto prazo para um respectivo símbolo "M1,M30,M5..."
um longo período para o respectivo símbolo "H1,D1,H4".."
Isto é, para AUDUSD os prazos são M1 e H1, para EURUSD M30 e D1, etc.
Em OnTick(), para cada símbolo, é necessário acompanhar o aparecimento de uma nova barra em ambos os períodos de tempo (curto e longo) para tomar decisões comerciais.
Tentei escrevê-lo da forma mais fácil possível).
Já tem uma aula para um novo bar?
E como são exactamente os parâmetros de entrada?