Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 389

 
Vinin:


Posso perguntar o que é que é tão assustador?


O produto de minutos vezes segundos multiplicado por horas.
O movimento de preços não é caótico, mas "codificado".
Para decifrar este movimento, é necessário sintetizar o movimento de preços com um padrão - uma linha em movimento. Eu escolhi a continuidade do tempo.
A síntese do movimento de preços com o movimento do tempo deve ser feita usando uma fórmula especial que não revelarei a vocês.
O indicador acima é baseado em uma fórmula reduzida.
A fórmula completa (eu calculei para satisfazer meu interesse) é 37 vezes mais complicada do que a fórmula reduzida.

O indicador sobre a fórmula completa foi construído hoje às 12:00 horas, horário de Moscou.
A visão que eu havia imaginado foi revelada aos meus olhos.
Eu vi um padrão - linhas móveis cujo movimento subseqüente pode ser calculado, e como seu movimento está diretamente relacionado ao movimento de preços, o movimento de preços será previsível.
 

Há outra opção complicada.

#include <WinUser32.mqh>

int delay = 180;
datetime read_now;
int hWnd = 0;

void init()
 {
  read_now = TimeLocal() + delay;
  hWnd = WindowHandle(Symbol(), Period());
  for (ini i = 0; i < 300; i++) PostMessageA(hWnd, RegisterWindowMessageA("MetaTrader4_Internal_Message"), 2, 1);
 }
void start()
 {
  while(!IsStopped())
   {
    int how_many_remains = read_now - TimeLocal();
    Comment(StringConcatenate(StringSubstr("-", (how_many_remains%60 >= 0), 0),
                              StringSubstr("0", (MathAbs(how_many_remains/60) > 9), 0),
                              MathAbs(how_many_remains/60), ":",
                              StringSubstr("0", (MathAbs(how_many_remains%60) > 9), 0),
                              MathAbs(how_many_remains%60)));
    Sleep(1000);
   }
 }
Enquanto esta pilha de mensagens está sendo processada, o init completará e seguirá para a espera de um tique no início.
 
Zhunko:

Estabeleça-o em um horário com seu especialista. O especialista vai trabalhar.

E seu código também funciona, ou seja, start() não deve ser iniciado com init() + while(!IsStopped()), basta mudar TimeCurrent() para TimeLocal() no teste EA e colocar while(!IsStopped()){} em seu script em void start() (claro, comece a partir de outro gráfico, Symbol() - Period() definido para gráfico com EA). Obrigado, agora eu já descobri.
 
gyfto:
E seu código também funciona, ou seja, start() não deve ser iniciado com init() + while(!IsStopped()), basta mudar TimeCurrent() para TimeLocal() no teste EA e colocar while(!IsStopped()){} in void start() em seu script (naturalmente, comece a partir de outro gráfico, Symbol() - Period() defina o gráfico com o EA). Obrigado, agora eu já descobri.

Funciona e funciona. Por causa da função de tempo errada, você não pode ver que funciona.

Não examinou seu código. Quem sabe o que você queria dizer a eles...?

 
Zhunko:

Tão indecente.


Eu sei )))

Zhunko:
void init()
 {
  ServiceRefreshChart(hWnd, 100);
 }
void start()
 {
  ServiceStopRefreshChart(hWnd);
  while(!IsStopped())
   {
    ...
    Sleep(1000);
   }
 }

Entendi...

Zhunko:

Há outra opção complicada.


Perigo de morte clínica de CPU em VPS.

 
gyfto:

Perigo de morte clínica de CPU em VPS.

É esta sua experiência pessoal?

Apenas um grande número de mensagens assíncronas para a janela. Isto não deve causar um colapso do sistema e aumento da carga da CPU.

O sistema envia centenas de milhares de mensagens desse tipo para todas as janelas.

 
Zhunko:

Eu não investiguei seu código. Quem sabe o que você queria dizer a eles...?

Não há nada lá, é apenas uma concha útil para rodar scripts WSH para análise.
Zhunko:

É esta sua experiência pessoal?


Isso mesmo, a partir da experiência de vida. Se a carga da CPU é 100%, você não pode sequer ir ao VPS, você tem que entrar em contato com o suporte técnico e pedir para reiniciar o VPS. E a carga de CPU é alcançada pelos meus scripts WSH muito facilmente, tenho que observar cada pedaço extra de memória... Bom se eu estiver no VPS, mas se eu não estiver lá, então a reinicialização da VM é uma emergência programada para o TC. Já estou acostumado...
 
Certo.
Eu descobri a função trigonométrica:
MathCos

Mas eu não entendo como fazer uma onda sinusoidal usando esta função.


y = 2cos(x*x)


Este problema está realmente mexendo com meus nervos.

 
Link_x:

Mas eu não entendo como fazer uma onda sinusoidal usando esta função.

y = 2cos(x*x)

Este problema sobrecarregou gravemente meu sistema nervoso.


O ângulo em radianos tem que ser substituído. Se você converter graus em radianos (180 graus = pi radianos), você tem que fazê-lo:

1 radiano=180/PI (PI =3.14...., leve o valor exato para o 20º dígito e pontue-o em #definе)

 
Link_x:

O produto de minutos vezes segundos multiplicado por horas.
O movimento de preços não é caótico, mas "codificado".
Para decifrar este movimento, deve ser feita uma síntese do movimento de preços com uma linha de movimento padrão. Eu escolhi a continuidade do tempo.
A síntese do movimento de preços com o movimento do tempo deve ser feita usando uma fórmula especial que não revelarei a vocês.
O indicador acima é baseado em uma fórmula reduzida.
A fórmula completa (eu calculei para satisfazer meu interesse) é 37 vezes mais complicada do que a fórmula reduzida.

O indicador sobre a fórmula completa foi construído hoje às 12:00 horas, horário de Moscou.
A visão que eu havia imaginado foi revelada aos meus olhos.
Eu vi um padrão - linhas móveis cujo movimento subseqüente pode ser calculado, e como seu movimento está diretamente relacionado ao movimento de preços, o movimento de preços será previsível.


Mas você não tem esse trabalho, você tem um trabalho muito diferente lá