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

 
Diubakin:
Então... COMO FUNCIONA? se não é um segredo...
Há uma maneira, mas não diga a ninguém. Este é um segredo terrível.
Execute uma pesquisa no site no google - negociando em site TF não padrão:mql4.com e variantes como "advisor on equi (stand-alone) chart, etc.".
Ou espere até que a Junko não aguente e lhe explique pessoalmente :))
 
Diubakin:
Então... COMO FAZER?

Não é segredo. Há muita coisa escrita sobre isso. Não importa que ferramenta foi usada para criar a história. O objetivo é atualizar a tabela para que o Expert Advisor trabalhe nela.

Isto pode ser feito por meio do WinAPI. Já foi descrito aqui muitas vezes. Eu escrevi uma biblioteca. Eu afixei aqui.

Ele contém funções para controlar a atualização autônoma do gráfico. Não requer nenhum roteiro ou especialista. Mas não é para todos. Há também funções disponíveis a todos para atualizar o gráfico a partir de um Expert Advisor, um roteiro ou um indicador. É mais difícil utilizá-los. Porque você tem que pensar em qual de seus programas atualizará o gráfico. Os exemplos estão no roteiro de teste.

 

Caros programadores.

Você pode aconselhar como configurar os valores dos níveis médios móveis exibidos na barra atual?

Não me refiro ao valor da média móvel em si, mas aos valores de seus níveis (desvios para cima e para baixo, que são definidos na guia "Níveis" do menu МА).

Estes valores seguirão os níveis de MA e mudarão por si mesmos.

A figura é uma das variantes possíveis.

Obrigado de antemão.



 
Diubakin:


Eu já entendi sobre o mistério). Eu li os artigos e procurei no fórum, e procurei na busca. Não consigo encontrar a descrição de como utilizar gráficos não padronizados no Strategy Tester, mas não encontrei um exemplo, o que devo fazer para permitir que o Expert Advisor trabalhe em tempo real em tal gráfico.

WinAPI é uma floresta escura para mim. Existe uma maneira de fazer algo em mql4 dentro do construtor ou de seu consultor especializado, ou de combinar o construtor e o consultor especializado?

Não tenho idéia de como utilizá-lo como um consultor especializado no futuro.

Quando eu disse mistério, eu quis dizer o grande mistério da busca. É o fato de que você tem que LER o material que ele lhe mostrará. Tenho medo de lhe dar os links, então eu lhe darei o texto como ele é.

nickbilac 03.09.2007.

...Para que um consultor especializado possa trabalhar em um gráfico autônomo, você precisa acrescentar:

no início do início:

int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message"); /incoming tick for EAs

após a primeira Mensagem Pós-MensagemeA

Mensagem de correio(hwnd,MT4InternalMsg,2,1); /ingresso para EAs

e em WinUser32.mqh nas descrições de funções da user32.dll:

int RegisterWindowMessageA(string lpString);

(esta solução foi sugerida por Slava no fórum inglês)

 
Da correspondência com o corretor - "Os gráficos são utilizados a fim de dar uma idéia sobre o mercado. Ele não pode culpar ..... pelas atualizações porque elas são definidas por padrão para todos os corretores que utilizam a plataforma MT4. De que característica do MT4 estamos falando? Em que casos o preço atualmente exibido no gráfico e na visão geral do mercado não pode ser simultaneamente mercado e executável? Por favor, ajude-me a entender a essência desta declaração. Prefiro os links para a função OrderSend e cito o código da MTS usado para abrir um negócio:

RefreshRates();

ticket=OrderSend(Symbol(),OP_SELLL,0.1,NormalizeDouble(Bid,Digits),0,NormalizeDouble(Ask+15*Point,Digits),0, "test",8,0, red);

Ficarei muito grato pelos comentários dos desenvolvedores.
 

granit77:
Когда я говорил о тайне, то имел в виду великую тайну поиска. Она заключается в том. что надо ПРОЧИТАТЬ материалы, на которые он покажет. Ссылки уже боюсь давать, привожу готовый текст.

nickbilac 03.09.2007

... para que os especialistas possam trabalhar em um cronograma autônomo, você precisa acrescentar:

no início do início:

int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message"); /incoming tick for EAs

após a primeira Mensagem Pós-MensagemeA

Mensagem de correio(hwnd,MT4InternalMsg,2,1); /ingresso para EAs

E em WinUser32.mqh nas descrições de funções user32.dll adicionar:

int RegisterWindowMessageA(string lpString);

Em minha biblioteca há uma função em vez deste código.
 
Será que o RefreshRates(); antes de um tique ajuda a reduzir as solicitações, mesmo que ligeiramente?
 
Shniperson:
Será que o RefreshRates(); antes do bilhete ajudará a reduzir um pouco as solicitações?


Depende da situação. Se você tiver dois pedidos seguidos, faz sentido chamar a RefreshRates() antes de definir o segundo pedido. Olhe, você envia um pedido para o servidor para abrir um pedido. Um certo período de tempo passará enquanto o servidor reage. Durante este tempo, as citações podem mudar, assim que o servidor tiver respondido, precisamos ligar para RefreshRates(), que atualiza os dados no terminal. Agora podemos dar uma ordem para abrir a próxima ordem. Se simplesmente verificarmos se há um sinal e fizermos um pedido imediatamente, não há motivo para chamar a RefreshRates(). A razão é que a função de início é chamada na chegada de um novo sinal e podemos negligenciar o tempo até que a EA verifique o sinal.

O que o bilhete tem a ver com ele? O bilhete é o número de pedido no servidor...

 
Bem, eu quis dizer ticket=OrderSend(......)
 
Shniperson:
Bem, eu quis dizer ticket=OrderSend(......)

E o que eles lhe disseram? ...
Razão: