Teste de retrocesso com dados de carrapatos - página 3

 

BTW - o script em seu arquivo .rar anexado. Isso é exatamente o mesmo que o script que você postou (cortar e colar) no fórum anteriormente?

 
mikey:

BTW - o script em seu arquivo .rar anexo. Isso é exatamente o mesmo que o script que você postou (cortar e colar) no fórum anteriormente?

Sim. O poste é um corte e cola do arquivo.


A respeito disso:

Uma coisa é - não um drama importante - mas a última linha do arquivo de saída é, portanto:

2004.02.23,08:34,,,,,1

O roteiro assume que no final da última linha o arquivo terminará. No seu caso, o arquivo provavelmente tinha um novo caractere de linha no final da última linha, portanto o loop não detectou um 'fim de arquivo' e continuou a processar a última linha que estava de fato vazia... Muitas maneiras de resolver isto, por exemplo, você pode adicionar uma condição de que a variável 'sclose' não esteja vazia antes de escrever:

if (sclose != "")     // make sure close price exists in last line processed
   FileWrite(trg_handle,output);
 

Obrigado amigo. Uma pergunta rápida re: o custo de troca no testador de estratégia. Isto é adicionado no final ou é adicionado à medida que avançamos. Acho que pode ser acrescentada à medida que avançamos: Notei que para algumas negociações: por exemplo, se o lucro de take (TP) está em 100 quando fecha com um TP, então um lucro de +100 não é devolvido, mas sim um TP de uma quantia menor, por exemplo. +80. Isto poderia ser devido aos custos de troca adicionados a essa negociação (para contabilizar os dias em que ela foi realizada durante a noite - e, claro, com este método temos mais "noites" do que gritamos). (os custos de troca não serão demais para minha exagerada, já que estou negociando com 0,1 lotes, mas então por causa dos muitos fatores noturnos que somam).

Ainda está funcionando. Uma coisa que eu diria é que os resultados são muito diferentes dos da M1. Portanto, se isto é realmente válido - certamente valeu a pena fazer. está me dando muito mais uma idéia.

 
mikey:

Obrigado amigo. Uma pergunta rápida re: o custo de swap no testador de estratégia. Isto é adicionado no final ou é adicionado à medida que avançamos. [...]

É adicionado exatamente como é adicionado em uma conta Live/Demo. De 'Características e limites de teste no MetaTrader 4':

Todos os swaps, requisitos de margem, expirações, ordens GTC são modelados.

Note que o valor de swap é retirado da conta à qual você está atualmente conectado no momento u pressione 'Iniciar' no Testador.

 

Um novo obstáculo. Quando eu carrego em 3 meses dados de carrapatos no centro de História (tratados como se tivéssemos sido engomados nesta linha - para fazer com que cada carrapato tenha sua própria barra M1) - parece que tudo está bem MAS acabei de ver isto no diário:

Historybase: memória insuficiente '#CLX01' [8412861 bars]
Manipulador de memória: não pode alocar 370166236 bytes de memória

Então, isto é para dizer que não carregou todos os dados?

 
mikey:

Um novo obstáculo. Quando eu carrego em 3 meses dados de carrapatos no centro de História (tratados como se tivéssemos sido engomados nesta linha - para fazer com que cada carrapato tenha sua própria barra M1) - parece que tudo está bem MAS acabei de ver isto no diário:

Historybase: memória insuficiente '#CLX01' [8412861 bars]
Manipulador de memória: não pode alocar 370166236 bytes de memória

Então, isto é para dizer que não carregou todos os dados?

Pode ser porque você atingiu o limite de 2GB. Depois de u pressionar 'Start', o testador cria um arquivo FXT que contém carrapatos para o teste (no seu caso, é 1 carrapato por barra). Este arquivo é criado na pasta '\MetaTrader 4\tester'. Abra esta pasta e verifique se o último arquivo criado tem cerca de ~2GB de tamanho. Se assim for, então você atingiu o limite do Testador. Não há solução para isso, além de testes em períodos de tempo mais curtos.


Mas não tenho certeza se esta é a razão, pode ser outra coisa...

 

O testador ainda está funcionando quando eu verifiquei o tamanho. Então, pode aumentar?

Mas, de qualquer forma, a partir de agora o tamanho é de apenas 412 MB. O que eu presumo que seja bem inferior a 2 GB?

 

BTW - a revista em que esta mensagem de erro está NÃO está no testador de estratégia. mas na outra (a da conta)

 

Estou ficando um pouco frustrado. Justo enuf - estou tirando algo novo e, por isso, é provável que haja problemas.

Mas, sem relação com isso - acabei de notar em uma estratégia padrão do pântano de metatrader executada com dados M1 adequados (portanto, não relacionados ao que falamos neste tópico) durante 3 meses de dados de petróleo que recebi. e notei que o testador de estratégia simplesmente parou de abrir qualquer comércio após cerca de 2 semanas. no código - sempre que não há comércio aberto, um novo comércio deve ser aberto (nunca tive nenhuma prova com isso no teste futuro). Mas o testador de estratégia está ok por 2 semanas, abrindo negócios e depois não tem nenhum negócio aberto por cerca de 2,5 meses (apesar de ter 5000 dólares em lucro)! Além disso, o tipo de resultados entregues estão tão distantes dos meus testes futuros até agora. Dúvidas estão começando a entrar em minha mente sobre o motor do metatrader testador de estratégia e sua validade e uso.

(os dados todos carregados no testador ok porque para seu intervalo de datas no relatório - tem o intervalo correto)

meu sonho/alvo: O que eu esperava era que o testador de estratégia tivesse bons dados históricos (especialmente se você puder obter dados de tick) e você terá uma boa visão de como a sua estratégia teria realmente negociado ao longo desse histórico (deslizamento, variação de dispersão, etc., aceito). Mas agora estou pedindo para verificar se isso é possível. se o motor da estratégia pode realmente entregar isso. ESTE OBJETIVO PODE SER ALCANÇADO COM O METATRADER? Alguém me atire alguma esperança!

 
mikey:

BTW - a revista em que esta mensagem de erro está NÃO está no testador de estratégia. mas na outra (a da conta)

Bem, então provavelmente não tem nada a ver com o Testador (você pode ver seus logs na pasta 'MetaTrader 4\tester\logs'), mas não posso ter certeza.