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

 
WindSW:
Por favor, diga-me como ver quanta memória o Expert Advisor ocupa e como é redistribuída?

O Gestor de Tarefas do Windows deverá ser suficiente para si.

Vejaeste artigo.

Em geral, desmonte o seu Expert Advisor em scripts, faça com que todas as funções funcionem, e depois monte-as numa pilha.

 
WindSW:

E no entanto não consigo perceber porque é que os níveis não são criados usando o ObjectCreate. Todas as funções funcionam, mas não são criados objectos OBJ_TREND

Existem variáveis definidas a nível global:

string oRes, oSup, oPP, oRes1, oRes2, oRes3, oSup1, oSup2, oSup3, textPP, textR1, textR2, textR3, textS1, textS2, textS3;

O código que deve criar os níveis:

Pessoal, ajudem a resolver isto. Por favor

Os níveis são criados, só que não são visíveis)

Definir as coordenadas - hora / preço. Tem zeros por todo o lado.

 
Dima_S:

Os níveis são criados, só que não os pode ver)

Definir as coordenadas - hora / preço. Tem aí zeros sólidos.

Faz um objecto sem encadernações, depois modifica-o. Aqui.

O objecto não é criado por causa do nome incorrecto (não atribuído). (Acima já respondeu). Consequentemente, não pode ser modificado para o ver.

 
fyords:

Bem, digamos que declarou variáveis a nível global, atribuiu valores a estas variáveis?

Se não, então diz-se ao programa "criar um objecto com características de sucção e tais com o nome..." e há um problema - o nome não é dado. Por isso, não a cria.

Não seria mais fácil especificá-lo directamente no código ObjectCreate?

Obrigado! Por alguma razão não pensei fazer isso de imediato, porque na versão 4 o nome do objecto também está definido.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов - Документация по MQL5
 

Não consigo obter uma correcção para o erro de transbordamento da matriz. Escrevi sobre o assunto na página 88. O Expert Advisor trabalha há já algum tempo e cai. Para ser mais exacto, funciona uma passagem do início ao fim do Expert Advisor e na segunda passagem do laço abaixo do laço, indicando um cordão:

H=High[j];

void CreateLevels()
   {
      double High[];
      ArrayResize(High,0);
      ArraySetAsSeries(High,true);
      CopyHigh(_Symbol,_Period,0,Candle,High);
      ArrayResize(HBar,0);
      ArrayResize(HBar,1000);
      int countH=0;
      int f1;
      double H;
      for(int j=Nachalo;j<=Candle;j++)
         {
          //--- поиск макс -----------------------------------
          if(iHighest(Symbol(),0,10,MN*2,j-MN)==j)
            {
             f1=0;
             H=High[j];                                 // отметка текущего хая
             ...                                        // здесь обработка флага f1
             if(f1==0)                                  // если занесение хая в массив разрешено
               {
                HBar[countH][0]=High[j];
                countH++;
               }
            }
         }
   }

Mais importante ainda, não compreendo como é que a matriz High[] transborda, uma vez que é especificado um número específico de paraísos? E porque é que o terminal indica transbordo em cordel H=Alto[j]; ?

Por favor, pode dizer-me como implementá-lo correctamente? É possível anular o alto[] da matriz ou escrever o alto de uma determinada vela na variável H de alguma outra forma?

 
WindSW:

Tente desta forma:

for(int j=Nachalo;j< Candle;j++)

Base: a indexação da matriz começa em zero, portanto quando Candle==100 o último elemento da matriz é indexado pelo número 99, e não pelo número 100.

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
Yedelkin:

Tente desta forma:

Base: a indexação da matriz começa em zero, portanto quando Candle==100 o último elemento da matriz é indexado pelo número 99, e não pelo número 100.

Obrigado! Ajudou!
 

Boa tarde! Encontrei o seguinte problema... Gerou um consultor especializado... Corre-o em futuros do índice RTS. E aí, os lotes não são fracionários = não funciona a gestão de dinheiro, e as cotações são múltiplos de 10 = a paragem de arrasto não funciona. Aconselha-se, é possível resolver este problema?

Eu sei arredondar os valores do iMa para 10 ou 5, como último recurso penso em fazer uma paragem de trilha separadamente.

 
oldiol: Se a minha EA não tem lotes fracionários = não trabalha na gestão de dinheiro, e citações múltiplas de 10 = não trabalha na paragem de rastreio. Aconselha-se, é possível resolver este problema?

A ferramenta tem uma propriedade Volume_Step. Veja se o pode utilizar para volumes não-fracionais.

Para citações divisíveis por 10, basta fazer com que o passo da paragem do percurso seja o mesmo.

 
Yedelkin:

A ferramenta tem uma propriedade Volume_Step. Veja se o pode utilizar para volumes não-fracionais.

E para citações divisíveis por 10, basta fazer com que o passo da paragem do percurso seja o mesmo.

Muito obrigado) Vou tentar.