O mercado está sempre errado - página 3

 

Ainda não lidei com o Expert Advisor, mas uso um código similar para calcular a equidade

if (AccountEquity() > beginEquity) {
      if (IsTesting()) {
         beginPrice = Bid;
         magicnumber++;
         beginEquity = AccountEquity();
      } else {
         Alert("Please refresh beginPrice, beginEuqity and change magicnumber");
      }

Sugiro equiparar a variável ao saldo durante a inicialização como a segunda opção

int init()
  {
//----
   if (IsTesting()) {
      beginEquity = AccountBalance();
   }
   return(0);
  }

Neste caso, não haverá necessidade de verificar a equidade antes de executar a EA,

static double beginEquity = 200000;

Porque seu patrimônio é igual ao saldo antes do início do Expert Advisor!

Vyacheslav.


 
Winner:
Reshetov:
Se você estiver disposto, você pode fazer isso. Caso contrário, os fundos irão para o reinvestimento.
E qual é o risco de não drenar o depósito, se o consultor abrir posições para o depósito inteiro
Assim que o testador de MT começar a suportar multi-negociação, será possível obter uma estimativa empírica da probabilidade de perda nos dados históricos.

Por enquanto, o testador só pode avaliar empiricamente o risco em pares únicos.

Uma estimativa analítica de risco para esta tática ainda não foi obtida.
 
Reshetov:
timbo:
YuraZ:
Uma estratégia muito boa,
...
a outra questão é que as retiradas são feitas após um ou dois anos
Eu li um livro sobre forex, ações, etc. Em particular, tratava-se de funcionários de vários fundos que aparentemente aumentam o dinheiro dos depositantes e que são considerados como profissionais e quase celestiais. Portanto, houve uma reflexão sobre o assunto de que eles são as mesmas pessoas que qualquer outra pessoa, não melhor e não pior, e cometem erros não menos freqüentes. O "depósito" é tão grande que permite sentar qualquer saque.
Em outras palavras, se você não estiver com tanta pressa em se retirar, e o tamanho do depósito for imenso, não faz diferença qual caminho você abre - mais cedo ou mais tarde você estará no preto.
Se você abrir uma posição de compra no máximo histórico ou vender uma posição no mínimo histórico, o lucro irá esperar até o próximo extremo histórico. Há uma diferença na entrada e saída do mercado, e ela é significativa.

Para evitar tais situações, seria melhor acrescentar uma simples análise e evitar ficar excessivamente preocupado, escolher um período de um dia.
 

Obrigado por sua resposta, respeitado Sr. Reshetov. Eu mesmo já entendi que estas cordas são para precaução de segurança, algo como {título...catch} em outros idiomas. Especialmente, no teste, eu realmente nunca entrei na função Closeby.

Parece que eu criei algo para o teste. Embora ainda não possa descartar erros, pensei em mostrar-lhe algo em que tenho trabalhado. Eu planejo fazê-lo na Finlist (me sinto mais confortável lá), mas como o Yuri está neste fórum, provavelmente começarei aqui.

Em geral, o que você verá aqui o ajudará a entender como os sinais da EA são gerados.

Até agora, acrescentei uma versão 1.1 do algoritmo EA. Yuri continua me dando novas versões e eu tenho que cavá-las como um caracol. Parece ser o mesmo que a versão 1.1, mas o sellprofit tem >0,001 ao invés de 0,01.

O teste é realizado de acordo com meu plano, portanto, não se arrependa. Isso significa que meu depoimento custa US$ 1000 e, portanto, eu tenho um número limitado de pares em uso. Até agora, só utilizo um grupo EUR. Limito o teste a 24 horas. Meu programa é flexível e, claro, posso definir uma duração de 2 ou 10 dias. Mas por enquanto eu não me importo com isso, o que é importante é uma compreensão geral do algoritmo. Especialmente porque ainda leva muito tempo para calcular. O dia do teste é calculado em meia hora, é por causa da tabela de visualização (veja abaixo). É muito longo, mas na verdade estou produzindo todas as atribuições variáveis para a mesa e outras coisas. Eu até invejo o teste MQL - quão rápido eles fazem tudo funcionar. Claro que tudo é feito de uma maneira mais profissional, mas você não verá tudo lá. Mas para mim é um grão de cada vez - mas eu tenho uma visão clara.

Algumas explicações. Minhas citações são especialmente preparadas - isso significa que elas têm buracos e assim por diante. Tal processamento leva tempo, desde que eu não queira carregar dados frescos e eu tenha a gama de citações históricas de 01/01/05 a 16/09/06. Portanto, o teste está dentro desses limites e isso é suficiente para mim por enquanto. Sim, as citações são forexclub, minuto e tiradas do testador.

Eu forneço 3 tabelas onde você pode ver todos os desenvolvimentos:

1) _história - é semelhante ao "Histórico da conta" em mql, mas somente as ordens abertas e fechadas estão localizadas juntas, o sinal de separação é campo [bandeira]. Tudo está claro aí. Id_operação de campo: se "1", é COMPRAR/.

2) _recursos: saldo total, patrimônio líquido e lucro por ordem em aberto no momento atual para todos os pares de moedas envolvidos. Tudo deve estar claro aqui também, exceto o campo [ID] - este é meu identificador interno de data. Posso explicar com mais detalhes, se você tiver alguma dúvida, mas em geral, a que data corresponde pode ser vista na terceira tabela _visualização, onde tudo é detalhado, e em _recursos o total de cada minuto é exibido.

3) _visão - tudo é muito detalhado, para cada par de moedas há um histórico diferente de desenvolvimento das transações. O campo [Actual_price] é o Fechamento de um minuto de cotação. Bid, Ask - Eu recebo +-spread (o spread é retirado da Alpari, mas como tudo está em tabelas, eu posso corrigi-lo, mas não vejo muito sentido, de qualquer forma tudo é aproximadamente) E a leitura dos dados é muito simples - a primeira versão da EA, e o número da linha será um ponteiro, e em que lugar foi a atribuição na variável (por exemplo, o campo [money_54] corresponde à 54ª linha da EA, onde o dinheiro é recalculado. Se "0", significa que não houve cálculo neste lugar, porque não havia condições correspondentes) . Verificar campo de comentários, as operações estão documentadas lá e correspondem à história na tabela _história. Sim, um possível mal-entendido. O campo Itog_profit é o lucro total para o momento atual das ordens abertas para o par de moedas em questão. O campo sellprofit ou buyprofit pode ser diferente porque contém apenas os dados da última ordem de venda ou compra em aberto. Assim, no laço <por> para a lista de pedidos em aberto. O resto deve ser claro, a menos que você encontre meus erros.

Eu mesmo comecei a olhar para isso agora. Fiquei satisfeito com o teste no início. Eu pquei quatro vezes no primeiro dia disponível (ainda nem estou olhando para o gráfico) usando dois símbolos EURUSD+ EURCHF, fiz um cálculo de um dia e tive bons resultados - de 15 a 150 pips. Mas depois cheguei ao dia em que o total para o dia terminou com -80 pips. Mais uma vez estou interrompendo o teste e isto não é correto. Aparentemente, se o teste continuar, haverá um resultado diferente. Mas, por enquanto, estou vendo as coisas desta maneira.

Esta versão do teste é uma espécie de escalpe e Yuri diz corretamente que sua EA é bem diferente e o depósito não deve ser pequeno porque o processo tecnológico da operação da EA é violado quando o depósito é pequeno, a média não funciona como esperado devido à falta de fundos e a luta pela "capacidade de sobrevivência" pode resultar não muito positiva.

Mais uma vez, direi que admiro tanto o Conselheiro Especialista de Yuri quanto eu. Muito interessante e original. Mas veja por si mesmo - é ao mesmo tempo bonito e perigoso, pelo menos a versão 1.


Atenciosamente, Fed

Sim, mais uma vez: Depo $1000, Bl=1000, BeginPrice - atual no cálculo da data/hora. O objetivo do teste é entender como os sinais são gerados.

Primeiro teste - 15/03/05 10:00 até 16/03/05 10:00

Este dia foi "digno de notícia", mas como estamos observando a geração de sinais (quem se importa), por enquanto é tudo o mesmo.

Primeiro para 2 pares EURUSD e EURCHF



Arquivos anexados:
 
Agora os mesmos parâmetros de entrada, mas apenas um EURUSD é tomado
Arquivos anexados:
 

Agora 2 pares EURUSD e EURCHF, depo 1000, bl 1000, c 15/03/05 00:00 a 16/03/05 00: 00. Isto é, tempo ligeiramente alterado, BeginPrice=current.

Arquivos anexados:
 
Poço e 1 par EURUSD, depo 1000, bl 1000, de 15/03/05 00:00 a 16/03/05 00:00.




Bem, por enquanto, vou parar de encher o mql com minhas criações. Talvez não seja interessante, talvez nesta fase alguém encontre meu erro. E posso mostrar a mudança de cálculo dependendo do Bl e do BeginPrice <> atual

Atenciosamente, Fed
Arquivos anexados:
 
FION:
Reshetov:
timbo:
YuraZ:
Uma estratégia muito boa,
...
a outra questão é que as retiradas são feitas após um ou dois anos
Eu li um livro sobre forex, ações, etc. Em particular, tratava-se de funcionários de vários fundos que aparentemente aumentam o dinheiro dos depositantes e que são considerados como profissionais e quase celestiais. Portanto, houve uma reflexão sobre o assunto de que eles são as mesmas pessoas que qualquer outra pessoa, não melhor e não pior, e cometem erros não menos freqüentes. O "depósito" é tão grande que permite sentar qualquer saque.
Se você não retirar seus fundos com tanta pressa e o tamanho do depósito for enorme, não faz muita diferença de qual maneira você abre - mais cedo ou mais tarde você estará no preto.
Se você abrir uma posição longa no máximo histórico e vender no mínimo histórico, o lucro irá esperar até o próximo extremo histórico. Reshetov: Há uma diferença para entrar e sair do mercado, e ela é significativa.

Para evitar que isso aconteça, seria bom acrescentar uma simples análise e escolher um período de um dia para evitar exagerar.
Eu simplesmente não li o livro com atenção. E este livro afirma claramente que os "profissionais" negociam estritamente por contra-tendências e, na maioria das vezes, pelo método da média. É por isso que não há como eles comprarem na alta local e venderem na baixa local.
 
Fed:

Obrigado por sua resposta, respeitado Sr. Reshetov. Eu mesmo já percebi que estas linhas são para precauções de segurança, algo como {título...catch} em outros idiomas. Especialmente, no teste, eu realmente nunca entrei na função Closeby

É realmente uma pena que a MQL não seja orientada a objetos. Manipuladores de situações excepcionais e manipuladores de eventos caseiros simplificam muito a vida dos programadores, pois muitos bugs podem ser corrigidos de antemão. E embora não haja OOP, temos que tentar prever vários ultrajes no nível algorítmico, e o código não é muito kosher.
 
Paha:
Olá!
Estava brincando.
Como disse Mathemat "na análise de superfície" bem, muito bom! Nem um único valor negativo. Mas o que eu não entendo (talvez tenha entendido mal): eu não desligo o jogador e não fecho o terminal. O que acontecerá se eu me desconectar da Internet por um curto período de tempo e depois restaurar a conexão? Sem nenhuma desconexão do meu lado?
Para mim a pergunta é muito importante por causa da minha ausência do computador por pelo menos 18 horas por dia (sono, trabalho, etc.) e se nesse tempo ocorre a desconexão, ou não posso inserir novos dados. ..... bem, não é realmente bom.
Além disso, se eu entendi corretamente: se você ligar o came ou o terminal, você só precisa inserir os valores atuais e tudo correrá como de costume, ou seja, reconectar o EA?
Além disso, se o alerta for exibido, mas não fizermos nada, a EA continua negociando de acordo com as configurações antigas ou espera que as novas configurações sejam inseridas?
Se possível, favor dar mais detalhes sobre estes pontos!!!!
Obrigado por mais um motivo para me abalar um pouco os miolos! (de uma boa maneira).
Atenciosamente !!!!
A desconexão a curto prazo da Internet não afeta de forma alguma as táticas do Expert Advisor.

Em geral, você pode dispensar alergias e mudar para o semi-manual, especialmente se não houver possibilidade de monitorar os Conselheiros Especialistas. O princípio é iniciar um novo jogo (ou seja, um novo magik e beginPrice para todos os EAs) quando o nível de equidade excede o anterior.

Isto é, quando há uma oportunidade, olhe para a equidade. Se tiver ultrapassado o nível anterior, então:
  1. Impedir todos os EAs de trabalhar.
  2. Fechamos posições opostas para todos os símbolos usando "fechar ordens sobrepostas" a fim de não perder no spread.
  3. Aumente os feiticeiros em 1 e defina seu preço inicial na atual Licitação, ou seja, inicie um novo jogo.
  4. Lembre-se do nível atual de equidade. Por exemplo, escreva-o em um pedaço de papel ou em um arquivo.
  5. Inicie os EAs com as novas configurações.
  6. Vá para o trabalho, negócios ou filhotes.
  7. Quando surge a oportunidade de olhar a equidade novamente e mudar as configurações, olhamos para ela e, se o nível anterior for ultrapassado, passamos ao ponto 1. Se ainda não for ultrapassado, passamos ao ponto 5.