Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1365

 

O que lhe parece ser o melhor cálculo:

//+------------------------------------------------------------------+
//| Расчет цены                                                      |
//+------------------------------------------------------------------+
int CNewBar::PriceHL2(void)
  {
   double pr;
   int res=ArrayResize(this.m_pr_hl2,this.m_rt);
   for(int b=this.m_rt-this.m_pc; b>0; b--)
     {
      pr=MathAbs((iHigh(this.m_symbol,this.m_timeframe,b) + iLow(this.m_symbol,this.m_timeframe,b))/2);
      m_pr_hl2[this.m_rt-b]=pr;//<0 ? NULL : pr;
     }
   return(res);
  }

Ou é melhor sair através de

int  CopyHigh( 
int  CopyLow( 
 
O indicador iCustom pode ser exibido na versão web do terminal?
 

Como declarar uma classe para fazer d[].m[]; classe pública

class CSMA_Greed : public CObject
  {
   CMAOnArray        chsma;
   struct SDoubleArray { double       m[];};
   string            m_symbol;
   ENUM_TIMEFRAMES   m_timeframe;
   int               m_max_period;
   int               rt,prv;
   double            temp;
   string            Symbol(void)         { return this.m_symbol;    }
public:
   SDoubleArray      d[];
                     CSMA_Greed(const string symbol,const ENUM_TIMEFRAMES timeframe,const int max_period);
                    ~CSMA_Greed(void){};
   void              Init(int MaxMAperiod);
   void              Solve(const int aRatesTotal,const int aPrevCalc,const double  &aData[]);
  };

Acontece que existe uma matriz, mas não a consigo tirar

cg.d[1199].m[3720]
 

Interessante

Criou-o no OnInit()

   CNewBar *nb = new CNewBar(Symbol(), n_period);
      if(nb==NULL)
         continue;
      if(!list_new_bar.Add(nb))
        {
         delete nb;
         continue;
        }


Por favor, diga-me se a declaração do parâmetro em funções subsequentes sobrecarrega o sistema

CNewBar* nb = list_new_bar.At(i);
      if(nb == NULL)
         continue;
 
Mikhail Toptunov #:

Interessante

Criou-o no OnInit()


Por favor, diga-me se a declaração de um parâmetro em funções subsequentes sobrecarrega o sistema

Não. Em funções subsequentes não se cria um novo, apenas se obtém um ponteiro para o objecto já criado no OnInit() a partir da lista.

 
Olá. Como posso formular uma condição para abrir um comércio em mql5? Condição: O preço não mudou durante as últimas barras N num determinado período de tempo.
 
Saudações!
Não entrei no MetaTrader 5 durante mais de três meses (estive numa viagem de negócios sem qualquer ligação). Agora não consigo entrar na minha conta de forma alguma.
Como posso voltar a utilizar a conta? Ou pelo menos retirar-lhe fundos?
 
knoughr #:

Em algum lugar num pedaço de papel tem o sítio web do corretor, nome de utilizador e palavra-passe para entrar na sua conta pessoal. Este é o pedaço de papel no qual anotou cuidadosamente todas estas informações quando se registou. Tem um, não tem? Depois é fácil - pode fazer o que for preciso no seu escritório pessoal: fazer depósitos, levantamentos, abrir novas contas, alterar a palavra-passe nas antigas.

E se não o fizer - que não está escondido, a culpa não é minha.
 

Qualquer pessoa pode dizer-lhe como encontrar o valor máximo ou mínimo numa matriz se a matriz tiver valores vazios definidos comoVAZIO_VALOR.


Portanto, esta função não funciona.

//+------------------------------------------------------------------+
//| Получим High для заданного номера бара                           |
//+------------------------------------------------------------------+
double CNewBar::iHighMax(int ot,int bands)
  {
   double result=-1;
   result=m_ExtLowerBuffer[ArrayMaximum(m_ExtLowerBuffer,ot,bands)];
   return(result);
  }

Se eu mudar EMPTY_VALUE para NULL , também não funciona.

Talvez haja uma solução mais fácil para o sistema, caso contrário tentarei resolver o puzzle chinês).

Obrigado antecipadamente, amáveis pessoas.

 
Mikhail Toptunov #:

Qualquer pessoa pode sugerir como encontrar o valor máximo ou mínimo numa matriz se a matriz tiver valores vazios definidos comoVAZIO_VALOR.


Portanto, esta função não funciona.

Se eu mudar EMPTY_VALUE para NULL , também não funciona.

Talvez haja uma solução mais fácil para o sistema, caso contrário tentarei resolver o puzzle chinês).

Obrigado antecipadamente, amáveis pessoas.

Tanto quanto pude compreender, é necessário encontrar um valor máximo de indicador que nunca será igual a zero.

Odeio NULL e aplico sempre 0,0 em valores numéricos que nunca falham.

Razão: