[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 173

 
TarasBY:

Esta condição muda de alguma forma no laço:

...Se "não", por que colocá-lo dentro do laço?


Bem, a essência é esta:

Em parâmetros externos seUseFiltrMa = VERDADEIRO, a condição A > B deve ser levada em conta, mas seUseFiltrMa = Falso, a condição não é levada em conta. Esta condição(A > B) não aparece em nenhum outro lugar no código. Eu coloquei este filtro dentro do laço, uma vez que o filtro anterior também está no laço. Afinal de contas, temos uma variedade de fatias. O laço seleciona um número de seqüência de uma máscara (seu índice).

A > B, de acordo com meu código, parece assim:

MA(g_maHigherTF[0]) > MA(g_maHigherTF[1])

Tudo se encaixa aqui, e você pode ver a razão do laço.

 
hoz:


A essência é esta:

Nos parâmetros externos seUseFiltrMa = TRUE, a condição A > B deve ser levada em conta, e seUseFiltrMa = False, a condição não é levada em conta. Esta condição(A > B) não aparece em nenhum outro lugar no código. Eu também coloquei este filtro dentro do laço, já que ele estava no laço antes. Afinal de contas, temos uma variedade de fatias. O laço seleciona um número de seqüência de um vagão (seu índice).

A > B, de acordo com meu código, parece assim:

Tudo está se encaixando aqui, e você pode ver a razão do loop.

Eu nunca vi uma condição de loop que mudasse a condição: se (A > B).

SEMPRE pode haver muitas soluções, e você precisa da maneira como você chegou até aqui...

 
TarasBY:

Ainda não vejo nenhuma condição de loop que mude a condição: se (A > B).

SEMPRE pode haver muitas soluções e você quer a maneira como pensa...


Você não precisa deste laço... Não preste atenção a isso. Você só precisa inserir a condição como escrevi acima:

hoz:

Em parâmetros externos, seUseFiltrMa = VERDADEIRO, a condição A > B deve ser levada em consideração, e seUseFiltrMa = Falso, a condição não é levada em consideração.

SeUseFiltrMa = Falso, então a condiçãoA > B é ignorada! Isso é tudo. Você não precisa de mais nada! Não preste atenção aos loops... é uma longa história, o que vem de onde. Há apenas um bloco. E eu descrevi a tarefa.
 
hoz:


A essência é esta:

Nos parâmetros externos seUseFiltrMa = TRUE, a condição A > B deve ser levada em conta, e seUseFiltrMa = False, a condição não é levada em conta. Esta condição(A > B) não aparece em nenhum outro lugar no código. Eu também coloquei este filtro dentro do laço, já que ele estava no laço antes. Afinal de contas, temos uma variedade de fatias. O laço seleciona um número de seqüência de uma máscara (seu índice).

A > B, de acordo com meu código, parece assim:

Vejam, tudo está se encaixando aqui, e podemos ver a razão do loop.

if(UseFiltrMa == TRUE&& А > B )

  {

     //  

   }

else

  {
   //

  } 
 

pako:

if(UseFiltrMa == TRUE&& А > B )

  {

     //  

   }

else

  {
   //
  }


É assim que eu vejo as coisas. Você não poderia encurtá-lo? Ele pode ser implementado em uma linha. Caso contrário, teremos que esticar o código.

Por exemplo, muitas vezes faço uma inserção como esta antes da função de pedido sem perdas:

if (UseBU)
{
  // Код функции перевода в БУ
}

Mas neste caso, quando a variávelUseBU é definida como Falso, não há necessidade de executar a função mais tarde. É por isso que lá é mais fácil e mais curto. Mas aqui é diferente. Outras condições por código Obrigatório. É por isso que eu penso.

 
hoz:


É assim que eu entendo isso. Você não poderia encurtá-lo? Ele pode ser implementado em uma linha. Caso contrário, você terá que esticar o código.

Por exemplo, muitas vezes faço uma inserção como esta antes da função de pedido sem perdas:

Mas neste caso, quando a variávelUseBU é definida como Falso, não há necessidade de executar a função mais tarde. É por isso que lá é mais fácil e mais curto. Mas aqui é diferente. Outras condições por código Obrigatório. É por isso que eu penso.

Em resumo, assim:

if((UseFiltrMa == TRUE && А > B) || UseFiltrMa == FALSE)
{
  if(..........................
 
borilunad:
Quem sabe, é possível com as variáveis globais Hora(), Minuto(), Segundos() controlar à meia-noite (0,00) a mudança no indicador DailyPivotPoints para novos níveis de RR e outras linhas da EA? Eu fazia antes diretamente no indicador com Hora(), Minuto(), Segundos(), e funcionava sem a necessidade de compilar todas as noites. E, recentemente, parou, talvez de mudar o bild? Obrigado!

Boris, tente fazer esta pergunta na linha profissional.
 
hoz:

Boris, tente fazer esta pergunta na linha profissional.

Obrigado, Victor! Minha versão curta foi criada para você?

if((UseFiltrMa == TRUE && А > B) || UseFiltrMa == FALSE)
{
  if(..........................
 
granit77:
Tente desmarcar a opção "Disable EA on Profile Switch" nas configurações para ver se ela ajuda.

Obrigado. - Vou tentar. Infelizmente, notei a resposta tarde - os mercados estão de folga para o fim de semana. E eu não pude redefinir minhas configurações com o init() de qualquer forma. Embora, em teoria, eles deveriam.

Não tenho certeza porque a MT reajusta suas configurações. Não importa qual seja o prazo; se eu definir os parâmetros nas configurações, eles devem (em teoria) ser salvos em qualquer TF.

 
Bom dia a todos. Você pode me dizer como copiar negócios no Metatrader 4. Para que, abrindo um comércio em um terminal, você possa obter um comércio aberto em outro.