[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 557

 
maryan.dirtyn >>:
вмешивайтесь плз.. задача проста.. пока цена летит вниз не покупать, пока не будет тика в другую сторону. причем нужно зациклить код в одном месте, пока летит, ничего не трогаем..
Então, faça o que lhe dizem. Deve funcionar. Ou estático no corpo inicial, ou declare seu tmp no cabeçalho com atribuição de, digamos, lm.
 
Svinozavr >>:
Ну так и сделайте как вам предложил. Должно работать. Или статик в теле старт, или в заголовке свою tmp объявите с присвоением, скажем, ляма.
Se você não se importa, o código, por favor.
 
static double tmp=0;  
RefreshRates();
while(Ask<tmp || tmp==0) { 
   tmp=Ask;
   ///
   ///
  }
 

Para quê? Você entrou no laço, atribuiu tmp, depois saiu do laço sem fazer nada, e seguiu em frente... Isso soa como...

double tmp=Ask; while(Ask<=tmp) tmp=Ask; Print("Заработало");
 
maryan.dirtyn >>:

а в чем смисл? вошли в цикл, присвоили tmp, тут же вышли из цикла по сути ничего не сделав, и пошли дальше... разве ето похоже на


E a questão é que um problema bem formulado já é um problema meio resolvido.

Talvez seja a hora de olharmos para os processos misteriosos que têm de ocorrer neste ciclo? E talvez venhamos a ver uma solução diferente para o problema?

 
Por que sobrecarregar o código com coisas que acontecerão no loop ou depois dele... Acho que a tarefa está formulada da forma mais clara possível... mas ainda estou perdido para uma solução.
 
Olhe, é cedo - os telepatas ainda não pararam. Como posso saber o que você vai fazer no loop enquanto o Ask vai ao fundo? Marquei suas ações que não conheço como ///.
Você sabe mesmo o que você quer?)))
 
maryan.dirtyn >>:
ну я давно не новичок уже в mql. за два года уже освоился.. да, мне нужно именно while. кстати к учебнику периодически возращаюсь, а не зевнул ли я чего).. ти не видишь кролика? а он есть.. не все так просто.
Estou perturbado com dúvidas...
 
Tudo que eu preciso é que o Ask vá para baixo e o Expert Advisor não faça nada, assim que o Ask subir um ponto, o código começará novamente do mesmo lugar... é assim tão complicado? Vou para a cama, espero que os telepatas acordem e me dêem algumas dicas.
 

Merda. Bem, insira o retorno no corpo do laço.

===

Na verdade, para que existe lá um loop? Just if(Ask<tmp) {tmp=Ask; return(0);}