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

 
Roman Sharanov:

nenhum dado histórico diz alguma coisa?

Obrigado por sua resposta.

 
Igor Makanu:

Você parece ter sido informado pelo testador que não há dados do histórico, pressione F2 e baixe o histórico, depois recarregue o terminal

Tudo feito, muito obrigado, está funcionando.

 
Olá, pessoal! Precisa novamente de sua ajuda! Você pode me dizer como fazer uma seqüência de números N() a partir de 1 ?
int N() {   int n;                      
       n=N();
       return(n+1);}
//+------------------------------------------------------------------+  
void OpenBS() { ....       
    if( ((OpenB-Ask)/ma+TimeB/60) > N() ) { 
        if( OrderSend(Symbol(),OP_BUY,0.01,Ask,3,0,0,NULL,123,0,1)>0 ) {N()} }}
O que mudar para fazer o N() girar do OpenBS() vazio ?
 
Rustam Bikbulatov:
Olá, pessoal! Precisa novamente de sua ajuda! Você pode me dizer como fazer uma seqüência de números N() a partir de 1 ? o que mudar int para fazer N() girar a partir de OpenBS() vazio ?

Talvez assim

int N()
  {
   static int n=0;                      
   n++;
   return n;
  }
 
Konstantin Nikitin:

Que tal isto

Muito obrigado!!!! Você poderia me dizer de que outra forma zerar? Por exemplo, se houver pedidos, então é calculado. Se não há ordens, é zerada.

int N()
  {  static int n;
        {if((fMarketOrdersBuy(OP_BUY)==0)) { 
        n=0;}}
        {if((fMarketOrdersBuy(OP_BUY)>=1)) {                       
        n++;}}
   return n;
  }
Por que este método não funciona?
 
Rustam Bikbulatov:

Muito obrigado!!!! Você pode me dizer de que outra forma zerar? Por exemplo, se houver pedidos, então é calculado. Se não há ordens, então é zerada.

int N(const int r=0)
  {
   static int n=0;                      
   n = (r==0 ? n : r==1 ? n+1 : 0); // 0-просто возвращаем n, 1-прибавляем 1, в любом другом случае обнуляем
/*
   n = (r>0 ? n+1 : r<0 ? 0 : n); // 0-просто возвращаем n, больше 0 прибавляем 1, меньше 0 обнуляем
*/
   return n;
  }
 
Konstantin Nikitin:

Não há cálculo algum. É zero. Obrigado (risos) Vou investigar isso).

 
Rustam Bikbulatov:

Não há cálculo algum. É zero. Obrigado (risos) Vou investigar isso).

Bem, você tem que pedir por isso.

N(1);  // прибавит 1, и вернет новый результат.
N(-1); // обнулит и вернет 0
N();   // вернет тот результат который есть без изменений
 
Konstantin Nikitin:

É assim que você pede

mas como você faz isso na forma de ?

        if((fMarketOrdersBuy(OP_BUY)==0)) { 
        ...}
        if((fMarketOrdersBuy(OP_BUY)>=1)) {                       
        ...}
 
Konstantin Nikitin:

É assim que se chama.

Acabei de notar que a int funciona por si só, independentemente da chamada para esta função. É possível substituí-lo por um tipo vazio?