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 629

 
TarasBY:
Qualquer tarefa pode ser resolvida de diferentes maneiras. Sexto ano no mercado, mas nunca teve a necessidade de mudar a Magik (mesmo nos dias da "juventude verde").
Há todo tipo de coisa. Por exemplo, se a gestão de cargos precisar ser transferida para outra EA.
 
tara:
Há todo tipo de coisa. Por exemplo, se a gestão de cargos precisar ser transferida para outro conselheiro.
Bem, se o outro assessor também for seu próprio, então você pode alimentá-lo com qualquer mágico adicional.
 
tara:
Há todo tipo de coisa. Por exemplo, se a gestão de cargos precisar ser transferida para outra EA.
Divido uma EA em duas partes: analítica e comercial. A parte analítica é única para cada EA, mas a parte administrativa é a mesma para todas elas (talvez nem todas as funções administrativas estejam envolvidas em cada EA). E não preciso de ordens de transferência entre EAs.
 

Rummaged através da ajuda e pesquisou o site, mas não conseguiu encontrar nenhum exemplo da função MessageBox. Por favor, informe:

1. É possível mudar a localização da janela exibida pela MessageBox?

2. Posso mudar os nomes dos botões, por exemplo, de "Ok" e "Cancelar" para "aha" e "nem pensar"?

3. O que as bandeiras MB_DEFBUTTON fazem nesta função - de que botões estamos falando e para que serve?

 

Bom dia (ou noite).

Por favor, informe, se eu fizer o loop do código (por ou enquanto, o que quer que seja), e colocar no loop o código de obter o valor de um dos indicadores (ou o preço em uma variável), ele funcionará?

A variável, que está no loop, receberá seus valores em um novo tick, porque o procedimento é loopado?

 
culler:

Bom dia (ou noite).

Por favor, avise, se eu fizer o loop do código (por ou enquanto, o que quer que seja), e colocar no loop o código de obter o valor de um dos indicadores (ou o preço em uma variável), ele funcionará?

A variável situada no loop receberá sempre um valor com um novo tick, porque o procedimento é loopado?

Em tal loop, antes de, por exemplo, obter o preço Ask (ou algo mais que venha com o tick), coloque RefreshRates() antes desta ação para solicitar o valor Ask atual, não o antigo valor Ask que vinha com o tick que iniciou o loop. Se você solicitar o valor do indicador dentro do laço, o valor atual deve estar correto.

Para ter 100% de certeza, faça um simples Expert Advisor com seu loop e exiba as informações no gráfico através de Comentário(), e você verá imediatamente se os valores estão corretos no loop.
 
paladin80:

Em tal loop, antes de obter, por exemplo, o preço Ask (ou algo que vem com o tick), coloque RefreshRates() antes desta ação para solicitar o valor Ask atual, não o antigo valor Ask que vinha com o tick que iniciou o loop. Se dentro do laço você solicitar o valor do indicador, o valor atual correto deve ser obtido.

Para ter 100% de certeza, faça um simples Expert Advisor com o laço e exiba as informações no gráfico através de Comentário() e você verá imediatamente se os valores obtidos no laço estão corretos.


Obrigado.
Portanto, vai funcionar. Isto é bom.

A propósito, é correto usar esta abordagem em loop, ou é perversa?

Notei que por causa de tal ciclo, o MT4 fica completamente pendurado.

 
culler:


A propósito, esta é a abordagem correta para o ciclo ou é um pouco perversa?

Notei que, por causa deste ciclo, o MT4 desliga completamente.


E há os amantes da perversão. Refiro-me ao looping.
 
Olá a todos. Você pode me dizer como testar uma EA a 0 spread. Talvez algo precise ser prescrito no código.
 
culler:


Obrigado.
Portanto, vai funcionar. Isso é ótimo.

A propósito, esta abordagem do ciclo é correta ou é um pouco perversa?

Eu notei que o loop faz com que o MT4 congele completamente.


Da ajuda"Cada roteiro e cada especialista trabalha em seu próprio fio condutor". "

"Um roteiro em loop ou um Expert Advisor não pode interromper o trabalho de outros programas".

ou seja, o looping pode ser usado.

Estou usando um roteiro e um modelo para estas tarefas:

void OnStart()
  {
   while(!IsStopped()) // пока скрипт не удалён с графика
     {
      bool is_new_tick=RefreshRates();
      // если true значит пришли новые котировки
      if(is_new_tick)
        {
         // код который необходимо выполнять при новых котировках
        }
      //остальной код
      Sleep(100);
     }
  }