[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 741
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
Tenho-o no escritório do especialista.
As variáveis booleanas não são inicializadas inicialmente como falsas, em geral, antes de entrar no laço, fixe-as em zero (falsas) - quando você sair do laço, elas terão os valores atribuídos a elas no laço (melhor verdadeiro que 1) e continuarão a ter estes valores até a próxima entrada no laço. Se a abertura de uma ordem depende estritamente dos valores dessas variáveis, então, após a ordem de abertura, verifique a presença dessa posição no mercado, e se ela estiver presente, defina as variáveis para zero (falso)
e no código você pode esboçar
Compare o valor ADX na barra atual (ou de preferência a primeira barra) com o valor ADX na barra anterior (de preferência a segunda barra).
Se for simples, é algo parecido com isto:
Mas não é muito agradável. É melhor atribuir valores ADX a variáveis duplas e trabalhar com as variáveis...Amigos! não consigo descobrir como me livrar de sinais desnecessários que aparecem quando a linha de tendência é invertida. A linha de tendência (descendente no exemplo) é traçada do maior extremo para o menor extremo, encontrada dentro de um intervalo especificado de barras. O problema é que, assim que aparece um novo extremo mais baixo, a linha de tendência salta para esse extremo (é projetada dessa forma).
Mas, também na primeira barra, a linha de tendência constrói níveis com o valor da linha de tendência, cujo cruzamento pela linha indicadora dá um sinal. Se a linha indicadora na primeira barra estiver abaixo deste nível e na segunda barra estiver acima deste nível, então temos um crossover de cima para baixo.
Então... Quando a linha de tendência salta para um novo extremo mais baixo, surge uma situação em que a linha indicadora na segunda barra está acima da linha de tendência e abaixo do nível traçado, enquanto na primeira barra está abaixo, ou seja, um sinal de venda desnecessário (neste caso):
Na figura você pode ver como a linha de tendência saltou para um novo extremo (a localização é marcada com uma seta para baixo) e o nível de preço da nova linha de tendência na primeira barra (linha de traço horizontal vermelha)
tornou-se inferior à linha AD na segunda barra e a linha AD na primeira barra é inferior ao nível de preço...
Assim, ao mover a linha de tendência para um extremo inferior, um sinal indesejado foi simulado. O mesmo sinal desnecessário ocorreu antes -
Marquei-o com uma linha vertical azul claro.
Daí a pergunta - como evitar esta situação? Estou exausto tentando pensar em algo...
Alguma idéia? Obrigado... :)
Muito obrigado por sua ajuda:)
Logo no início da função de início, acrescente uma linha de chamada a esta função:
O conselheiro será ativado 1 vez, apenas em um novo bar.Prezado Anatoly. Muito obrigado por este código. Outra pergunta, como fazer com que funcione o tempo todo, mas pode fazer apenas 1 negócio em um bar?
após uma ordem para abrir uma ordem, verificar se a posição já está no mercado e, se estiver, redefinir as variáveis (falso)
Diga-me como isso pode ser implementado em meu pedido ?
Que função devo inserir em meus pedidos para redefini-los a zero?
Diga-me como isso pode ser implementado em meu pedido ?
Que função devo inserir em meu pedido para zerá-lo?
Essas variáveis que você definiu como "true" no laço, que foi o critério para fazer o pedido, devem ser definidas novamente como "false" depois que o pedido for feito, caso contrário, os pedidos continuarão a ser feitos em lotes. Portanto, você deve atribuir estas variáveis a "falso".
Após verificar se há uma ordem no mercado, basta atribuir valores às variáveis. Por exemplo, Variable1 = falso;
Essas variáveis que você definiu como "verdadeiras" no loop, que era o critério para fazer o pedido, devem ser novamente definidas como "falsas" depois que o pedido for feito. Portanto, você deve atribuir estas variáveis a "falso".
Devo dizer que estou a pé há dois dias tentando descobrir o que colocar a partir do que você disse, então não entendi nada. Você se importaria de colocar estes valores no código que coloquei ou apenas escrever uma função e me dizer exatamente onde colocá-la - esta é a última parte do meu enigma e não consigo descobrir onde e como colocá-la.
Devo dizer que não durmo há dois dias e lutei com o Expert Advisor porque não entendo o que e onde colocar o que você disse, você pode colocar esses valores no código que coloquei ou apenas escrever a função e dizer exatamente onde colocá-la é a última peça do meu quebra-cabeça e não consigo focalizar onde e como colocá-la
Não quero mexer com seu código (malvado, mas honesto :)). Diga-me exatamente o que você quer obter como resultado e eu lhe escreverei a função que você precisa. Honestamente - será mais fácil para mim. Eu deveria ordenar meu próprio código... :)
... Ou vá para a cama, vá dormir e no dia seguinte todos os seus quebra-cabeças se juntarão... :) É isso que eu faço quando não entendo... A propósito, vou para a cama - são cinco e meia da manhã.