Bibliotecas: BestInterval - página 3

 
fxsaber:

Eu não ficaria surpreso se ele estivesse sendo executado em Netting. O CloseBy não funciona lá.

Faça isso em um hedge. Eu não me preocupei com isso para netting, porque o MT4-advisor não deveria ser executado nesse modo, é claro.

Sim, é uma espécie de hedge. Ou ele está configurado em outro lugar no MT5?

Tipo de conta

 
Mikola_2:

Acho que é um hedge. Ou ela ainda pode ser personalizada em outro lugar no MT5?

Há vários meses não executo o Tester em símbolos regulares do MT5. Talvez eu não tenha levado algo em consideração.

Escreva o nome do servidor de negociação e eu o verificarei.

 
fxsaber:

Há vários meses não executo o Tester nos símbolos do MT5. Talvez eu não tenha levado algo em consideração.

Escreva o nome do seu servidor de negociação e eu o verificarei.

AlpariEvrasia-MT5-Demo
 
Mikola_2:
AlpariEvrasia-MT5-Demo

O servidor não é compatível com CloseBy

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

PositionCloseBy não está funcionando em contas reais

fxsaber, 2018.07.24 16:42

bool IsCloseBy( const string Symb )
{
  return(SymbolInfoInteger(Symb, SYMBOL_ORDER_MODE) & SYMBOL_ORDER_CLOSEBY);
}


ZY Atualizou o Sync.mqh. CloseBy não é mais usado. É mais fácil analisar o histórico em relatórios e gráficos. Obrigado pelo relatório!

Esta é a aparência das negociações e do intervalo lançado no gráfico do testador

 

No servidor de demonstração MQ, os dados sempre perdem -1127 com 10K iniciais.

A situação era melhor no FxChoice.


Não vi nenhuma diferença nesse Expert Advisor, mas encontrei um erro :)

Ao conectar a biblioteca, o Virtual não consegue compilar a linha com OrderSend.


Estou mentindo, o resultado é mostrado :)

2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   Amount of Delete Intervals = 0
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   00:00:00 - 23:59:59 : Profit = 2637.54, Total = 2641 (30.48%), PF = 1.11, Mean = 1.00, DD = 14834.15, RF = 0.18
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   SUMMARY: 00:00:00 - 23:59:59 : Profit = 2637.54, Total = 2641 (30.48%), PF = 1.11, Mean = 1.00, DD = 14834.15, RF = 0.18
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   Amount of Delete Intervals = 1
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   15:34:37 - 19:55:39 : Profit = 18700.06, Total = 827 (32.77%), PF = 9.58, Mean = 22.61, DD = 632.22, RF = 29.58
2018.10.16 23:35:38.620 Core 1  2018.10.12 23:59:59   SUMMARY: 00:00:00 - 23:59:59 : Profit = 18700.06, Total = 827 (32.77%), PF = 9.58, Mean = 22.61, DD = 632.22, RF = 29.58


Arquivos anexados:
 
fxsaber:

O servidor não é compatível com CloseBy

ZY Atualizou o Sync.mqh. CloseBy não é mais usado. Ficou mais fácil analisar o histórico em relatórios e gráficos. Obrigado pelo relatório!

Esta é a aparência das negociações e do intervalo lançado no gráfico do Tester

Urrraaaaah, funciona! :)))) Só preciso fazer alguns ajustes para que os números correspondam.

Aqui está uma execução preliminar:

Ação = falso

Aqui está uma com Action = true:

Action = true

Aqui estão as estatísticas do Tester:

Testador 1 Testador 2

 
Mikola_2:

Urrrraaaaah, funciona! :)))) Só preciso fazer alguns ajustes para que os números coincidam.

Quando Action = false, o OnTester mostra o lucro correspondente ao melhor intervalo calculado.

Com Action = true (esse modo só faz sentido em passagens únicas), o OnTester mostra o saldo final que corresponde a Action = false;


