Qualquer pergunta de um PROFI para um SUPER PROFI - 1. - página 44

 
TheXpert:

Irrealista sem controle na própria EA.

Em termos gerais, aparentemente, sim.

Mas se estipularmos que o recálculo não deve ser feito mais de uma vez em X ms, então podemos resolvê-lo de forma simples e direta.


TheXpert:

Não só isso, você não precisa fazer.

Bem, uma única linha é sempre mais conveniente que o xamanismo em cada Expert Advisor que a utiliza.

 
Andrey Khatimlianskii:

Bem, um inlude de uma linha é sempre mais conveniente do que uma farsa em cada EA que o utiliza.

você provavelmente pode fazer, estilo fxsaber, com funções de entrada substituídas por definições

 
você pode tentar "diretamente": por exemplo, ler carrapatos por tempo desde o início da barra de última hora até o momento atual. verifique seu número, ou seja, compare o tamanho da matriz resultante - se permanecer o mesmo, então o carrapato ainda é o mesmo, já contado. um novo carrapato vem - a matriz aumenta; uma nova barra vem - ela diminui
 
Andrey Khatimlianskii:

Não, será definitivamente mais lento do que a comparação lance/pesquisa/ms.

Qual é o problema com a confiabilidade? O que importa é o fato de que algo mudou.

Ou talvez a imutabilidade, o tique é o mesmo, nem o lance nem o pedido mudaram.

 
Andrey Khatimlianskii:

Em termos gerais, provavelmente sim.

Mas se estipularmos que o recálculo deve ser feito não mais de uma vez em X ms, então podemos resolvê-lo de forma simples e direta.


Bem, o inlude de uma linha é sempre mais conveniente do que o xamanismo em cada consultor especializado que o utiliza.

O que é o xamanismo, além do inluio, é inserir mais uma linha no início de

OnTick(){ Count_tick++;

Se o desafio não ajudar, a Ctrl-H ajuda :)

Você ainda precisa chamar a função de biblioteca a partir de um include, ou seja, inseri-lo em seu código de alguma forma

//include file
static int Count_tick=0;
void SameTick(int &tick, bool &same_tick) { if(tick<Count_tick){tick=Count_tick;return ;} else same_tick=true; return ;}
#define  SameTick() static int my_tick=0;bool same_tick=false;SameTick(my_tick, same_tick)

// EA file

func1(){SameTick();   if (same_tick)... }
func2(){SameTick();   if (same_tick) ...}...

s.s. teoricamente em um mercado rápido pode haver vários carrapatos em um ms, entre os quais o primeiro e o último têm o mesmo lance e perguntam.

 
Igor Zakharov:
você pode tentar "diretamente": ler carrapatos, por exemplo, por tempo, desde o início da barra de última hora até o momento atual. verifique seu número, ou seja, compare o tamanho da matriz obtida - se permanecer o mesmo, então o carrapato ainda é o mesmo, já calculado. um novo carrapato vem - a matriz vai aumentar; uma nova barra vai diminuir

Bem, é claro! Há um Volume (que está fazendo tic-tac). Esse é o número único do tick (dentro de um bar, mas isso é o suficiente)!

Vou verificar se tal truque dá uma aceleração.

 
TheXpert:

provavelmente pode ser feito, no estilo fxsaber, com funções de entrada superiores através de definições

Aleksey Mavrin:

qual é o xamanismo, além do inlude, outra linha a ser inserida no início do

Se a definição não ajuda, a Ctrl-H ajuda :)

Você ainda tem que chamar a função de biblioteca a partir de um include, ou seja, inseri-lo em código de alguma forma

Parece que sim. Se o volume for lento, eu vou desarquivar tudo o que preciso.


Obrigado a todos pela participação!

 
Aleksey Mavrin:

o que é o xamanismo, além do inluio, colocou mais uma linha no início do

Se a definição não ajuda, a Ctrl-H ajuda :)

Você ainda tem que chamar a função de biblioteca a partir do inlude, ou seja, inseri-la no código de alguma forma

s.s. teoricamente em um mercado rápido, pode haver vários carrapatos em um ms, entre os quais o primeiro e o último têm o mesmo lance e perguntam.

Aleksey Mavrin:

e qual é o xamanismo, além do indício de mais uma linha a ser inserida no início

Se a definição não ajuda, a Ctrl-H ajuda :)

Você ainda precisa chamar a função de biblioteca a partir de um include, ou seja, inseri-lo em seu código desta forma

s.w. Teoricamente em um mercado rápido você pode ter vários carrapatos em um ms, entre os quais o primeiro e o último têm o mesmo lance e pedem.

A estática só é inicializada quando anexada ao gráfico, portanto, haverá erro de cálculo.

static int Count_tick=0;
 
Алексей Тарабанов:

A estática só se inicia quando é anexada ao gráfico, portanto, haverá um erro de cálculo.

Eu não entendo qual será o erro. É declarado a nível mundial, não faz diferença.

 
Andrey Khatimlianskii:

Bem, é claro! Há um Volume (que está fazendo tic-tac). Este é o número único do tick (dentro de uma barra, mas isso é suficiente)!

se um novo tick entrar enquanto o tick estiver sendo processado, será que ele possivelmente mudará?