[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 367
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
Três máximos para o período, não o mais recente. Ou melhor, não necessariamente o último.
Veja: você tem uma matriz com valores. Você precisa encontrar três máximos nesta série. Eles não têm que ser os últimos ou os primeiros da série temporal. Você só precisa encontrar os três máximos.
1. Vamos copiar sua matriz em uma temporária (vamos procurá-las na matriz temporária):
int ArrayCopy( objeto &dest [], objeto fonte[], int start_dest=0, int start_source=0, int count=WHOLE_ARRAY)
Copia uma matriz em outra. As matrizes devem ser do mesmo tipo. As matrizes do tipo double[], int[], datetime[], color[], e bool[], podem ser copiadas como matrizes do mesmo tipo.Retorna o número de elementos copiados.
2. Procure o valor máximo na matriz temporária:
int ArrayMaximum( double array[], int count=WHOLE_ARRAY, int start=0)
Procure o elemento com o valor máximo. A função retorna a posição do elemento máximo na matriz.3. Salvar índice encontrado na matriz (por exemplo, MassIndexMaxValue[])
4. zero o valor do máximo encontrado na matriz temporal - basta escrever zero lá
5. Procurar novamente o próximo valor máximo na matriz temporária (o índice do primeiro que encontramos já está armazenado em MassIndexMaxValue[] e o valor deste máximo é zerado)
Este laço continua até encontrarmos o número necessário de valores máximos na matriz temporária.
MassIndexMaxValue[] conterá agora índices do número necessário de valores máximos em sua matriz.
Vamos redefinir o tamanho da matriz temporária para zero - não há motivo para entupir a memória
É assim que as coisas são...
ZS... Acabei de fazer um esboço rápido no local... Posso ter cometido um erro - eu estava acordado quando estava escrevendo e não chequei nada, mas a função tem algo parecido com este conteúdo:
Quando é chamado:
FindMaxValue(Ваш_Массив_Значений, MassIndexMaxValue, 3);
... A matriz previamente definida no MassIndexMaxValue[] deve conter os índices dos três valores máximos encontrados em seu_valor_de_arranjo[];
Não consigo descobrir como são calculados a porcentagem de lucro por comércio e a porcentagem de perda por comércio. Você pode me dizer?
http://www.assessor.ru/forum/index.php?t=822
Veja: você tem uma matriz com valores. Você precisa encontrar três máximos nesta série. Eles não têm que ser os últimos ou os primeiros da série temporal. Você só precisa encontrar os três máximos.
Artem, muito obrigado!
Estou feliz que minha idéia de zerar o valor máximo da matriz estava correta, e você descreveu tudo em detalhes, com a cópia em outra matriz, agora eu vou lidar com as minúcias.
E seguindo o conselho de Vladimir, vou começar com o algoritmo do programa, vou processar suas informações e tenho certeza de que tudo vai dar certo - bons professores.
OBRIGAÇÕES ESPECIAIS PARA O ARTIGO https://www.mql5.com/ru/articles/1357
Boa tarde!
Você pode me dizer como obter sinais de um indicador personalizado em um Expert Advisor?
Eu usei iCustom, mas as corujas ainda não recebem o sinal
Boa tarde!
Você pode me dizer como obter sinais de um indicador personalizado em um Expert Advisor?
Eu usei iCustom, mas as corujas ainda não recebem o sinal
Talvez o código indicador iCustom não se preste a ele. há muito pouca informação em sua pergunta para responder.
Boa tarde!
Você pode me dizer como obter sinais de um indicador personalizado em um Expert Advisor?
Eu usei iCustom, mas as corujas ainda não recebem o sinal
É o mesmo com outros indicadores? Se sim, você usa incorretamente a função iCustom(). Se não, tente verificar o código do indicador - pode ser que seu indicador não utilize nenhum buffer de indicador - ele funciona com a construção de objetos gráficos.
Olá, há uma função:
Mas não funciona por alguma razão. Ela é chamada na EA logo no início, após int start() como a seguir:
O Expert Advisor é carregado com sucesso nas guias Log e Experts, e nada mais aparece. Embora deva dizer: "Não negociamos nos fins de semana", pois 26.11.2011 é sábado.
Onde está o erro e o que estou fazendo de errado?
Talvez o código indicador iCustom não se preste a... Há muito pouca informação em sua pergunta para responder.
Olá, há uma função:
Mas não funciona por alguma razão. Ela é chamada na EA logo no início, após int start() como a seguir:
O Expert Advisor é carregado com sucesso nas guias Log e Experts, e nada mais aparece. Embora deva dizer: "Não negociamos nos fins de semana", pois 26.11.2011 é sábado.
Onde está o erro e o que estou fazendo de errado?
Hoje é sábado - um dia de folga. Você inicia o Expert Advisor, a inicialização ocorre, mas como é dia de folga e não há nenhum tick, a função de início não é iniciada (ou seja, o comércio() não é chamado). Para verificar se funciona corretamente, você precisa colar a chamada desta função no bloco de inicialização, ou testá-la no testador.
O indicador desenha linhas de apoio e resistência, o que faz durante a visualização. O próprio indicador dá um sinal LT_1 == 1 ou -1 quando cruzado.
Então não se preocupe - basta mover o código do indicador para o Expert Advisor como é para cumprir os critérios de negociação e isso é tudo - então no conselho, de acordo com estas condições de negociação transferidas do indicador, você abre posições através do Expert Advisor e é isso ...