Problema com o MT4 Abrindo um negócio, depois fechando-o de novo imediatamente - página 2

 

você deve verificá-lo em modo de teste, ou se o achar repetido ou não

 

Um EA pode fingir usar números mágicos (e até usá-los na maioria das vezes), mas devido a um erro de codificação (que é a norma na cena mql4 de duplicação de código [copy-pasting]) às vezes não usa sua mágica, mas em vez disso usa algum código inerentemente errado, como por exemplo:

for(...){
   OrderSelect(...);
   if (OrderSymbol() == Symbol()){
      OrderClose(...);
   }
}

que é enterrado e esquecido entre toneladas de blocos de código similares duplicados (e copiados) e, por alguma razão, só executado algumas vezes durante a lua cheia (há outro bloco de código idêntico de 500 linhas (com outras 4 ocorrências do mesmo laço) para a lua nova e outros dois blocos desses para os tempos restantes em alguns dos outros ramos de um grande monstro-if/else do inferno, mas estes já foram "corrigidos").


Lá você tem seu erro e lá seu dinheiro desapareceu: Algum desconhecido duplicador de código de 15 anos de idade (ou devo dizer C0d3r) com ZERO clue pr0gg3d (sic!) algum k3wl (seu primeiro e completamente não testado) EA (porque ficou entediado com o php) e o postou em algum fórum (ou deixou seu primo de 21 anos vendê-lo por dinheiro) e lhe causou uma perda de vários x mil dólares. Pergunte-me em particular para onde você deve enviar 20% do dinheiro economizado durante os próximos 3 meses, durante os quais você NÃO utilizará este tipo de EA.


Este tópico deve agora ser fechado exatamente neste ponto e depois PINNADO no topo do fórum com letras vermelhas em negrito até o final dos tempos.

 
Holly mãe de ..... mais uma limonada e ninguém pediria ajuda neste fórum... lol.
 
ubzen:
Holly mãe de ..... mais uma limonada e ninguém pediria ajuda neste fórum... lol.

Meu discurso foi duplo.

A parte das entrelinhas foi dirigida principalmente contra aqueles que escrevem e vendem este tipo de EAs, mas duvido que eles possam até mesmo entendê-lo. A outra parte que é escrita em inglês simples está apenas resumindo o evento e a situação das vítimas e OP é uma vítima (vítima de reivindicações falsas, mas também vítima de sua própria ingenuidade). O dano não pode mais ser reparado, o dinheiro se foi. Ele só pode ser aprendido e deve ser aprendido. E finalmente, a última frase do meu posto (3 meses, 20%) foi destinada a amplificar a dor percebida para maximizar o efeito de aprendizado.


Isto parece duro, mas é a amarga verdade.


A razão do erro está em um de seus EAs que está fechando outras ordens da EA, embora finja usar um número mágico, às vezes não usa realmente este número. E isto acontece porque os diletantes estão escrevendo e vendendo EAs disfuncionais a pessoas inocentes. A única solução para este problema é NÃO usar EAs que não tenham sido auditados completamente, isto inclui automaticamente todos os EAs comerciais para os quais não há código fonte disponível. Não há como contornar a aprendizagem da codificação ou a contratação de um codificador competente e rever e testar completamente o código de qualquer EA de terceiros e não usar nenhum EA de fonte fechada.

 
Concordo plenamente com você e meu cargo anterior refletia um sentimento semelhante. Ensinei que era um pouco duro - mas é a verdade. Fornecer um EA sem apoio é um crime. Sim - eu disse isso (talvez agora os moderadores realmente trancariam o posto em vermelho). Acho que o OP fez um bom dinheiro b4 os bugs.... senão Ai!
 

P

> Estou começando a pensar que o MT4 pode ter problemas ao lidar com vários EAs ao mesmo tempo

Normalmente não é um problema, eu já empilhei muito mais EA do que isso por instância e muitas instâncias por VPS

> Suspeito que talvez os indicadores estejam sendo estragados, gerando sinais para o comércio e depois para fechar

Isso poderia ser uma idéia, especialmente se esta é uma "hora de negociação tranquila" EA e o corretor foi recentemente STP/ECN...?

As enormes variações resultantes no spread e/ou gapping nos prazos mais curtos podem perturbar os sinais de entrada/saída de vários tipos

FWIW

-BB-

 

É um bug, de algum tipo. A definição de bug sendo o software comportando-se de uma maneira que você preferiria que não se comportasse.

Pode ser o programa de aplicação, ou a linguagem de programação em que a aplicação foi escrita.

De qualquer forma, sem acesso ao(s) código(s) fonte(s), ou um caso de teste reprodutível, tudo o mais é suposição.

 

Coloque cada um dos EAs em sua própria conta demo separada e, além disso, abra uma negociação aberta manualmente com stop e takeprofit distantes e insira manualmente ordens de limite e stop no mesmo par/par de moedas em cada conta e, em seguida, simplesmente deixe-os todos correrem alguns dias/semanas. Se algum destes EAs decidir fechar sua operação aberta manualmente, mover seu stop ou cancelar uma das ordens de entrada, então você sem dúvida identificou o EA culpado. Tente processá-los para recuperar seu dinheiro porque um EA NÃO DEVE sabotar nenhuma outra atividade comercial sob nenhuma circunstância.

Esta é a lei nº 1 da robótica comercial: "Um robô não pode prejudicar o ofício de um ser humano" (Isto inclui naturalmente ofícios de seus outros EAs)

 

Interessante. Tente criar algum tipo de prova sobre como uma EA deve ou não funcionar.

Depois dê o grande salto, processe e depois convença o tribunal sobre como um EA deve ou não deve funcionar.

É claro, você tem que começar explicando ao tribunal o que é uma EA. Nesse momento, suas despesas com advogado podem ser mais altas do que quaisquer possíveis reivindicações que o tribunal possa lhe conceder, assumindo novamente, se isso for acontecer. Caso contrário, suas perdas serão simplesmente agravadas.

PS: Se outra pessoa tivesse lido, alguém teria descompilado a fonte, o que facilita a argumentação do caso no tribunal. Mas então a descompilação e, portanto, o roubo do código é legal?

 

descompilar o código e roubá-lo são duas coisas diferentes. Descompilar é apenas traduzi-lo para uma linguagem legível. Um tribunal deve permitir que um documento escrito em um idioma estrangeiro seja traduzido para um idioma que o juiz possa ler. Ninguém consideraria este "roubo".

Ou o código da máquina é algum tipo de linguagem sagrada que sob nenhuma circunstância pode ser traduzida ou lida por mortais comuns? Nem mesmo por juízes? Somente pelos programadores inaugurados e suas máquinas?


E mesmo que não, as mesmas coisas sobre o comportamento da EA também poderiam ser provadas desmontando o código do byte ou o próprio código da máquina. (desmontar é apenas imprimi-lo de uma forma bem formatada e escrever uma pequena explicação ao lado de cada instrução da máquina) ou simplesmente demonstrando o comportamento em um teste que pode ser repetido.