
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
Ocasionalmente eu apago todos os pedidos abertos para que nossos amigos do MT4 não fiquem chateados.
u terá este problema nos testes posteriores, mas isto não é um problema de script... mas um problema de teste posterior do MT4.
Se continuar, por favor me avise ou me envie alguns relatórios mostrando o problema...
thanks and reagrds,
hugues
O conselheiro está criando a grade com meu comentário "GridEURUSD". Este comentário fica no campo de comentários enquanto a ordem estiver esperando. Se a ordem for ativada, o comentário muda para "activate/auto". Afinal de contas, está claro que este comportamento se refere ao problema descrito.
Eu estou negociando com a Alpari. Eles estão apoiando o MT4 em contas de demonstração.
Vou verificar, se posso contornar este comportamento, ou seja, usar a magia da ordem como identificador para a grade e informá-lo dos resultados.
Ao testar isso, também fiz modificações no roteiro de limpeza da grade. Também acrescentei funcionalidade para fechar as ordens abertas. Infelizmente recebo um erro 129 que significa Ordem bloqueada, se eu tentar fechar uma ordem aberta. Mas ele apaga todas as ordens pendentes para a grade dada.
cori
me avise se funcionar e eu vou usar a magia... como eu não sabia que o corretor faz coisas estranhas como essa!!
obrigado e cumprimentos,
hugues
Eu mudei o gridMaker para usar o OrderMagicNumber em vez do comentário. Fiz também algumas pequenas modificações sobre a construção do comentário.
Aqui está o resultado.
com respeito, cori
já que eu mesmo já havia feito algumas mudanças, integrei suas mudanças na versão mais recente.
Eu fiz 1 pequena variação: para manter minhas grades atuais ativas, eu coloquei um teste em Magic OR gridname...
você pode verificar se eu o fiz corretamente?
parece ok. Mas você deve definir o GridName como externo, que eu mudei, porque não precisei dele como parâmetro.
saudações, cori
Você pode mudar a linha :
if (MathAbs( OrderOpenPrice() - atRate ) < inRange ) // não procurar preço exato mas proximidade de preço (menos que o tamanho da grade)
para
if (MathAbs( OrderOpenPrice() - atRate ) < (inRange*0.9)) // não procurar preço exato, mas proximidade de preço (menos que o tamanho da grade) - acrescentou 0,9 por causa de erros de pont flutuante
e isto corrige o problema.
Desculpe por qualquer inconveniente...
hugues
Este problema já está aí?
Encontrei algo semelhante na antiga MQL2.
A maneira realmente segura de contornar este problema é fazer algo parecido:
intOOP = MathRound( OrdeOpenPrice() / Point );
para todas as suas variáveis duplas. Então você tem todas as variáveis int retas que são comparáveis sem falhas.
É um pouco mais para escrever para mantê-lo claro e compreensível, mas é menos defeituoso.
com respeito,
cori
cumprimentos,
hugues
1) alterei a lógica para UseMACD, wantLongs, wantShorts. Anteriormente, se o UseMACD era definido, a EA tomava longas e curtas, irrecusáveis bandeiras wnatLongs e wantShorts. Agora, useMACD não sobreporá essas bandeiras para que você possa ser longo apenas com useMACD ou curto apenas.
2) Eu adicionei uma verificação adicional para fazer shure não havia ordens abertas do lado errado do EMA se o limiteEMA34 estivesse definido. O que costumava acontecer era que as ordens eram bem colocadas acima ou abaixo do EMA, mas depois de algumas horas o EMA se movia... então havia ordens em ambos os lados do EMA.
3) Parece haver um bug na declaração do interruptor no OrderType()... não tenho certeza do que é, mas ele realmente se comporta de forma engraçada. Eu simplesmente eliminei as declarações de troca e as substituí por "se"... eu não gosto, mas funciona!
4) Eu fiz a variável de período EMA... agradável para o backtesting...
Também tenho alguns roteiros complementares se alguém quiser:
1) remover ordens abertas não preenchidas para um par
2) remover todas as ordens abertas para todos os pares de uma só vez
3) fechar todas as posições e remover as ordens abertas.
4) obter algumas estatísticas simples sobre o comportamento da grade a partir das posições abertas e histórico.
Aqui está o código da V1.08:
------------------------------------------------------------------.