Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1947
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
Bom dia, por favor, informe como devolver um valor de uma lista de constantes na forma de texto.
Por exemplo, a função HistoryDealGetInteger retorna o valor int da listaENUM_DEAL_TYPE ao solicitar o evento. Como podemos obter informações do número devolvido que é "DEAL_TYPE_CREDIT - credit accrual". Depois de depurado este valor não será, naturalmente, necessário, int será suficiente para processar o evento, mas durante a depuração não está nada claro o que significam os números 3 ou 5 retornados pela função.
Bom dia, você poderia me dizer como devolver um valor como texto de uma lista de constantes?
Por exemplo, a função HistoryDealGetInteger retorna o valor int da listaENUM_DEAL_TYPE ao solicitar o evento. Como podemos obter informações do número devolvido que é "DEAL_TYPE_CREDIT - credit accrual". Depois de depurado este valor não será, naturalmente, necessário, int será suficiente para processar o evento, mas durante a depuração não está nada claro o que significam os números 3 ou 5 retornados pela função.
string s = EnumToString((ENUM_DEAL_TYPE) x)
string s = EnumToString((ENUM_DEAL_TYPE) x)
Você pode me dizer como resolver:
1) Eu não carreguei o histórico, na janela do gráfico durante o processo on-line eu tive tempo de carregar barras de 70 000 minutos. Estou carregando meu Conselheiro Especialista no Teste de Estratégia e, caso tenha escrito o número mínimo de barras para um determinado padrão, ele respondeu com "não há barras suficientes para análise". Eu imprimo iBars e diz 1200 barras. Carreguei o histórico (8 000 000 de barras). Reiniciado, as configurações mostram barras "999999999999" na janela e na história. Nova escreve "não há história suficiente". Imprimir iBars, novamente 1200. o que é isso e como resolver?
2) Na análise de múltiplas moedas, como posso forçar o indicador a não perder novos tiquetaques de entrada em outros pares de moedas, se as cotações forem subitamente congeladas no gráfico atual e o OnTick não chamar a verificação? Eu tentei o OnTimer mas ele não funciona no testador
E aqui está o resultado
. Acontece que a matriz b[] (que tem indexação reversa) de alguma forma duplica seus valores depois de aumentar o tamanho
. Por quê? Estou perdendo algo ou cometi algum erro?
E este é o resultado
Acontece que a matriz b[] (que tem indexação reversa) tem de alguma forma valores duplicados após o aumento do tamanho
Por quê? Estou perdendo algo ou cometi algum erro?
Em qualquer caso, não podemos confiar em nenhum valor nas células da nova matriz - estas são variáveis não inicializadas que podem conter qualquer lixo.
E este é o resultado
Acontece que a matriz b[] (que tem indexação reversa) tem de alguma forma valores duplicados depois de aumentar o tamanho
Por quê? Estou perdendo algo ou cometi algum erro?
É preciso virar o conjunto depois que ele for preenchido.
Em qualquer caso, não podemos confiar em nenhum valor nas células da nova matriz - estas são variáveis não inicializadas que podem conter qualquer lixo.
É verdade, mas há 2 mas
1) O espelhamento é observado em qualquer outro tamanho, não apenas, como no meu exemplo - 5
2) Se um array tem indexação reversa, então novas células devem aparecer no início do array - o que não é o caso
Você tem que virar a matriz depois de preenchê-la.
Também pensei nisso - pelo menos não vejo nenhuma outra solução no momento.
2) Se uma matriz for indexada ao contrário, então novas células devem aparecer no início da matriz - o que não é o caso
Por que devem aparecer novas células no início de uma matriz? - Se não estou enganado, deve ser escrito na ajuda, que quando você usar o ArraySetAsSeries(), a matriz não será redistribuída fisicamente na memória, mas a indexação reversa será aplicada ao acessar os elementos da matriz
SZZ: seu exemplo é complicado, eu o esbocei:
2022.04.18 21:31:59.223 tst EURUSD,H1: arr2 = 5 , 4 , 3 , 2 , 1 , 0 , 0 , 0 , 0 , 0 ,
2022.04.18 21:31:59.223 tst EURUSD,H1: arr1 = 1 , 2 , 3 , 4 , 5 , 0 , 0 , 0 , 0 , 0 ,
2022.04.18 21:31:59.223 tst EURUSD,H1: Redimensionar : 10 , 10
2022.04.18 21:31:59.223 tst EURUSD,H1: Tamanho inicial : 5 , 5