Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 204
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
A travessia de MA ocorre entre barras - um exemplo claro
O MA nas barras à esquerda e à direita do cruzamento é diferente do preço no ponto de passagem. Entendo que o questionador quer o valor no ponto exato de cruzamento ao invés do valor em uma das barras adjacentes. Este valor exato pode ser obtido usando interpolação linear - porque o MA entre barras é construído como segmentos de linha reta. Ou tomar as coordenadas de cada MA em barras adjacentes. Construir analiticamente 2 linhas retas e calcular seu ponto de interseção. É possível calcular considerando 2 triângulos semelhantes. Surge uma pergunta contrária - por que precisamos dela? Os custos são proporcionais ao valor do resultado? Afinal, os pontos de interseção se moverão se os parâmetros MA forem mudados minimamente. O mais provável é que seja exigido pelo chefe do projeto do curso
Não consigo encontrar o erro em meus cálculos.
Preciso encontrar o alto e o baixo do dia anterior, mas por alguma razão o baixo foi no dia anterior
Melhor usar CopyHigh e CopyLow com período PERÍODO_D1 e barra ou tempo correspondente.
Qualquer barra de qualquer Quadro de tempo contém informações generalizadas do intervalo correspondente das barras de intervalos de tempo inferiores: máximo, mínimo, tempo de abertura e fechamento e volume igual à soma dos volumes das barras inferiores. Mais precisamente, estas informações estão contidas nas matrizes correspondentes
Eu o faria, mas posso não ser capaz de calcular os dados usando um algoritmo adicional, pois posso ter que procurar por outros valores de ontem e será uma tarefa reescrever as funções novamente.
Se você pudesse me dizer onde está o erro em meu código, eu não o entendo. Quando tento exibir o número de barras todas encaixam, mas quando tento obter o máximo ou mínimo, ele não mostra o que deveria.
Eu o faria, mas poderia não ser capaz de calcular os dados porque poderia ter que procurar outros valores de ontem e seria uma chatice reescrever as funções novamente.
Quando mostro o número de barras na tela, tudo converge, mas quando tento obter o máximo ou mínimo, não mostra o que deveria.
Você fez tanta confusão que eu nem consigo entender. Uma montanha de conversões de um para o outro.
E tudo para encontrar o máximo e o mínimo do dia?
Então, o que não está funcionando para você?
Precisa descobrir os altos do dia? Por favor:
Precisa descobrir o máximo de ontem? Fácil:
Precisa saber o mínimo do dia antes de ontem? Não há problema:
Bem, você poderia tomar a saída fácil e usar funções quádruplas puras:
Mas eu não aconselharia - usando novas construções lingüísticas, você se preparará e seu código para que um dia quádruplo não seja suportado, e autodisciplina e tudo isso ;)
Você fez uma bagunça tão grande que é difícil até mesmo resolvê-la. Uma montanha de conversões de uma coisa para outra...
Tudo para encontrar os altos e baixos do dia?
Então, o que não está funcionando para você?
Precisa descobrir os altos do dia? Por favor:
Precisa descobrir o máximo de ontem? Fácil:
Precisa saber o mínimo do dia antes de ontem? Não há problema:
Bem, você poderia tomar a saída mais fácil, e usar funções quádruplas puras:
Mas eu não aconselharia - usando novas construções lingüísticas, você se preparará e seus códigos que um dia o quaternion não será apoiado, e a autodisciplina e tudo isso ;)
Eu mesmo encontrei um erro (toda a desatenção lê mal os parâmetros iHighest, iLowest ).
Portanto, não é adequado, pois necessitará de outros cálculos de ontem.
Eu mesmo encontrei o erro (todos os desatentos leram mal os parâmetros iHighest,iLowest).
Isto não é adequado, pois outros cálculos de ontem serão necessários
if(Red ) OrderSend( ... Buy ...) ; if( Blue ) OrderSend( ... Sell ...) ;
Só o oposto, vender em cima, comprar em baixo.
A função OnInit (a antiga pedindo init) é executada no início do indicador (ao mudar o cronograma, recompilar, ...). Todas as variáveis utilizadas devem ter um valor atribuído a elas. A linha SetIndexDrawBegin(0,i-1) está presente na função OnInit; à variável i deve ser atribuído um valor ou deve ser usada uma constante
if(Red ) OrderSend( ... Buy ...) ; if( Blue ) OrderSend( ... Sell ...) ;
Só o oposto, vender em cima, comprar em baixo.
A função OnInit (a antiga pedindo init) é executada no início do indicador (ao mudar o cronograma, recompilar, ...). Todas as variáveis utilizadas devem ter um valor atribuído a elas. Na função OnInit, existe a linha SetIndexDrawBegin(0,i-1); à variável i deve ser atribuído um valor ou usar uma constante
Para ser honesto, eu não entendo nada, sou novo na programação Mql4, se você não se importa em me ajudar com o código.
O código geralmente ajuda no freelance.
Aqui - ou o algoritmo ou para corrigir seus erros. Mas não para reescrever novamente para você.