Erros, bugs, perguntas - página 2096

 
elibrarius:

Hmm. Encontre-o bem ))))

int OnInit()
  {
   return(INIT_SUCCEEDED);
}

void OnTick()
  {
  int s[];
  CopySpread(_Symbol,_Period,0,1,s);
  Print(s[0]);
  }

Então, quem lhe disse que o campo de propagação da barra actual é igual à propagação actual ou, por exemplo, ao mínimo?

UseSymbolInfoTick, as barras são um rudimento histórico.

 
fxsaber:

Então quem lhe disse que o campo de propagação da barra actual é igual à propagação actual ou, por exemplo, ao mínimo?

Use SymbolInfoTick, as barras são um rudimento histórico.

CopySpread - lembra-se do mínimo - tal prática, que na maioria dos casos se revela ser o critério da verdade. A partir dele estabelece-se que o bar 2017.10.23 01:00 CopySprea=-3, uma vez que não havia menos quando se verificava a existência de carraças.

Chamaria bares - uma ferramenta muito necessária para analisar o passado.

SymbolInfoTick está correcto, mas será realmente a razão para deixar a CopySpread errada? Compreendo que 1 pt. - é uma bagatela, penso eu, e fixa-a elementar s=s-1. É tudo )

 
elibrarius:

SymbolInfoTick - mostra-se correctamente, mas será realmente necessário deixar o CopySpread errado por causa disto? Compreendo que 1 pt. - é uma bagatela, penso eu, que é elementar corrigi-la s=s-1. É tudo )

Antes de analisar o testador, olhar para o histórico do bar para ver se este tem uma propagação negativa. É um campo tortuoso sobre nada.

Se os criadores de hoje viessem com MqlRates, haveria campos normais em vez desta porcaria. Mas não têm tempo para reconsiderar esta estrutura e já fizeram todo o tipo de disparates com ela. Temos, portanto, um rudimento de história. E agora eles vão estar sempre a puxar este fardo.

 
elibrarius:

CopySpread - lembra-se do mínimo - tal prática, que na maioria dos casos prova ser o critério da verdade. A partir dele estabelece-se que o bar 2017.10.23 01:00 CopySprea=-3, uma vez que não havia menos quando se verificava por carraças.

Chamaria bares - uma ferramenta muito necessária para analisar o passado.

SymbolInfoTick está correcto, mas será realmente a razão para deixar a CopySpread errada? Compreendo que 1 pt. - é uma bagatela, penso eu, e fixa-a elementar s=s-1. É tudo )

Se prestar atenção, pode observar os minutos e ver, que o último valor de spread é lembrado quando aparece uma nova barra.

 
Alexey Viktorov:

Se tiver cuidado, pode observar os minutos para ver que o último valor de spread é lembrado quando aparece uma nova barra.

Olhei mais de perto - concordo, mas em parte.

Código do perito:

void OnTick() { 
  int s[];
  CopySpread(_Symbol,_Period,0,1,s);
  Print(s[0]);
  MqlTick last_tick;
  if(SymbolInfoTick(Symbol(),last_tick)) { Print(last_tick.time,": Bid = ",last_tick.bid, " Ask = ",last_tick.ask,"  SP = ",DoubleToString(last_tick.ask-last_tick.bid,5)); }
}

Aqui está uma impressão de um minuto - primeiro o spread do CopySpread. Depois calculado a partir de Ask-Bid

2018.01.01 11:55:00.478 2017.10.23 01:00:00 14
2018.01.01 11:55:00.478 2017.10.23 01:00:00 2017.10.23 01:00:00: Licitação = 1.17715 Perguntar = 1.17729 SP = 0.00014
2018.01.01 11:55:00.494 2017.10.23 01:00:00 9
2018.01.01 11:55:00.494 2017.10.23 01:00:00 2017.10.23 01:00:00: Licitação = 1.17715 Perguntar = 1.17724 SP = 0.00009
2018.01.01 11:55:00.510 2017.10.23 01:00:00 9
2018.01.01 11:55:00.510 2017.10.23 01:00:00 2017.10.23 01:00:00: Licitação = 1,17716 Perguntar = 1,17726 SP = 0,00010
...........
2018.01.01 11:55:01.023 2017.10.23 01:00:30 1
2018.01.01 11:55:01.023 2017.10.23 01:00:30 2017.10.23 01:00:30: Licitação = 1,17704 Perguntar = 1,17705 SP = 0,00001
2018.01.01 11:55:01.876 2017.10.23 01:00:30 -1
2018.01.01 11:55:01.876 2017.10.23 01:00:30 2017.10.23 01:00:30: Licitação = 1,17707 Perguntar = 1,17705 SP = -0,00002
2018.01.01 11:55:01.893 2017.10.23 01:00:31 -3
2018.01.01 11:55:01.893 2017.10.23 01:00:31 2017.10.23 01:00:31: Licitação = 1,17707 Perguntar = 1,17703 SP = -0,00004

