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

 
Boris.45:
Olá, estou a escrever um EA para o MT5. Escrevi um EA em MT5 que quis utilizar para procurar automaticamente os padrões necessários e abrir posições manualmente. Ou seja, não há funções comerciais na EA. O meu problema é que não posso instalar esta EA num gráfico. Não há chamadas indicadoras na EA. Todos os indicadores estão escritos no programa. Compilei-o e executei-o no testador de estratégias. Não houve problemas. Acabei de colocar a EA no gráfico e permiti a sua troca no ecrã, nas definições e na janela da EA que aparece. Em vez da cara sorridente na tabela, o ícone do Expert Advisor aparece na tabela de preços e um círculo verde com um triângulo branco no seu interior. Tentei este procedimento várias vezes e continuo a obter os mesmos resultados. Eu alterei os períodos na tabela de preços, a mensagem de OnDeinit() aparece no monitor, ou seja, uma vela é processada no programa e o trabalho pára.

Dei uma vista de olhos ao livro de bordo:

- Uma das tentativas de instalação de uma EA resultou numa mensagem de alteração de perfil;

- Em todas as outras tentativas, a EA é carregada sem quaisquer problemas.

Eu costumava trabalhar com Perfis: Aumentei o número de Perfis, defini gráficos diferentes em cada Perfil. Se houve aí algo de errado, infelizmente, não o sei. Não sei o que deve ser quebrado para que o programa possa enviar uma mensagem sobre mudança de perfil. Embora seja possível que o fracasso se deva a algum outro motivo. Não é claro para mim.

Para efeitos de teste, criei hoje uma nova EA (modelo) e não escrevi nada nas funções OnInit(), OnDeinit(const int razão), OnTick() e tentei colocar esta EA no gráfico e permitir a negociação.

Tenho a mesma situação que antes.

Por favor, ajude-me a lidar com a situação. Obrigado !!!!!!

Vejamo-lo um a um. Aqui está o modelo:

//+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                              Copyright © 2016, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Trade function                                                   |
//+------------------------------------------------------------------+
void OnTrade()
  {
//---
   
  }
//+------------------------------------------------------------------+

Anexá-lo ao gráfico e uma imagem do gráfico no estúdio, bem como as entradas dos separadores "Journal" e "Advisors" (se lá aparecerem).

Arquivos anexados:
Test.mq5  2 kb
 
Acho que também não há profissionais aqui. piedade......
 
Mihail Marchukajtes:
Presumo que também não haja profissionais aqui. piedade......
Portanto, reimprima os valores do Momentum a partir do gráfico de outra pessoa no testador
 
Artyom Trishkin:
Portanto, reimprima os valores do Momentum a partir do gráfico de outra pessoa no testador
A impressão mostra o que o tampão desenha. Não há informação. Qualquer pessoa pode dar uma resposta sensata???? Especulação não ininteligível....
 
Mihail Marchukajtes:
A impressão mostra o que o tampão desenha. Não há informação. Qualquer pessoa pode dar uma resposta sensata???? Não uma especulação obscura....
Por isso, não dá nenhuma informação. Onde está o seu código? Ou será toda a gente aqui um médium ou algo assim? Depois deve ir ao fórum dos mágicos no décimo grau.
 

Colegas, podem dizer-me como comparar os parâmetros das velas dentro de um determinado intervalo?

Como calcular o valor Máximo ou Mínimo, eu compreendo.

Aqui está o código:

nulo OnTick()

{

duplo H = 0;

para ( turno = Search_Period; shift >0; shift--)

{

se (Alto[turno] > H)

{ H = Alto[turno]; }

Alerta (H);

}

}

Mas o problema é que ela sobrescreve o valor da variável.

O meu objectivo é encontrar, por exemplo, dois ou mais candelabros com o mesmo valor de preço de Alto. Por outras palavras, na ideia, após cada iteração deve ser criada uma variável que irá armazenar o valor, depois outra, e assim por diante, até que todo o intervalo seja verificado. E depois poderão ser comparados.

Mas não tenho ideia de como o fazer ((.

 
Andrey Koldorkin:

Colegas, podem dizer-me como comparar os parâmetros das velas dentro de um determinado intervalo?

Como calcular o valor Máximo ou Mínimo, eu compreendo.

Aqui está o código:

...............


Mas o problema é que ela sobrescreve o valor da variável.

E o meu objectivo, é encontrar, por exemplo, dois ou mais castiçais com o mesmo valor de preço de Alto. Ou seja, na ideia, após cada iteração, deve ser criada uma variável que armazenará o valor, depois outra, e assim por diante, até que todo o intervalo seja verificado. E depois poderão ser comparados.

Mas não tenho ideia de como o fazer ((

É o que parece:

//+------------------------------------------------------------------+
//|                                                     TestCopy.mq4 |
//|              Copyright 2016, Artem A. Trishkin, Skype artmedia70 |
//|                       https://login.mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, Artem A. Trishkin, Skype artmedia70"
#property link      "https://login.mql5.com/ru/users/artmedia70"
#property version   "1.00"
#property strict
#property script_show_inputs
//--- input parameters
input int Search_Period=100;  // Количество копируемых High
int searchPeriod=(Search_Period<1)?1:Search_Period;
double mass_high[][2];        // массив значений High и их времени
MqlRates array[];             // Массив для копирования Open, High, Low, Close, Time
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   int copy_bars=(int)fmin(Search_Period,Bars(Symbol(),Period()));
   if(CopyRates(Symbol(),PERIOD_CURRENT,1,copy_bars,array)>0) {
      double H=0;
      int size_h=0;
      for(int i=0; i<copy_bars; i++) {
         if(array[i].high>H) {
            H=array[i].high;
            size_h++;
            ArrayResize(mass_high,size_h);
            mass_high[size_h-1][0]=H;
            mass_high[size_h-1][1]=(int)array[i].time;
            }
         }
      }
   for(int i=0; i<ArrayRange(mass_high,0); i++) {
      printf("Время: %s, High: %.5f",TimeToString((int)mass_high[i][1],TIME_DATE|TIME_MINUTES),mass_high[i][0]);
      }
  }
//+------------------------------------------------------------------+
 
como escrever dois conselheiros diferentes em um só?
 
Сергей Зырянов:
como é que se colocam dois EAs diferentes num só?
Em que está interessado? Copia-se o código de uma EA para outra, mas é preciso copiá-lo correctamente, se não se entender como fazê-lo, encomendá-lo a um freelancer.
 
Artyom Trishkin:

É algo parecido com isto:

Vou tentar descobrir. Obrigado.

Razão: