Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 238

 
Ventura:

Artyom, obrigado, eu estava esperando por seu conselho. Enquanto esperava, eu mesmo estava procurando por possíveis soluções. Esta manhã descobri como mostrar a janela de ajustes de forma programática !

Descobri que a janela é chamada pressionando F7. Uma pesquisa na Internet mostrou que eu posso fazer uma exibição de teclas de função usando MQL.

O resto é uma questão de técnica. Estou colando o código aqui para compartilhá-lo com você se alguém puder achá-lo útil:

BuyStop duplo externo, SellStop;

...

Seja bem-vindo. Você pode esperar muito tempo por minha resposta/aconselhamento :) Outros já lhe disseram a mesma coisa.

Não há solução para o mercado. E você precisa da PostMessageW()

 
Ventura:

Mas eu me regozijei muito cedo. Consegui abrir programticamente a janela de parâmetros, mas os valores que atribuí aos parâmetros no procedimento não foram salvos (((

Ou seja, quando abro a janela de parâmetros, vejo os valores especificados durante a inicialização, no meu caso zeros.

Existe alguma forma de fazer com que os valores calculados sejam transferidos para o formulário de parâmetros?

Não. Os parâmetros de chamada com F7 sairão da EA via OnDeInit e iniciarão a EA novamente via OnInit. É assim que a EA funciona em um gráfico. Crusty nem sequer funciona. A forma de parâmetro só funciona de uma forma, os valores internos e externos são lidos programmaticamente lá (em 5ka não há externo, a propósito) antes que a EA seja inicializada. A segunda vez que o OnInit não é chamado durante a operação atual da EA.

Você só pode puxar o código EA, fazer alterações lá, compilá-lo e chamar o formulário de parâmetros))))) Um painel semelhante à forma dos parâmetros é mais correto...

 
Valeriy Yastremskiy:

Não. A chamada de parâmetros com F7 termina a EA via OnDeInit, e inicia a EA novamente via OnInit. É assim que a EA funciona no gráfico. Não fica nem mesmo crocante. A forma de parâmetro só funciona de uma forma, os valores internos e externos são lidos programmaticamente lá (em 5ka não há externo, por sinal) antes que a EA seja inicializada. A segunda vez que o OnInit não é chamado durante a operação atual da EA.

A única maneira de cruzar é puxar o código EA, fazer alterações lá, compilá-lo e chamar o formulário de parâmetros)))) Um painel semelhante à forma dos parâmetros é mais correto...

Obrigado, vou tentar. Pensei em outra variante - chamar a forma dos parâmetros, depois pelas funções API para escrever nos campos Edit valores de parâmetros.

A propósito, como fazer quando inicio uma EA, o formulário de parâmetros NÃO deve ser mostrado? Eu o chamo programático, portanto não há sentido no primeiro programa.

 
Ventura:

Obrigado, vou tentar. Pensei em outra opção - chamar a forma dos parâmetros, depois por funções API para escrever nos campos Edit os valores dos parâmetros.

A propósito, você poderia aconselhar como fazer com que o formulário de parâmetros NÃO seja mostrado ao iniciar a EA? Eu o chamo programático, portanto não há sentido no primeiro programa.

gerar programmaticamente um modelo com todos os parâmetros necessários e depois ChartApplyTemplate()

 
Ventura:

Obrigado, vou tentar. Pensei em outra opção - chamar a forma dos parâmetros, depois por funções API para escrever nos campos Edit os valores dos parâmetros.

A propósito, você poderia aconselhar como fazer com que o formulário de parâmetros NÃO apareça no início do Expert Advisor? Eu o chamo programático, portanto não há sentido no primeiro programa.

Não entendo a lógica por que fazer isso) Existe OOP, qualquer EA pode ser envolvida em uma classe, e chamá-la de dentro de uma classe com parâmetros obtidos / calculados como desejado. E isso sem deixar o escopo do μl.

Eu não sei como fazer um formulário para não ser mostrado no início manual.

Se for necessário mais, é possível escrever parâmetros no parammysov.set e lê-lo. Mas este é um complemento complexo.

 
Maxim Kuznetsov:

gerar programmaticamente um modelo com todos os parâmetros necessários e depois ChartApplyTemplate()

Maxim, genial! Eu não sabia que as configurações da EA são salvas em um modelo. Esta opção é a mais fácil, portanto, vou fazer desta forma. Há apenas um problema - ele não mostra a forma dos parâmetros na inicialização.

Mas não é crítico, eu só precisaria mais uma vez pressionar ОК.

 

olá, ajude-me a criar um algoritmo simples onde as ordens antigas sejam apagadas se forem formadas novas...

 

Gente. MT4 Não funciona. Mostra o horário de ontem às 23:59. A mesma situação on-line. A mesma situação a partir do telefone via internet móvel. O que é isso?

 
dvimax:

Gente. MT4 Não funciona. Mostra o horário de ontem às 23:59. A mesma situação on-line. A mesma situação a partir do telefone via internet móvel. O que é isso?

Posso adivinhar que é um dia de folga.

 
Caros senhores! Como restaurar os nomes não identificados dos instrumentos sob a tabela MT4