2018.01.01 11:55:01.909 2017.10.23 01:00:31 -3
2018.01.01 11:55:01.909 2017.10.23 01:00:31 2017.10.23 01:00:31: Licitação = 1,17707 Perguntar = 1,17704 SP = -0,00003
2018.01.01 11:55:01.925 2017.10.23 01:00:32 -3
...........
2018.01.01 11:55:02.293 2017.10.23 01:00:48 -3
2018.01.01 11:55:02.293 2017.10.23 01:00:48 2017.10.23 01:00:48: Licitação = 1,17702 Perguntar = 1,17707 SP = 0,00005
2018.01.01 11:55:02.309 2017.10.23 01:00:48 -3
2018.01.01 11:55:02.309 2017.10.23 01:00:48 2017.10.23 01:00:48: Licitação = 1,17703 Perguntar = 1,17707 SP = 0,00004
2018.01.01 11:55:02.325 2017.10.23 01:00:49 -3
2018.01.01 11:55:02.325 2017.10.23 01:00:49 2017.10.23 01:00:49: Licitação = 1,17707 Perguntar = 1,17707 SP = 0,00000

Isto é, o valor do CopySpread na barra actual = mínimo.

Mas na história do bar, o último valor desapareceu realmente.

<DATA> <TEMPO> <ABERTO>>ALTA>>BAIXO><FECHAR> <TICKVOL> <VOL> <SPREAD>
2017.10.23 01:00:00 1.17715 1.17720 1.17693 1.17707 64 0 0

A maior parte das vezes (min 10 verificado), mas também aqui há falhas.
Eis o problema descrito acima em 2017.10.23 00:53

Na história.

2017.10.23 00:53:00 1.17685 1.17725 1.17685 1.17725 8 0 9

E sobre os carrapatos:

2018.01.01 11:54:59.009 2017.10.23 00:53:43 48
2018.01.01 11:54:59.009 2017.10.23 00:53:43 2017.10.23 00:53:43: Licitação = 1.17724 Perguntar = 1.17733 SP = 0.00009
2018.01.01 11:54:59.025 2017.10.23 00:53:43 48
2018.01.01 11:54:59.025 2017.10.23 00:53:43 2017.10.23 00:53:43: Licitação = 1.17725 Perguntar = 1.17736 SP = 0.00011
2018.01.01 11:54:59.041 2017.10.23 00:53:43 48
2018.01.01.01 11:54:59.041 2017.10.23 00:53:43 2017.10.23 10.23 00:53:43: Licitação = 1.17725 Perguntar = 1.17737 SP = 0.00012 <<<<<<---------- última barra tick
2017.10.23 00:53
2018.01.01 11:54:59.057 2017.10.23 00:54:11 9
2018.01.01 11:54:59.057 2017.10.23 00:54:11 2017.10.23 00:54:11: Licitação = 1.17728 Perguntar = 1.17737 SP = 0.00009 <<<<<<---------- primeira barra de carrapatos 2017.10.23 00:54 - aqui corresponde

Verifiquei a versão em que a propagação a partir do primeiro tick do bar seguinte entra na história. Não confirmado:

História
2017.10.23 00:59:00 1.17717 1.17723 1.17709 1.17715 14 0 3

1ª marca do bar seguinte
2018.01.01 11:55:00.478 2017.10.23 01:00:00 14
2018.01.01 11:55:00.478 2017.10.23 01:00:00 2017.10.23 01:00:00: Licitação = 1.17715 Perguntar = 1.17729 SP = 0.00014

História

2017.10.23 01:00:00 1.17715 1.17720 1.17693 1.17707 64 0 0

1ª marca do bar seguinte
2018.01.01 11:55:02.342 2017.10.23 01:01:03 1
2018.01.01 11:55:02.342 2017.10.23 01:01:03 2017.10.23 01:01:03: Licitação = 1,17707 Perguntar = 1,17708 SP = 0,00001

Tudo em resumo - alguma confusão com spreads (

 
elibrarius:

...

No geral - alguma confusão sobre os spreads (


 

MT4 b1090, muitas dezenas de símbolos em Market Watch, vários gráficos abertos. terminal.exe está a comer 0-1% de CPU.

MT5 b1730, apenas GBPUSD MetaQuotes-Demo em Market Watch, sem gráficos. terminal64.exe está a comer 2-3% de CPU.

Isto é normal?

 
fxsaber:

MT4 b1090, muitas dezenas de símbolos em Market Watch, vários gráficos abertos. terminal.exe está a comer 0-1% de CPU.

MT5 b1730, apenas GBPUSD MetaQuotes-Demo em Market Watch, sem gráficos. terminal64.exe está a comer 2-3% de CPU.

É normal?

O tema foi abordado várias vezes. O MT5 é um pouco mais intensivo em CPU porque transmite mais informação.

Mas é incorrecto comparar dentro de 1-2%.

 
Andrey Khatimlianskii:

O tema foi abordado várias vezes. O MT5 é ligeiramente mais intensivo em CPU porque transmite mais informação.

Mas é incorrecto comparar dentro de 1-2%.

Vários navegadores com dezenas de abas abertas em modo de leitura comem zero. É estranho quando um terminal completamente vazio consome como um cliente de torrente. E não muda se se desligar a Internet do computador.

 
fxsaber:

Vários navegadores com dezenas de separadores abertos em modo de leitura comem zero. É estranho quando um terminal completamente vazio consome como um cliente de torrente. E não muda se o desligar do computador.

É incorrecto compará-lo com um navegador. Os separadores de fundo, tanto quanto posso ver, não consomem recursos de forma alguma.

E o terminal recebe carraças e constrói uma série cronológica, independentemente de o gráfico estar activo ou não, de modo a que, ao mudar para ele, mostre a informação actual sem atrasos.

Mas não estou realmente a defender a MT, apenas a salientar que nunca ninguém se preocupou em fazer uma comparação completa com todos os cálculos para o balcão de serviços.