Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 790
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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 questão não foi descartada. Portanto, antes de mais nada.
Encontra-se um máximo, depois uma linha é traçada contra ele. A distância entre esta linha máxima e o mínimo atual é verificada. Se exceder "Rmax", uma seta é colocada na barra onde o máximo é encontrado. A seta é colocada, mas não ali. Para deixar claro, acrescentei o buffer "BufferLow[i]" que mostra a diferença e seus dados podem ser vistos na janela do explorador.
É sempre assim. Você não pode esperar por neve no inverno) Eu mesmo o fiz.
Se alguém foi atormentado por uma idéia tão semelhante, aqui está o código:
O Heiken Ashi embutido parece um pouco subdesenvolvido (será que sou só eu no 745?), mas é claro como ele funciona. E não está claro como WmiFor é construído!
No código Heiken Ashi uma vela é tirada de 4 histogramas de barras:
Ou seja, conforme o número de tampão aumenta (de 0 para 3), novas barras são desenhadas em cima das antigas. A ordem é a seguinte:
BaixoAlto - AltoBaixo - Aberto - Fechado.
A ordem dos candelabros deve ser a seguinte para obter sua aparência adequada, com corpos e caudas:
max(Abrir,Fechar)// linha de cor de espessuras/// - min(Abrir,Fechar)// branco de espessuras/// - alto// linha de cor de espessuras/// - baixo// branco de espessuras///.
Vamos compilar o indicador, colocá-lo no gráfico e ver todos os problemas (ver foto).
Mas este método, como Heiken Ashi, tem uma desvantagem - sob cada "vela" obtemos um laço branco na cor de fundo que cobre tudo mais baixo. Mas com WmiFor tudo é perfeito! Características não documentadas?
Primeira foto - Heiken Ashi (colocada em uma janela separada), segunda foto - WmiFor, o fundo está em verde claro para maior clareza.
Estamos comparando um suave e redondo? Por que colocar Haken em uma janela separada se ela foi projetada para uma janela de mapa e desenhada ali como um candelabro com sombras e corpo? E nenhuma barra nova é desenhada em cima das antigas. Se o valor do tampão mudar, a mesma barra mudará seu tamanho e não uma nova será desenhada em cima dela.
O MT4 não tem um método de desenho na forma de castiçais, portanto, somente um histograma é possível, e como você calcula os valores tampão lá é seu próprio negócio. WmiFor, a propósito, também desenha por histograma. Vamos colocá-lo também em uma janela separada e olhar para suas falhas ))))
Para fazer os castiçais em uma janela separada parecerem castiçais com sombras, eles devem ser desenhados relativamente 0, como o Acelerador. Ou você pode desenhá-los como objetos, veja por exemplo All_Stars.
Boa tarde a todos!
Meu cérebro está confuso; não encontrei uma resposta na documentação, mas talvez alguém a tenha encontrado. Aqui está a linha no Expert Advisor (fração de negócios positivos):
Print(OderPluseCount,"/",OderTotal,"=",DoubleToStr((OderPluseCount/OderTotal),2),"=",BestOd,",2/5*100,",100*2/5);
Imprime-o no diário (por exemplo):
3/6=0.00=0 0 40
Ao mesmo tempo, se a solução for 1:
3/3=1.00=1 0 40
A variável BestOd=OderPluseCount/OderTotal é do tipo duplo, o resto é int.
Ou seja, assim que um valor inferior a 1 é encontrado, o compilador o transforma automaticamente em 0... As duas últimas expressões de constantes produzem resultados surpreendentes - parece a mesma coisa, mas não ))))
Tentei diferentes substituições - tudo maior que 1 tem a parte fracionária correta.
Boa tarde a todos!
Meu cérebro está confuso; não encontrei uma resposta na documentação, mas talvez alguém a tenha encontrado. Aqui está a linha no Expert Advisor (fração de negócios positivos):
Print(OderPluseCount,"/",OderTotal,"=",DoubleToStr((OderPluseCount/OderTotal),2),"=",BestOd,",2/5*100,",100*2/5);
Imprime-o no diário (por exemplo):
3/6=0.00=0 0 40
Ao mesmo tempo, se a solução for 1:
3/3=1.00=1 0 40
A variável BestOd=OderPluseCount/OderTotal é do tipo duplo, o resto é int.
Ou seja, assim que um valor inferior a 1 é encontrado, o compilador o transforma automaticamente em 0... As duas últimas expressões de constantes produzem resultados surpreendentes - parece a mesma coisa, mas não ))))
Eu tentei diferentes substituições, tudo maior que 1 tem a parte fracionária correta.
Tente isto
DoubleToStr((duplo)(OderPluseCount/OderTotal),2)
Tente isto
DoubleToStr((duplo)(OderPluseCount/OderTotal),2)
Isso não ajuda. Mas obrigado )
DoubleToStr((double)(OderPluseCount/(OderTotal*1,0)),2)
Funciona assim, obrigado. Parece ser xamanismo ))))
Honestamente, estou mais preocupado não com a exibição, mas com o cálculo corretodo BestOd. Tinha que corrigi-lo também.
Eu o fiz desta maneira:
BestOd=(OderPluseCount/(OderTotal*1.0));
Existe alguma explicação para isto? Afinal de contas, seria muito difícil detectar este erro se não fosse pela impressão. Em que casos isso pode ocorrer?
Funciona assim, obrigado. Soa como xamanismo ))))
Honestamente, estou mais preocupado não com a exibição, mas com o cálculo correto doBestOd. Tinha que corrigi-lo também.
Eu o fiz desta maneira:
BestOd=(OderPluseCount/(OderTotal*1.0));
Existe alguma explicação para isto? Afinal de contas, seria muito difícil detectar este erro se não fosse pela impressão. Em que casos ele pode aparecer?
Eu mesmo encontrei a resposta no livro de referência, seção"Conversão de tipo".
Если два значения объединяются бинарным оператором, то перед выполнением операции операнд младшего типа преобразовывается к более старшему типу в соответствии с приоритетом, указанным на схеме:
Mas o tipo duplo neste esquema é o mais antigo. E eu tinha as duas intenções. Portanto, o resultado é inteiro. Introdução de uma constante de tipo superior (duplo, flutuador), converteu todas as int's para ela.
Você aprende por um longo tempo, e consulta a documentação))))