Discussão do artigo "Criação e teste de símbolos personalizados na MetaTrader 5" - página 6

 
fxsaber:

Não é uma economia. O CSV ocupa mais espaço em um dia do que o hcc em uma semana.

Tenho a situação oposta:

SCV - 99 kb, tkc - 132 kb, hcc -39 MB (ou seja, centenas de vezes mais).

Isso ocorre, enfatizo, depois de excluir completamente o histórico do símbolo, reiniciar o terminal e gravar o símbolo "do zero".

 
vestrub:

Estou passando pela situação oposta:

SCV - 99 kb, tkc - 132 kb, hcc -39 MB (ou seja, centenas de vezes mais).

Isso, enfatizo, depois de excluir completamente o histórico do símbolo e reiniciar o terminal e gravar o símbolo "do zero".

Isso se deve ao fato de depurar esse resultado. Se isso fosse feito uma vez por dia, a economia seria questionável.

Os desenvolvedores estão cientes desse recurso. Acredito que eles irão corrigi-lo.

 
fxsaber:

Foi a depuração que fez isso. Se isso fosse feito uma vez por dia, a economia seria questionável.

Os desenvolvedores estão cientes desse recurso. Acho que eles vão corrigi-lo.

Espero que sim. Porque 50 caracteres, por alguns dias, 20 GB são uma mordida....

Obrigado por sua ajuda.

 
vestrub:

50 caracteres, em alguns dias, 20 GB serão eliminados....

Escreva em detalhes o que você está fazendo para isso.


Usando isso na primeira execução, obtive estes números

  • Intervalo: 26.02.2018 - 02.04.2018.
  • Ticks: 3.333.473.
  • Barras: 37 100.
  • Armazenamento da fonte (CSV para ZIP): 19.157.093 bytes.
  • hcc: 1.605.587 bytes.
  • tkc: 11.577.280 bytes.
  • Barras CSV (exportação do MT5): 2.239.494 bytes.
  • ZIP desse CSV: 416.369 bytes.
  • 7z desse CSV: 310.301 bytes.

Outras execuções aumentarão hcc/tkc aproximadamente nos mesmos valores. Mas não foi possível obter dezenas de GB.

O que levanta dúvidas é que o hcc é 4 vezes maior do que um ZIP primitivo, e até mesmo aplicado a um CSV de texto.

ThirdPartyTicks
ThirdPartyTicks
  • votos: 12
  • 2018.03.16
  • fxsaber
  • www.mql5.com
Исторически сложилось, что для MetaTrader 4 пользуются популярностью сторонние приложения, позволяющие получать тиковую историю из различных источников. Как правило, ее используют в Тестере Стратегий как полигон для проверки советников, а также для исследований (машинное обучение и т.д.). Некоторые источники котировок в обсуждениях стали почти...
 

Alguém sabe como executar o testador de estratégia com dados de ticks importados em um símbolo personalizado?

=============================================================================

Se este não for o fórum correto para postar, por favor, sugira o fórum apropriado para que eu possa movê-lo;)

Estou usando a versão MT5: 5.00 build 1795 (03 de abril de 2018) no Win7.

Estou tentando executar o testador de estratégia com um símbolo personalizado que só tem dados de ticks importados.

De acordo com as instruções no site da MQL abaixo, ref:https://www.mql5.com/pt/articles/3540, o testador de estratégia pode ser executado apenas com dados de ticks importados e não precisa de dados de minutos importados.


Porém, quando tentei fazer isso com a versão recente do MT5, não consegui fazer com que funcionasse.

Uma coisa que descobri é que, na nova versão do testador de estratégia, em comparação com o testador de estratégia antigo acima, o novo tem uma caixa suspensa (círculo em vermelho) para selecionar os dados de minuto, e a mais baixa é "M1" e não tem "Tick".

Portanto, quando importo dados de ticks para o símbolo personalizado (sem dados de minutos), recebo o erro abaixo.

Alguém sabe como executar o testador de estratégia com dados de ticks importados em um símbolo personalizado?

Abaixo estão as etapas que eu fiz.

1. na janela Símbolo -> guia Carrapato, exportei os dados de carrapato recentes de uma semana do USDJPY

2. na janela Símbolo -> guia Especificação, criei um símbolo personalizado (chamado USDJPY.custom)

3. na janela Símbolo -> guia Tique, importe os dados de tique da etapa 1 para USDJPY.custom

4. no testador de estratégia, selecione USDJPY.custom, selecione cada tique com base no tique real e selecione M1 (pois preciso selecionar algo)

5. na janela do testador de estratégia, ele reclama que não consegue encontrar os dados M1...

Acredito ter lido que o MT5 gerará dados de minutos a partir de dados de ticks se os dados de ticks estiverem disponíveis. O requisito mudou para o teste em dados de ticks, também é necessário o mínimo de dados M1?

Atenciosamente,

Soi

 
soi kawasaki:

Acredito ter lido que o MT5 gerará dados de minutos a partir de dados de ticks se houver dados de ticks disponíveis.

Isso não é verdade!

#property script_show_inputs

#include <fxsaber\ThirdPartyTicks\CustomSymbol.mqh> // https://www.mql5.com/ru/code/20225

// Gerar histórico M1 a partir de ticks
void OnStart()
{  
  MqlTick Ticks[];
  CUSTOMSYMBOL Symb;

  if (Symb.IsCustom() && (CopyTicksRange(Symb.Name, Ticks, COPY_TICKS_ALL, 0, LONG_MAX) > 0))
  {
    Symb.AddTicks(Ticks);
  
    Symb.CreateHistoryRates();
    
    ChartOpen(Symb.Name, PERIOD_CURRENT);
  }
}
ThirdPartyTicks
ThirdPartyTicks
  • votos: 12
  • 2018.03.16
  • fxsaber
  • www.mql5.com
Исторически сложилось, что для MetaTrader 4 пользуются популярностью сторонние приложения, позволяющие получать тиковую историю из различных источников. Как правило, ее используют в Тестере Стратегий как полигон для проверки советников, а также для исследований (машинное обучение и т.д.). Некоторые источники котировок в обсуждениях стали почти...
 
fxsaber:

Isso não é verdade!

Oi fxsaber,

Obrigado por compartilhar isso!

Olá, Alain Verleyen,

Desculpe-me pela postagem dupla, eu ia excluí-la mais tarde, mas parece que não posso. Não farei isso da próxima vez: )

 
fxsaber:

Escreva em detalhes o que está fazendo para que isso aconteça.

Parece-me bastante padrão:

Dois terminais. Cada terminal tem 25 caracteres. Solicito ticks a cada 12 segundos. Depois disso, eu atualizo e redesenho via CustomRatesUpdate e ChartRedraw.


P.S. Peço desculpas pela longa pausa na resposta. Achei que o tópico não teria continuidade....

 
Se eu criar símbolos personalizados por meio de uma fórmula, há alguma maneira de especificar na fórmula o preço próximo à barra anterior ou algumas barras atrás? Por exemplo, quero pegar o preço do eurusd 5 barras atrás e adicioná-lo ao preço do gbpusd 3 barras atrás.
 
Esclareça por que os ticks de símbolos personalizados registrados com CustomTicksAdd() ou CustomTicksReplace() são excluídos depois que o terminal é recarregado.