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 !!!!!!
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.
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.
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 parametersinputint Search_Period=100; // Количество копируемых Highint searchPeriod=(Search_Period<1)?1:Search_Period;
double mass_high[][2]; // массив значений High и их времениMqlRates array[]; // Массив для копирования Open, High, Low, Close, Time//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//---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 é 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.
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:
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).
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
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....
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 ((.
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:
como é que se colocam dois EAs diferentes num só?
É algo parecido com isto:
Vou tentar descobrir. Obrigado.