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
O objetivo do seu posto é mostrar como contar corretamente o sorteio? Obrigado pela EA. Só me parece que seu código, se incluído em uma EA real, determinará o saque para uma ou mais negociações abertas desde o momento da abertura até o fechamento dessas negociações, mas não buscará o saque máximo de todo o tempo em que a EA estiver funcionando. Ou será que eu me enganei? Você pode criticar meu código? Ela desempenha corretamente sua tarefa de encontrar o máximo de drawdown?
Este (meu) código economiza exatamente o drawdown máximo para todo o tempo de trabalho do Expert Advisor, ou seja, ele não zera variáveis máximas e mínimas ao fechar uma ou mais transações, quando o patrimônio é igual ao saldo e não há min para todo o tempo.
Escrevi-a puramente como exemplo e para mantê-la simples - como uma comparação com um testador.
Sobre seu código não está claro o porquê de usá-lo aqui:
A MinEquidade é reinicializada.
MinEquity=AccountEquity();
Se numa situação em que AccountEquity() > MaxEquity não houver possibilidade de fechar ou abrir uma ordem (ou ordens) por vários motivos, muito menos reiniciar MinEquity=AccountEquity();
Geralmente, a mesma coisa pode ser programada de maneiras diferentes, de maneiras diferentes, o principal é o algoritmo correto.
Se você quiser inserir a variável em um EA real, é melhor escrever as variáveis em arquivos (com cheque).
Na minha opinião, o máximo de drawdown e o relativo drawdown não são levados em conta no testador; dei um link de exemplo anteriormente.
Este (meu) código economiza exatamente o drawdown máximo para toda a duração da EA, ou seja, não reinicia variáveis máximas e mínimas quando se fecha uma ou mais transações, quando a equidade é igual ao saldo e não há mínimo para todo o tempo.
Escrevi-a puramente como exemplo e para mantê-la simples - como uma comparação com um testador.
Sobre seu código não está claro o porquê de usá-lo aqui:
A MinEquidade é reinicializada.
Se numa situação em que AccountEquity() > MaxEquity não houver possibilidade de fechar ou abrir uma ordem (ou ordens) por vários motivos, muito menos reiniciar MinEquity=AccountEquity();
Geralmente, a mesma coisa pode ser programada de maneiras diferentes, de maneiras diferentes, o principal é o algoritmo correto.
Se você quiser inserir a variável em um EA real, é melhor escrever as variáveis em arquivos (com cheque).
Na minha opinião, o testador leva em conta, erroneamente, a maximização de drawdown e drawdown relativo, a ligação com o exemplo que dei anteriormente.
A MinEquidade é reiniciada no momento em que um novo máximo é atualizado, o que significa que o mínimo anterior é passado e depois que o novo máximo é formado é necessário encontrar um novo mínimo que possa dar ao saque maior do que o saque encontrado anteriormente em relação ao novo máximo. Note que devemos calcular o drawdown relativo ao último máximo pelo mínimo formado após este máximo e selecionar o máximo entre eles. Veja a confirmação nos postos da Integer, que também acha que isto está correto. Acho que esta é a razão pela qual você tem uma discrepância com o testador.
Serferrer, sua variante mostrará um drawdown incorreto no caso de uma série de pedidos perdidos. Você pode ter 10 pedidos perdidos em uma fila com uma perda de 100 cada um e drenar 1000, enquanto que o máximo de drawdown será de apenas 100, o que é errado.
Repito - escrevi-o puramente como um exemplo e mais simples (para maior clareza) - como uma comparação com o testador.
E não é, de forma alguma, definitivo.
Se você fizer o código final, você precisa acrescentar muitas outras características a ele.
Repito - escrevi-o puramente como exemplo e por simplicidade - como uma comparação com o testador.
E não é, de forma alguma, definitivo.
Se você fizer o código final, você precisa acrescentar muitas outras características a ele.
Para um exemplo de quê e comparação com o quê no testador? Seu código não calcula o levantamento de conta e não pode ser usado como exemplo para calcular o levantamento de conta e, portanto, não pode ser usado para comparar os cálculos de levantamento de conta no testador.
A MinEquidade é reiniciada no momento em que um novo máximo é atualizado, o que significa que o mínimo anterior é passado e depois que o novo máximo é formado é necessário encontrar um novo mínimo que possa dar ao saque maior do que o saque encontrado anteriormente em relação ao novo máximo . Note que devemos calcular o drawdown relativo ao último máximo pelo mínimo formado após este máximo e selecionar o máximo entre eles. Veja a confirmação nos postos da Integer, que também acha que isto está correto. Acho que esta é a razão pela qual você tem uma discrepância com o testador.
Esta é sua opinião, eu a entendo e eu mesmo a acho incorreta e o saque deve ser calculado com base no preço da(s) ordem(s) aberta (s) e não no máximo de patrimônio líquido, repito:
Se, por exemplo, em uma situação onde AccountEquity()>MaxEquity não há possibilidade de fechar ou abrir uma ordem(s), por várias razões.
Para um exemplo de quê e uma comparação com o quê no testador? Seu código não calcula o levantamento de conta e, portanto, não pode ser usado como um exemplo para calcular o levantamento de conta e, portanto, não pode ser usado para comparar os cálculos de levantamento de conta no testador.
Para comparação e um exemplo claro para deixar claro até mesmo para não-programadores que o testador está errado.
Drawdown Absoluto - drawdown do saldo inicial mostrando quanto o saldo diminuiu relativamente ao valor inicial;
Drawdown Máximo - o drawdown mostrando o drawdown máximo fixado em termos de dinheiro (a diferença entre o último máximo e o mínimo atual); pode exceder o Drawdown Absoluto, mostrando a quantidade de perda possível, mesmo que o comércio seja positivo;
Drawdown relativo - drawdown relativo, mostra a porcentagem máxima de drawdown em relação ao depósito inicial;
http://www.onix-trade.net/forum/index.php?showtopic=82146&st=0&p=342915&#entry342915
Inteiro:
Você concorda que, no meu exemplo - Desembolso máximo 1013,00 (50,85%) Desembolso relativo 50,85% (1013,00) e isto é correto?
Para comparação e exemplo ilustrativo, mesmo os não-programadores entendem que o testador não faz os cálculos corretamente.
Drawdown Absoluto - drawdown do saldo inicial, que mostra quanto o saldo diminuiu relativamente ao valor inicial;
Drawdown Máximo - o drawdown mostrando o drawdown máximo fixado em termos de dinheiro (a diferença entre o último máximo e o mínimo atual); pode exceder o Drawdown Absoluto, mostrando a quantidade de perda possível, mesmo que o comércio seja positivo;
Drawdown relativo - drawdown relativo, mostra a porcentagem máxima de drawdown em relação ao depósito inicial;
http://www.onix-trade.net/forum/index.php?showtopic=82146&st=0&p=342915&#entry342915
Inteiro:
Você concorda que, no meu exemplo - Desembolso máximo 1013,00 (50,85%) Desembolso relativo 50,85% (1013,00) e isto é correto?
Não, eu não concordo com você em absoluto ou em nada.
Explique onde você encontrou tal parâmetro, como o mínimo de drawdown, em que relatório. Acredito que a queda máxima de equidade encontrada durante o teste pode ser repetida no comércio real, por isso acho correto contá-la a partir do máximo.
Bem, se você não precisa disso ou não entende para que serve, por que juntar-se à conversa e até mesmo impor sua opinião?