Ou seja, quando a Ação estiver ativada, o OnTester mostrará o resultado como se o melhor intervalo não existisse. Assim, você pode entender em quantos por cento o resultado melhorou comparando os dados em duas linhas: saldo final e resultado do OnTester.


Quanto ao RESUMO nulo quando Action = true. Isso não é um erro. Fiz isso para que eu pudesse entender que o modo Action = true está em execução. Será necessário informar isso de forma diferente e preencher o SUMMARY corretamente. Só que isso é de pouca utilidade, porque todos esses dados já estão no relatório do Tester.

 
...:

No servidor de demonstração MQ, os dados sempre perdem -1127 com 10K iniciais.

Foi melhor no FxChoice.

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.

Bibliotecas: BestInterval

fxsaber, 2018.10.16 23:51

Nos símbolos regulares do MT5, o Tester não é executado há vários meses.


Eu não vi nenhuma diferença neste EA, mas encontrei um bug :)

Precisamos de dados para reproduzir um erro crítico.

Ao conectar a biblioteca, o Virtual não consegue compilar a linha com OrderSend

A descrição do Virtual diz que ele funciona somente para códigos do tipo MT4. Seu EA é do tipo MT5. Portanto, ele não será compilado com o Virtual. Além disso, Action = true também não funcionará, porque o ambiente de negociação Virtual é usado lá. Entretanto, Action = false funcionará. É por isso que, no estilo MT5, você deve adicionar apenas estas linhas

#include <MT4Orders.mqh> // https://www.mql5.com/pt/code/16006

#define  BESTINTERVAL_ONTESTER
#include <fxsaber\BestInterval\BestInterval.mqh>


Eu escrevo tudo no estilo MT4. É muito conveniente e universal.

 
fxsaber:

Se Action = false, o OnTester mostrará o lucro correspondente ao melhor intervalo calculado.

Quando Action = true (esse modo só faz sentido em passagens únicas), o OnTester mostra o saldo final que corresponde a Action = false;

Ou seja, quando a Ação estiver ativada, o OnTester mostrará o resultado como se o melhor intervalo não existisse. Assim, você pode entender quanto por cento o resultado melhorou comparando os dados nas duas linhas: saldo final e resultado do OnTester.

Quanto ao RESUMO nulo quando Action = true. Isso não é um erro. Eu o criei para que pudesse entender que o modo Action = true está em execução. Será necessário informar isso de forma diferente e preencher o SUMMARY corretamente. Só que isso é de pouca utilidade, porque todos esses dados já estão no relatório do Testador.

Não... :)

Veja, há quatro dígitos:

Ação = falso: saldo final 9080,02

OnTester 11895

Ação = verdadeiro: saldo final 13271,09.

OnTester 12931.

Nenhum deles corresponde. Parece-me que o OnTester resume o total de forma incorreta em algum lugar.

E algo deve corresponder a algo, caso contrário, como ter certeza de que tudo foi calculado corretamente... :)

 
Mikola_2:

Não... :)

Veja, há quatro dígitos:

Ação = falso: saldo final 9080,02

OnTester 11895

Ação = true: saldo final 13271.09

No testador 12931

Nenhum dos itens corresponde. Parece-me que o OnTester está resumindo incorretamente o total em algum lugar.

E algo deve corresponder a algo, caso contrário, como você pode ter certeza de que tudo foi calculado corretamente... :)

É muito fácil de explicar. O número destacado é o saldo final no ambiente de negociação virtual. Seu lucro é calculado com TickValue = 1. E o MT5-Tester altera o TickValue a cada tick. Para esse fim, em particular, ele extrai dados de outros pares. Além disso, o Virtual não conta a comissão e os swaps, porque realmente não precisa deles, assim como o TickValue.

Eu mesmo executo tudo em símbolos personalizados. E o swap é zero. Todas as moedas de liquidação são iguais à moeda de depósito. Então, a correspondência é total.

Em geral, o OnTester destacado é o lucro do TS sem usar o melhor intervalo, calculado com TickValue = 1, Comissão = Swap = 0. É por isso que a negociação de um lote sempre resulta em um OnTester inteiro.