Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 503
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
Para pares de moedas, se colocar um limite, tudo funciona, mas para o período de tempo não funciona, mesmo se o colocar no indicador h1 não funciona
https://docs.mql4.com/ru/chart_operations/periodwindow
https://docs.mql4.com/ru/constants/chartconstants/enum_timeframes
Valor de retornoPeríodo do gráfico actual (em minutos).
Experimente, talvez funcione.
Ou remover as vírgulas invertidas.
https://docs.mql4.com/ru/chart_operations/periodwindow
https://docs.mql4.com/ru/constants/chartconstants/enum_timeframes
Valor de retornoPeríodo do gráfico actual (em minutos).
Experimente-o e veja se funciona.
Outra questão, ao adicionar no início quando o #proprity strict indicator dá uma matriz de erros fora do intervalo em 'Nome do Indicador' (100,41) como lidar com ele
O que há de errado?
Desculpe, não sabia da inserção do código, mas quanto ao próprio código, porque é que isso acontece quando se insere #propriedade rigorosa e tudo funciona sem ela?
Já viu a ajuda no MetaEditor?
O trabalho com funções, âmbito das variáveis e memória libertadora em matrizes locais também mudou. Uma vez que as mudanças se revelaram bastante significativas, foi decidido introduzir uma nova propriedade #propriedade rigorosa, a fim de maximizar a compatibilidade com a antiga abordagem à escrita de programas MQL4. Ao criar um novo programa MQL4 utilizando o MQL4 Wizard, esta propriedade é sempre adicionada ao modelo.
E assim por diante:
Tabela de diferenças entre os compiladores:
O antigo compilador MQL4
Novo Compilador MQL4
Novo compilador MQL4 com #propriedade rigorosa
Os pontos de entrada init(), start(), deinit() podem ter qualquer parâmetro e qualquer tipo de retorno
init(), start(), deinit() retido para compatibilidade,
e os novosOnInit(),OnStart(),OnCalculate(),OnTick(),OnTimer(),OnChartEvent(),OnTester(),OnDeinit() devem coincidir exactamente com as suas assinaturas
O mesmo
O resultado de retorno da função init() não é analisado de forma alguma pelo subsistema de execução
O resultado de retorno das funções init() e OnInit() não é analisado de forma alguma pelo subsistema de execução
Ao devolver um valor não nulo do OnInit(), o perito ou indicador pára e o programa é descarregado
Os nomes das variáveis podem ser quase quaisquer (excepto as palavras reservadas), incluindo caracteres especiais e paragens completas
Os nomes das variáveis não podem ter caracteres especiais e paragens completas.
A listade palavras reservadas é alargada, pelo que palavras comuns tais como short, long, const, etc. não podem ser usadas como nomes.
O mesmo
O âmbito de uma variável é desde a declaração (mesmo num bloco aninhado) até ao fim da função.
O mesmo
Gama de visibilidade de uma variável - desde a declaração até ao fim do bloco em que a variável é declarada.
Inicialização implícita de todas as variáveis (tanto globais como locais) com zeros.
O mesmo
Inicialização apenas de variáveis globais. A partir de variáveis locais, apenas as cordas são implicitamente inicializadas
As matrizes locais não são libertadas ao deixar a função
As matrizes locais são libertadas ao deixar a função
As matrizes locais são libertadas na saída {}
Oerro"Array out of range" não conduz a um erro crítico*.
O mesmo. Excepto para conjuntos de estruturas e classes para as quais este erro é crítico
"Array out of range" é um erro crítico e faz com que o programa pare
Sem estruturas e classes
Háestruturas e classes. Aparecem tipos de dados adicionais.
O mesmo
Cordas - byte único.
data/hora - 32-bit integer
Variável pré-definida Volume tem tipo duplo
Cordas - unicode.
data/hora - inteiro de 64 bits
Ovolume é uma variável pré-definida de tipo longo.
O mesmo
ArrayCopyRates() produz cópia virtual para array double[][6]
ArrayCopyRates() produz uma cópia virtual para MqlRates[] array. Para compatibilidade, a cópia para matriz dupla[][6] permanece, mas esta cópia não é virtual mas real.
Também.
As funções não podem retornar valores, mesmo que tenham um tipo. Para este efeito, o compilador insere automaticamente o return(0) no fim da função.
O mesmo.
Funções de qualquer tipo devem sempre devolver um valor
Número de ficheiros abertos simultaneamente - 32
Número de ficheiros a serem abertos simultaneamente - 64
O mesmo
Os ficheiros são sempre abertos em modo partilhado **
O modo de partilha deve ser declarado explicitamente com FILE_SHARE_READ e/ou FILE_SHARE_WRITE
O mesmo
Os scripts na janela de entrada mostram os nomes das variáveisexternas
Os nomes dasvariáveisexternas e deentrada são mostrados na janela de parâmetros de entrada para os scripts no modo show_inputs.
Para scripts no modo show_inputs, os comentários de string são mostrados na janela de entrada em vez de nomes devariáveisexternas e deentrada
* Deve prestar especial atenção ao erro "Array out of range" - muitos dos antigos indicadores personalizados produzirão este erro no novo compilador em modo estrito, quando executado num gráfico. É desejável encontrar a causa e eliminá-la.
** Na nova MQL4 e MQL5 as bandeiras FILE_SHARE_READ e FILE_SHARE_WRITE são responsáveis pelo modo de partilha de ficheiros, não existiam na antiga MQL4.
dizer-me o que está errado?
Desculpe se o estou a incomodar, mas agora há este erro
39ª posição.
O mesmo erro, matriz fora de alcance ?