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
Olá, foi-me enviado um indicador de MA com todos os níveis que preciso. O problema é que quando eu passo o mouse sobre o indicador (cada MA), ele não mostra o período desse MA. Como consertá-lo? Há um erro de sintaxe constante ao mudar o nomeIndicatorShortName("MASHKI =)"); Por favor, ajude.
o nome do buffer indicador é definido usando SetIndexLabel
1. Qual é a maneira mais barata de saber que a chamada de função está no mesmo tique que a chamada anterior?
O tempo (TimeCurrent) pode permanecer o mesmo, tempo em ms de SymbolInfoTick, teoricamente também.
Comparar a licitação, perguntar e ms vezes é bastante caro.
Não sugiro organizar o controle no próprio Expert Advisor, eu quero ter uma função universal independente.
A mesma questão diz respeito às operações comerciais. Como sabemos que algo mudou na lista de pedidos/posições (incluindo os níveis abertos, SL e TP) desde a última execução?
Eu precisaria colocar alguma bandeira no OnTrade (e reinicializá-la quando pronta), é a maneira mais barata de fazer isso.
Mas, mais uma vez, eu gostaria de uma solução universal.
Quem tem alguma idéia?
Andrey Khatimlianskii:
Exemplo https://www.mql5.com/ru/code/16997
Recursos.mqh arquivo.
Função IsNewPeriod
A idéia básica é usar uma função com estática interna.
Você pode armazená-lo em ID = GetMicroSecondsCount para lembrar e checar carrapatos
Para o mesmo com os pedidos - verifique a magia
Eu não verifiquei o pseudo código abaixo :)
2. Pergunta semelhante para o comércio. Como saber se algo mudou na lista de pedidos/posições (incluindo níveis abertos, SL e TP) desde a última execução?
Em A, precisamos colocar algum tipo de bandeira no OnTrade (e reinicializá-la após a execução), é a maneira mais barata.
Mas, mais uma vez, eu gostaria de uma solução universal.
Quem tem alguma idéia?
Adicione suas condições (SL/TP etc.) aqui.
Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos
Organização de um ciclo de transbordo de pedidos
fxsaber, 2017.10.18 12:29
1. Qual é a maneira mais barata de saber que a chamada de função está no mesmo tique que a chamada anterior?
O tempo (TimeCurrent) pode permanecer o mesmo, tempo em ms de SymbolInfoTick, teoricamente também.
A comparação de lances, perguntas e ms vezes é muito cara.
Não sugiro organizar o controle na própria EA, eu quero ter uma função universal independente.
A questão aqui não é a barateza, mas a confiabilidade da numeração dos carrapatos. Eu faço as seguintes coisas em minha EA.
Esta é a versão da função para o MT4. Numeração através de indicador de espionagem.
Não estou incluindo a versão da mesma função para o MT5, pois coisas desnecessárias devem ser removidas. Mas se baseia nesta função.
Se ele retornar sem zero - novo tique.
A idéia básica é usar uma função com estática interna.
Para lembrar e reconciliar carrapatos que você pode armazenar em ID = GetMicroSecondsCount
Obrigado!
A questão toda é apenas esta identificação única (número do tick), que não existe.
GetMicroSecondsCount não vai ajudar, porque vai mudar entre chamadas (é para isso que foi projetado), enquanto GetTickCount, teoricamente, pode não mudar em 2 carrapatos adjacentes.
O problema aqui não é a barateza, mas a confiabilidade da numeração de tick. Em uma EA de combate, eu o faço desta maneira.
Não, será definitivamente mais lento que uma comparação lance/pesquisa/ms.
Qual é o problema com a confiabilidade? O que importa é apenas o fato de mudar algo.
Adicione suas condições (SL/TP etc.) aqui.
Imediatamente lembrado deste código.
Mas a questão é apenas para evitar a enumeração desnecessária de todos os pedidos.
É claro que podemos fazer deste loop um loop único para toda a EA. Mas neste caso, devemos passar para a função um sinal de mudanças (podemos muito bem não chamá-la).
Não, será definitivamente mais lento que uma comparação lance/pesquisa/ms.
Qual é o problema com a confiabilidade? O que importa é que algo muda.
Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos
Qualquer pergunta do PROFi ao SUPER PROFi - 1.
Andrey Khatimlianskii, 2020.03.05 23:46
O tempo (TimeCurrent) pode permanecer o mesmo, tempo em ms da SymbolInfoTick, teoricamente, também.
Comparar lances, pedidos e tempo na msc é caro.
Especialmente relevante para o MT4, onde a mudança de etapa time_msc é de 1000ms.
Mas o objetivo é precisamente evitar a sobreposição desnecessária de todas as ordens.
É claro que podemos fazer deste ciclo um único para toda a EA. Mas então temos que passar para a função um sinal de mudanças (podemos muito bem não chamá-la).
Eu não entendo. Se algo mudou no banco de dados, a única maneira de descobrir é compará-lo com o estado anterior do banco de dados.
Você pode comparar cada elemento correspondente do banco de dados. Ou você pode calcular o hash a partir deles e comparar os hashes.