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
o código é inserido, o ficheiro não é anexado
Foram feitas correcções.
Por favor, tente novamente.
Pende por causa do loop infinito.
Tem a única forma de sair do laço - por quebra. Mas o intervalo que tem ocorre quando uma determinada condição é satisfeita. Um dos componentes
Recebe sempre o manípulo indicador dentro da função e copia-o sem verificar se os dados estão prontos.
Sugestão.
1. Levar a variável de manuseamento para o nível global.
2. Receber o manípulo indicador no OnInit (de qualquer forma não se altera os parâmetros parabólicos).
3. Antes de copiar dados do buffer de indicadores, verificar a sua prontidão (calculabilidade) - a função BarsCalculated (Parabólico) ajudá-lo-á.
4) Organizar a saída do ciclo, se não se fizer o item 3. 3 não é cumprida.
2. não está a mudar no exemplo de teste, de facto esta função é usada a toda a hora com parâmetros diferentes, é por isso que recebo a pega não no OnInit
3. Vou verificar, apenas não compreendo bem para que preciso dele, a condição é tal que não pode falhar, uma série de pontos parabólicos são as barras mais próximas, devem definitivamente ser carregados (e, em geral, compreendo que o histórico é carregado para o testador um ano antes da data de início especificada do teste). Funciona realmente bem. Funciona em MQL4 tanto em real como no provador (embora exista uma função parabólica incorporada, não uma função separada).
Foram feitas correcções.
Tente novamente.
2. não muda no exemplo de teste, e de facto esta função é usada a toda a hora com parâmetros diferentes, por isso recebo a pega não no OnInit
3. ok, vou fazer uma verificação, apenas não compreendo realmente o ponto, a condição é tal que não pode falhar, uma série de pontos parabólicos são as barras mais próximas, devem definitivamente ser carregados (e em geral, compreendo que o histórico é carregado para o testador um ano antes da data de início do teste especificada). Funciona realmente bem. Funciona em MQL4 tanto em real como no testador (embora não exista uma função parabólica separada, mas está construída em...).
3. Já foi discutido e descrito na referência(https://www.mql5.com/ru/docs/series/barscalculated), porque é que é necessário.
Nota
Esta função é útil quando se pretende obter dados indicadores logo após a sua criação (para obter um manípulo indicador).
Este é o seu caso.
O indicador é calculado com base nos dados da barra. As barras estão lá, mas os dados calculados podem estar ausentes.
Isto significa que esta posição é o resultado de vários ofícios neste instrumento. Como consequência, vê-se o preço médio ponderado da posição.
3. O motivo da sua necessidade já foi discutido muitas vezes e é descrito na ajuda(https://www.mql5.com/ru/docs/series/barscalculated).
Este é o seu caso.
O indicador é calculado sobre os dados da barra. As barras estão lá, mas os dados calculados podem não estar.
Sim, tenho-o com o BarsCalculated, obrigado.
Mas de qualquer forma é logicamente errado que funcione e não funcione no testador. É preciso ter todas as verificações já construídas no testador, e se o pedido for para alguns dados e não estiver lá, então o erro aparecerá. Mas o testador tem barras, mas por alguma razão não pode calcular os dados e mantém-se em silêncio...
Pensei queo preço médio ponderado era apenas um indicador técnico... Nem sempre recebo 0 quando estou a correr no Testador de Estratégia... Por vezes podem ocorrer alguns cêntimos.
Média ponderada por volume. Por exemplo, houve três transacções no EURUSD:
Como resultado, temos uma posição no EURUSD com o volume de 0,6 lotes, mas a que preço?
Média ponderada por volume. Por exemplo, houve três transacções no EURUSD:
Acabamos por ficar com uma posição EURUSD de 0,6 lotes, mas a que preço?
Não seria mais fácil arredondar o preço para o nível de precisão da moeda ao nível do servidor? Afinal, qualquer EA teria de sofrer com o ajuste na precisão e preço por ponto.
Porque é que o Consultor Especialista deve sofrer? Este preço médio ponderado é necessário para calcular o fecho das posições. Não tem qualquer utilidade para o Consultor Especialista. Terá de fechar a posição a um preço normal com o número necessário de caracteres para este símbolo.
Em alguns casos, é necessário ter um valor de preço normalizado, independentemente da forma como o preço é recebido.
É mais fácil fazer a normalização do lado do servidor desde que o servidor recalcule o preço de abertura de qualquer forma (pelo menos na minha opinião).
A propósito, uma vez que estamos a falar de preço médio ponderado e de plataforma de compensação.
Tanto quanto sei, existem dois modelos de corte (fecho parcial) de uma posição perdida que foi anteriormente fechada:
1. Não fixar a perda no fecho parcial, mas simplesmente recalcular o preço de abertura (se não estou enganado, é o que a CF faz);
2. deixar o preço de abertura inalterado, fixando a perda.
O mesmo se aplica à inversão de posições perdidas
Quero saber a opinião dos criadores sobre que método será eventualmente padronizado no MT5, se possível porquê...