Erros, bugs, perguntas - página 2451
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
Se estamos a falar de FX, aí os carrapatos não alteram muito o preço (normalmente). Mas em outros mercados uma ordem pode escorregar seriamente com uma abordagem tiquetaque. Ainda sou a favor de tentar entre carrapatos - não vejo qualquer dano, o benefício potencial está lá.
Temos de tentar...
Resultado:
Histerese em acção... por um exemplo de como funciona um operador de cópias implícitas em estruturas.
Provavelmente, para detectar tal coisa, era necessário atingir um estado/estupidez interna de "nada pode não funcionar aqui, mas vou verificar na mesma" em busca de um erro no próprio código.
Acho que para detectar tal coisa, teve de chegar ao estado/estupidez interna de "nada pode correr mal aqui, mas vou verificar de qualquer forma" em busca de um bug no seu código.
O código estava a analisar o fluxo de bytes para um determinado protocolo.
Os dados desembalados e desembalados (dados para o próximo nível de encapsulamento) não corresponderam.
O código estava a analisar o fluxo de bytes para um protocolo específico.
Os dados desembalados e desembalados (dados para o próximo nível de encapsulamento) não corresponderam.
Histerese em acção... Um exemplo de como um operador de cópias implícitas funciona em estruturas.
Qual é a questão?
Em MQL, uma entrada condicional
// a = b;
igual a
ArrayCopy( a, b );
Resultado:
ArrayPrint( a ); }
2 2 3
Qual é a questão?
Na minha opinião, o operador da cópia de atribuição deve copiar não só os próprios elementos da matriz, mas também o seu número, deixando válida a quantidade de memória reservada.
E agora é praticamente o seguinte:
Código fonte:
O operador de cópia deve copiar não só os próprios elementos da matriz, mas também o seu número, deixando intacta a quantidade de memória reservada.
Porquê então
em (1) o erro e em (2) está bem!? Qual é a diferença?
A diferença é que as matrizes são copiadas não pelas regras a = b, mas pelas regras ArrayCopy( a, b )
Não pelas regras a = b, porque não existe, e se existisse, o erro (1) não existiria
A contagem de cada carrapato é intensiva em recursos, especialmente no testador de estratégias. Não seria mais correcto recalcular apenas o evento comercial, ou seja, quando algo na lista de posições em aberto muda de facto? Com a OnTradeTransaction(), é mais fácil controlar a intervenção do utilizador na EA. (Há alguns precedentes :)
Neste robô comercial estava a testar a possibilidade de fechar a grelha pelo esquema: Perda + lucro > X , depois fechar ambos (normalmente em símbolos diferentes). Mas ocorre uma falha, porque mesmo estando fechados, o testador não tem conhecimento disso, e prossegue para a iteração seguinte, "emparelhando" erradamente os existentes com os já fechados. Isto é, tive de acrescentar um novo cálculo após cada encerramento.
Tenho de recalcular com o contador reiniciado e em todos os abertos primeiro, não +1 / -1
Concordo, foi arriscado utilizar inicialmente a OnTradeTransaction() Na verdade, provavelmente recusarei a sua utilização nos casos em que os meus pedidos não sejam assíncronos - causam apenas problemas.
Não é de todo arriscado. A única questão está em organizar a sequência de acções e eventos. O conselho do tolo é correcto - fechar o par e deixar o laço até ao próximo tique. No tick seguinte, os preços não são necessariamente piores do que são. Talvez seja melhor fechá-lo um pouco mais tarde, mas não haverá confusão sobre o que fechou com o quê.
A segunda variante: organizar o laço não por PositionsTotal, mas pela matriz criada de antemão. E ao fechar alguns pares, estes bilhetes devem ser retirados da matriz. Isto não permitirá que as posições fechadas sejam novamente encerradas. Em geral, um voo de fantasia e lógica de acções.