[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 547

 

Eu queria consolidar a questão com a transferência de parâmetros do link.

Para escrever um simples especialista, por assim dizer.

//+------------------------------------------------------------------+
//|                                                        links.mq4 |
//|                                                              hoz |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "hoz"
#property link      ""

double firstBarClosed,
       secondsBarClosed;
       
int a = 1;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+-------------------------------------------------------------------------------------+
//| Получение цены установки отложенного ордера                                         |
//+-------------------------------------------------------------------------------------+
double GetPriceToInput()
{ 
  double firstBarClosed = iClose(Symbol(),1440,2);                          // Цена закрытия предпоследнего дня
  double secondBarClosed = iClose(Symbol(),1440,1);                         // Цена закрытия последнего дня
  
  if(firstBarClosed > secondBarClosed)                                      // Если закрытие вчерашнего дня ниже закрытия предыдущего..
  {                                                                         //.. (линия по ценам закрытий направлена вниз), то..
    double deltaForSell = (firstBarClosed - secondBarClosed)/2;             // Находим дельту изменения цены до 12 часов текущего дня
    double priceForSell = secondBarClosed - deltaForSell;                   // Вычисляем цену продажи
    return(priceForSell);
  }

  if(firstBarClosed < secondBarClosed)                                      // Если закрытие предыдущего днях ниже закрытия вчерашнего..
  {                                                                         //..(линия по ценам закрытий направлена вверх), то..
    double deltaForBuy = (secondBarClosed - firstBarClosed)/2;              // Находим дельту изменения цены до 12 часов текущего дня
    double priceForBuy = secondBarClosed + deltaForBuy;                     // Вычисляем цену покупки
    return(priceForBuy);
  }
}

void Test(double& a, double& b)
      {
         Print("firstBarClosed = ", firstBarClosed);
         Print("secondsBarClosed = ", secondsBarClosed);
      }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{
   GetPriceToInput();
   
   if(a > 0)
   {
     Test(firstBarClosed, secondsBarClosed);
   }

   return(0);
}
//+------------------------------------------------------------------+

No registro, 0 está sendo constantemente emitido. Por quê?

Em linha:

void Test(double& a, double& b)

Eu não coloquei "primeiroBarClosed" e "segundoBarClosed" porque estes são parâmetros formais. Isto já está na função inicial

if(a > 0)
   {
     Test(firstBarClosed, secondsBarClosed);
   }
 
kolospav:

Nova conta feita para metatrader! dinheiro carregado do Market trader! no site no extrato da conta - há dinheiro. Não entendo nada. O suporte técnico também está em um estupor... Tentando entender isso eu mesmo!


Alguns CDs exigem uma cópia de seu passaporte ou algo similar... Tente abrir uma conta de demonstração por interesse.
 
gheka:


404

A página que você solicitou não foi encontrada

Tente usar a busca ou encontrar as informações necessárias em uma das seções da MQL4.com

Fixou o link. Você mesmo deveria ter descoberto isso. Era um vínculo privado. Você deveria ter retirado o meu.
 
Zhunko:
Corrigido o link. Você poderia ter descoberto isso por conta própria. Era privado. Você deveria ter retirado o meu.


Graças ao .
 
gheka:

como fazer um indicador em um gráfico (linha) em uma EA

Se você correr no testador e verificar a "Visualização", o MA será automaticamente exibido.
Se você precisar assistir no modo atual, basta colocar o MA no gráfico com os parâmetros que você tem no EA. Eles não se relacionarão um com o outro, mas será óbvio
 
Arles:

Você pode me dizer como escrever estas linhas, por favor?

Quero que a Alta seja contada pela MA, não pelo preço. Este código não funciona. Eu preciso de algo semelhante ao iMAOnArray, somente iHIGHOnArray. Mas, tanto quanto sei, não existe tal coisa. Ajuda...


A pergunta não é muito clara: "Quero que o Alto não seja contado pelo preço". Alto[] é um valor predefinido, não podemos mudá-lo, talvez queiramos MA por preço Alto ?
 
pu6ka:

A pergunta não é muito clara: "Quero que o Alto não seja contado pelo preço". Alto[] é um valor pré-definido, não podemos mudá-lo. Talvez queiramos MA por preço Alto ?


Não, nós queremos saber o valor máximo do próprio MA para o período.
 
Arles:

Não, você precisa saber o valor máximo do próprio MA ao longo do período.
Agora eu vejo. Muito provavelmente, temos que criar um array para os valores MA e depois um segundo array para armazenar os valores máximos, ou uma variável se apenas o último valor máximo for necessário.
 
pu6ka:
Agora eu vejo. O mais provável é que você tenha que criar uma matriz para os valores MA e depois uma segunda matriz para armazenar os valores máximos, ou uma variável se apenas o último valor máximo for necessário.


Essa é a questão, eu não sei como fazer isso. Ele precisa estar na forma de um indicador, ou seja, não apenas o último valor.
 

Devo marcar as curvas com setas?

Razão: