Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1193

 
jamalhan2016:
Olá, eu preciso de ajuda? O que devo fazer para transferir uma conta de mql4 para mql5?

é necessário abrir uma conta mt5 e transferir dinheiro dessa conta para uma conta mt5 (com seu corretor)

 
Koldun Zloy:

Você não pode de uma DLL. Esqueça isso. Você não pode, isso é tudo!

É uma pena e estranho que eu tenha aprendido a programar em 3 anos, mas o mql é o mesmo que é agora. Isto certamente não é uma prioridade, mas lentamente (muito lentamente e lentamente) esta questão deve ser estudada.

 
Stanislav Korotky:

Isto é alguma antiguidade (outro servidor é mencionado). Mais de uma vez este ano, há um mês atrás, no MetaQuotes-Demo, uma nova conta demo foi criada normalmente.

Além disso, se o servidor for removido, por que ele é mostrado e pingado no assistente de abertura de conta? A compota acontece apenas no último passo.

Eu abri uma conta no terminal móvel. No início eu tinha que entrar com uma conta mql5 no terminal e depois foi adicionada uma conta demo. Levei uma hora para acrescentá-la, mas funcionou.
 
Valeriy Yastremskiy:
Eu abri uma conta no terminal móvel. No início eu tinha que autorizar minha conta mql5 no terminal e depois a conta demo foi adicionada. Levei uma hora para acrescentá-la, mas funcionou.

Está funcionando bem (instantaneamente) no meu PC agora.

 
Onde o mql4 cria matrizes, o tamanho da matriz mql4 pode ser alterado por meios de terceiros (outras linguagens de programação)?
 
Olá!

Este pode ser um tópico primitivo, mas não importava quantas vezes eu olhasse ao redor, eu não conseguia encontrar uma resposta.

Você pode aconselhar como encontrar programmaticamente objetos de determinado tipo em um gráfico (por exemplo, 4-5), que foram definidos manualmente antes, e salvar seus nomes, coordenadas e outras propriedades no buffer para uso posterior no EA?

Ou, o que seria mais fácil, como ler o nome, coordenadas e outras propriedades de um objeto gráfico no buffer do programa ou um simples conjunto de variáveis imediatamente após sua colocação com o mouse sobre o gráfico?
Assume-se que as propriedades deste objeto podem ser ajustadas manualmente ou pelo mouse, e então estes dados são registrados como os dados finais para uso posterior na EA.
 
vladmirad:
Olá!

Posso estar levantando um tópico primitivo e trivial, mas por mais que tenha olhado ao redor, não encontrei uma resposta.

Você pode aconselhar como encontrar manualmente objetos de um determinado tipo em um gráfico (por exemplo, 4-5) e salvar seus nomes, coordenadas e outras propriedades no buffer para uso posterior no EA?

Ou, o que seria mais fácil, como ler o nome, coordenadas e outras propriedades de um objeto gráfico no buffer do programa ou um simples conjunto de variáveis imediatamente após sua colocação com o mouse sobre o gráfico?
Assume-se que as propriedades deste objeto podem ser ajustadas manualmente ou pelo mouse, e então estes dados são registrados como os dados finais para uso posterior na EA.

Estudo - MQL4 Reference Guide / Graphic Objects / ObjectFind() busca um objeto com o nome especificado, ObjectGet() retorna propriedades (por exemplo, preço de linhas de pontos finais), ObjectSet() muda propriedades. Novamente, o objeto deve ter um nome, há muitas funções que funcionam com objetos. E é claro que você tem que calculá-los corretamente através do loop, não é uma coisa rápida de se fazer. Não sei se você pode devolver o nome do objeto, na verdade, o nome é dado pelo usuário e pode ser salvo em um array e copiado posteriormente para reduzir a carga.

 
vladmirad:
Olá!

Este pode ser um tópico primitivo, mas não importava quantas vezes eu procurasse, não conseguia encontrar nenhuma resposta.

Você pode aconselhar como programar objetos de um determinado tipo em um gráfico (por exemplo, 4-5) que foram definidos manualmente antes e salvar seus nomes, coordenadas e outras propriedades no buffer para uso posterior na EA?

Ou, o que seria mais fácil, como ler o nome, coordenadas e outras propriedades de um objeto gráfico no buffer do programa ou um simples conjunto de variáveis imediatamente após sua colocação com o mouse sobre o gráfico?
Assume-se que as propriedades deste objeto podem ser ajustadas manualmente ou pelo mouse, e então estes dados são registrados como os dados finais para uso posterior na EA.
Olá.
Comece monitorando o estado do gráfico no OnChartEvent() https://www.mql5.com/ru/docs/event_handlers/onchartevent
Há alguns eventos que você precisa:
CHARTEVENT_OBJECT_CREATE Criar um objeto gráfico
CHARTEVENT_OBJECT_CHANGE Alterar as propriedades de um objeto gráfico usando o diálogo de propriedades
CHARTEVENT_OBJECT_DELETE Apagar um objeto gráfico
https://www.mql5.com/ru/docs/event_handlers/onchartevent
Registrar todos os parâmetros no manipulador OnChartEvent() e ver seus valores quando você adicionar/modificar/apagar objetos gráficos. Isto lhe dará direção para onde ir.
 
vladmirad:
Olá!

Posso estar levantando um tema primitivo e obsoleto, mas quantas vezes procurei, não consegui encontrar uma resposta.

Como posso encontrar manualmente objetos de um determinado tipo em um gráfico (por exemplo, 4-5) e salvar seus nomes, coordenadas e outras propriedades no buffer para uso posterior no EA?

Ou, o que seria mais fácil, como ler o nome, coordenadas e outras propriedades de um objeto gráfico no buffer do programa ou um simples conjunto de variáveis imediatamente após sua colocação com o mouse sobre o gráfico?
Assume-se que as propriedades deste objeto podem ser ajustadas manualmente ou pelo mouse, e então estes dados são registrados como os dados finais para uso posterior na EA.

Você pode encontrar e registrar objetos de um determinado tipo com suas coordenadas como segue:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart(){
  int total = ObjectsTotal(0, subwin, type);
  int i = 0;
  string name;
  datetime time1, time2;
  double price1, price2;
  for(; i < total; i++) {
    name = ObjectName(0, i, subwin, type);
    Print("Object: \"", name, "\"");
    time1 = (datetime)ObjectGetInteger(0, name, OBJPROP_TIME, 0);
    time2 = (datetime)ObjectGetInteger(0, name, OBJPROP_TIME, 1);
    price1 = ObjectGetDouble(0, name, OBJPROP_PRICE, 0);
    price2 = ObjectGetDouble(0, name, OBJPROP_PRICE, 1);
    Print("Time1: ", TimeToString(time1), "; Price1: ", DoubleToString(price1, Digits()), "; Time2: ", TimeToString(time2), "; Price2: ", DoubleToString(price2, Digits()), ".");
  }
}

Você pode salvar qualquer dado em um arquivo. E no Expert Advisor, faça um carregador que adicionará os objetos apropriados, e então carregue os dados do arquivo para dentro deles. Mas você pelo menos esboça um código fonte para sua tarefa específica e o publica aqui.

Arquivos anexados:
ObjGet.mq5  4 kb
 
Seric29:

Estudo - MQL4 Reference Guide / Graphic Objects / ObjectFind() busca um objeto com o nome especificado, ObjectGet() retorna propriedades (por exemplo, preço de linhas de pontos finais), ObjectSet() muda propriedades. Novamente, o objeto deve ter um nome, há muitas funções que funcionam com objetos. E é claro que você tem que calculá-las corretamente através do loop, não é uma coisa rápida de se fazer. Não sei se você pode devolver o nome do objeto, na verdade o nome é dado pelo usuário e pode ser salvo em um array e copiado posteriormente para reduzir a carga.

Obrigado pelo conselho, estou ciente destas funções.
Mas como podemos usá-los para detectar automaticamente um objeto em um gráfico e ler seus parâmetros, se não soubermos seu nome a priori?
Ao desenhar um objeto em um gráfico com um mouse, o sistema dá seu nome.

Naturalmente, não é difícil organizar a entrada manual de todos os dados necessários do objeto a partir de sua tabela de propriedades, mas então por que a automação?
Mas como passar o nome do objeto programmaticamente para a EA, e então todas as funções que você mencionou podem ser ativadas, ainda não está claro para mim...

Razão: