[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 450
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
Sim, mas o ponto da questão é que a ordem anterior foi fechada com um menos. A função não tem tempo para mostrar isso, primeiro a ordem é aberta depois de um par de ticks e só depois a função mostra a última perda, mas a ordem já foi aberta.
Por que não usar o parâmetro Expiração pendente do pedido?
É claro que existe a possibilidade de que este parâmetro não possa ser utilizado.
Em alguns servidores comerciais, o tempo de expiração de ordens pendentes pode ser proibido. Neste caso, um erro 147 (ERR_TRADE_EXPIRATION_DENIED) será gerado ao tentar definir um valor não zero no parâmetro de expiração.
Essa é a única maneira, é claro...
Mudei a linha como você sugeriu e o Consultor Especialista parou de trabalhar.
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask+PriceDistance*Point,3,Ask+PriceDistance*Point-StopLoss*Point,Ask+PriceDistance*Point+TakeProfit*Point, "PD",1,TimeCurrent()+10*60,Green);
Ao mesmo tempo, sei com certeza que não há proibição.
Favor informar onde o erro pode estar.
Eu fiz isso mais uma vez disse que não tinha tempo para verificar primeiro se passava como se não houvesse um alce abre um negócio e depois chega a ele que havia um alce
Fiz mudanças na linha, como sugeriu, e o consultor especializado parou de trabalhar.
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask+PriceDistance*Point,3,Ask+PriceDistance*Point-StopLoss*Point,Ask+PriceDistance*Point+TakeProfit*Point, "PD",1,TimeCurrent()+10*60,Green);
Ao mesmo tempo, sei com certeza que não há proibição.
Favor informar onde o erro pode estar.
É improvável que tenha parado de funcionar, mas é provável que seu critério seja coxo. Sem o código, é difícil pensar em uma razão pela qual a EA não funciona...
Aqui está tudo o que rabisquei até agora:
duplo TakeProfit externo = 50;// o fim.
Funciona assim.... Mas, de acordo com isso, abre negócios indefinidamente, o rastejador.
Obrigado de antemão!
Aqui está tudo o que rabisquei até agora:
duplo TakeProfit externo = 50;// o fim.
Funciona assim.... Mas, de acordo com isso, abre negócios indefinidamente, o rastejador.
Obrigado de antemão!
Aprenda a inserir código - leia tudo.
Aprenda a inserir código - leia tudo.
Roman, obrigado pela resposta!
O que eu tenho que fazer é fazer com que o robô abra os negócios pelo tempo a partir do momento em que eles são abertos automaticamente.
Por exemplo, o robô abre um comércio TARGET, define automaticamente o tempo de expiração +600 segundos do atual e é isso....
Neste caso, a opção quando ele mesmo as retira não se encaixa, uma vez que a TC na qual eu "treino" há restrições para a modificação das ordens pendentes se o preço se aproximar de 10 pontos + Spread para o preço de abertura, incluindo aquelas ainda não abertas.
Além disso, a questão é que se uma ordem já está aberta, ela não deve ser apagada, mas devemos deixá-la "passar" e borbulhar até sua "morte". E se definirmos o ordendelite, a função também fechará as ordens que já tenham sido acionadas. (?)
Quanto ao livro didático - bem, não sou um programador por temperamento, sou um brilhante humanitário - desenho, modelo, componho e não afio para nada mais!)
Eu tenho tentado entrar de boa fé. Algumas delas faziam sentido e outras não.
É por isso que estou aqui.....
Roman, obrigado pela resposta!
É apenas uma questão de conseguir que o robô abra os negócios a tempo a partir do momento em que eles são abertos automaticamente.
Por exemplo, o robô abre um comércio TARGET, define automaticamente o tempo de expiração +600 segundos do atual e é isso....
Neste caso, a opção quando ele mesmo as retira não se encaixa, uma vez que a TC na qual eu "treino" há restrições para a modificação das ordens pendentes se o preço se aproximar de 10 pontos + Spread para o preço de abertura, incluindo aquelas ainda não abertas.
Além disso, a questão é que se uma ordem já está aberta, ela não deve ser apagada, mas deve ser permitida a "jogar através" e falhar. E se definirmos o ordendelite, a função também fechará as ordens que já tenham sido acionadas. (?)
Quanto ao livro didático - bem, não sou um programador por temperamento, sou um brilhante humanitário - desenho, modelo, componho e não afio para nada mais!)
Eu tenho tentado entrar de boa fé. Algumas delas faziam sentido e outras não.
É por isso que estou aqui.....
Tente descrever em palavras o que você escreveu aqui:
Pessoalmente, à primeira vista, para mim, acabou por ser um quebra-cabeças sua idéia: se um não for igual a um, então feche a ordem...
Não observei o resto depois disso...
ZS e não tente, nem pense que é possível escrever uma EA normal em um ciclo...
...E se você colocar ordem de compra, a função também fechará as ordens que já foram acionadas. (?)
...
Não. Dê uma olhada mais de perto. Uma ordem pendente acionada torna-se uma ordem de mercado - esta função não tem nada a ver com isso.
"Deleta uma ordem pendente previamente estabelecida. Devolve VERDADEIRO se a função for concluída com sucesso. Retornar FALSO
se a função não tiver sido concluída com sucesso. Ligue para GetLastError() para obter informações de erro".