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

 
Vladimir Karputov:

Verificar no terminal se há carraças na data em 00-00

As carraças estão lá, um erro na função de modificação.

Obrigado.

 

Pode dizer-me se há algum erro no código?

Porque quando este código é adicionado, a velocidade de optimização cai drasticamente

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
if (UseEquityStop)
      {
        // если потеряно TotalEquityRisk (или больше) процентов депозита - закрываем позицию
        double AccountEquity = AccountInfoDouble(ACCOUNT_EQUITY);
        double AccountBalance = AccountInfoDouble(ACCOUNT_BALANCE);
        
        if (AccountEquity <= AccountBalance * (1 - TotalEquityRisk / 100))
          {
            Print("Потеряно ", TotalEquityRisk, "% депозита, принудительное закрытие позиции");
            CloseAllOrders();
          }
      }
//---------------------------------

бла бла код

Existe alguma forma de acelerar a velocidade de optimização?

 
ilyav:

Pode dizer-me se há algum erro no código?

Porque quando este código é adicionado, a velocidade de optimização cai drasticamente

Existe alguma forma de acelerar a velocidade de optimização?

O saldo e a proporção de equidade podem ser calculados uma vez e comparados com o resultado final (não serão necessárias variáveis adicionais)

especificar 100.0 no divisor.

executa verificações e cálculos ociosos a cada tick, mesmo que não existam posições

 

Pode dizer-me por que é que as barras de bollinger neste código simples funcionam tão mal? O código é escrito por defeito o mais possível, para que possa começar a calibrá-lo para um indicador especial.

int OnInit()
  {
      iBands1_handle=iBands(_Symbol,0,peroid,shift,deviation,applied_price);
      return(0);
  } 
  
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   return(rates_total);
  }

O resultado:



 

Ao utilizar a ArrayPrint(), nem todos os elementos da matriz são impressos. Apenas os primeiros 100 e os últimos 100 são impressos. No meio, é gerado um erro

[100-10886] 10787 elementos pulados pela bandeira ARRAYPRINT_LIMIT

O que significa isto?


 
clickaider:

Pode dizer-me por que é que as barras de bollinger neste código simples funcionam tão mal? O código é escrito por defeito o mais possível, por isso posso começar a calibrá-lo para um indicador especial.

O resultado:



Onde está o BB aqui ?
Vê-se lixo em tampão indicador não inicializado e não preenchido.
 
Artyom Trishkin:
Onde está o BB ?
Vê-se lixo num tampão indicador não inicializado e não preenchido.

Obrigado, depois de adicionar a função abaixo do gráfico ganhou vida

ChartIndicatorAdd(ChartID(),0,iBands1_handle);

Resultado:


 

Por favor adicione uma função em Metatrader ao número de comércios abertos quando aparece um sinal.

se ( descrição da condição de abertura do negócio )

int Kolsdel (número de ofícios, tempo de validade em velas, número de velas)

abertura comercial .

Não acredito que perdi esta função em mqvl5 .

 
Лауреат:

Por favor adicione uma função em Metatrader ao número de comércios abertos quando aparece um sinal.

se ( descrição da condição de abertura do negócio )

int Kolsdel (número de ofícios, tempo de validade em velas, número de velas)

abertura comercial .

Lamento, receio que este mqvl5 seja terrível sem esta função.

mql5 tem tudo o que é necessário para que você mesmo faça tal função.
É o vencedor do prémio para os mais preguiçosos? :D
 
Artyom Trishkin:
mql5 tem tudo para fazer tal função por si próprio.
É você o vencedor do prémio para os mais preguiçosos? :D

sim, pode. não consegui encontrar o vídeo no youtube. a documentação é apenas para o mais inteligente.