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

 
Reshetov:

Estou a fazer algo de errado? Tentar a linha
Alert("Time=",Time[0]);
zero a s não funciona.
 
forexman77:
Talvez eu esteja a fazer algo de errado? Tentar substituir a linha zero por s não funciona.
Escreva exactamente o que pretende obter (a essência do algoritmo). É também um indicador, um guião ou um Expert Advisor?
 
barabashkakvn:
Escreva exactamente o que pretende obter (a essência do algoritmo). Também - é um indicador, um guião ou um Expert Advisor?

O tempo de formação da barra encontrado pela linha abaixo (o mínimo encontrado):

int s=ArrayMaximum(High,i,k);
Não, ainda não é um indicador, é um guião para testes. Utilizá-lo-ei como Conselheiro Especialista no futuro. Utilizá-lo-ei como Conselheiro Especialista no futuro.
 
forexman77:

O tempo de formação da barra encontrado pela linha abaixo(mínimo encontrado):

Não, ainda não é um indicador, é um guião, para testar. Para aprender. Irei utilizá-lo para uma EA no futuro.

Reduziu o número de itens copiados - para facilitar a visualização no gráfico e a compreensão:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   double High[];
   datetime Time[];
   ArraySetAsSeries(High,true);  // индексация элементов массива будет производиться как в таймсериях
   ArraySetAsSeries(Time,true);  // индексация элементов массива будет производиться как в таймсериях
   int i=0;
   int k=10;
//--- копируем цены High баров от "i" в количестве "k"
   CopyHigh(_Symbol,_Period,i,k,High); // теперь в массиве High "k" элементов
   int s=ArrayMaximum(High);           // индекс бара с максимальным значением
   double Maxi=High[ArrayMaximum(High)];  // найдено значение High максимального бара
//--- копируем время Time баров от "i" в количестве "k"
   CopyTime(_Symbol,_Period,i,k,Time);   // теперь в массиве Time "k" элементов
//--- на данный момент в массивах High и Time "k" элементов и они соответствуют друг другу
   Alert("s=",s);
   Alert("Time=",Time[s]);
   Alert("Maxi=",Maxi);
  }
//+------------------------------------------------------------------+
 
barabashkakvn:

Reduziu o número de elementos copiados - para facilitar a visualização no gráfico e a compreensão:

Óptimo! Conta. Assumiu-se a indexação de elementos, mas não sabia como o fazer.
 
A questão é como mudar a cor das ordens de limite de venda na tabela. são verdes como as ordens reais. torná-las cor-de-laranja ou algo assim...
 
trora:
A questão é como mudar a cor das Licitações de Limite de Venda na tabela. são verdes como as verdadeiras licitações. torná-las cor-de-laranja ou algo assim...
Não o podemos fazer através do esquema de cores. Mas existe uma ligação entre a cor dos volumes e a cor de todas as encomendas e encomendas: se alterarmos a cor dos volumes, todas as encomendas e encomendas serão da mesma cor.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков - Документация по MQL5
 

O guião precisa de começar a contar uma série a partir de uma certa data com um certo número de barras para procurar dentro desse número de barras. Seria óptimo, mas a busca é realizada a partir do tempo especificado da direita para a esquerda, enquanto a busca deve ser realizada a partir do tempo especificado e depois dele. A variante com data de início e data de fim não é adequada, porque não há possibilidade de definir o número de barras.

 
forexman77:

O guião precisa de começar a contar uma série a partir de uma certa data com um certo número de barras para procurar dentro desse número de barras. Seria óptimo, mas a busca é realizada a partir do tempo especificado da direita para a esquerda, enquanto a busca deve ser realizada a partir do tempo especificado e depois dele. A variante com data de início e data de fim não é adequada, porque não há possibilidade de definir o número de barras.

Esboçar uma linha temporal manuscrita e numerar as barras. Ou utilizar um screenshot para delinear a situação (de preferência contra um fundo branco).
 
barabashkakvn:
Esboçar a linha do tempo à mão e numerar as barras. Ou num screenshot esboçar a situação (de preferência contra um fundo branco).

Registar o tempo de formação do máximo não é um problema. Não é claro como dizer ao programa para procurar o mínimo nas próximas 8 barras. Ou seja, as barras antes do máximo não são contadas, a pesquisa é feita nas barras depois do máximo. A temporização de e para não é adequada porque é impossível especificar o número de barras nela contidas. A última barra a procurar no gráfico é zero, vamos considerar que não há barras após a última seta.



Razão: