Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1253

 
Igor Makanu:

datetime o_open = OrderOpenTime();

MqlDateTime dt_struct;

TimeToStruct( o_open, dt_struct;)

int min = dt_struct.min;

Senx.
 
Entendo corretamente que novas folhas não podem ser criadas ao escrever para o csv (programmaticamente, a partir do terminal)?
 
Yevhenii Levchenko:
novas folhas ao escrever para o csv
Perplexo. Eu tentei salvar um livro com 3 folhas em csv do Excel:


Há apenas separadores de coluna dentro do csv, acho que não há nenhuma outra marcação
 
Aleksei Stepanenko:
Desconcertante. Tentei do Excel para salvar um livro com 3 folhas para csv:


Só há separadores de coluna dentro do csv, não há outra marcação

Oops! não sabia que esta era uma característica do formato. Eu, ao tentar salvar um livro com várias folhas, ele não cancela a assinatura dessa maneira. Ela apenas apaga a folha anterior e guarda uma nova folha em branco

Obrigado!

 
Yevhenii Levchenko:

De nada :)

 
Bom dia. Por favor, diga-me por favor,escrevi um indicador com Alerta (mensagens e saídas de som sob certas condições), tudo funciona, mas toda vez que eu mudo o Gráfico de tempo, ele dá um sinal novamente. Como posso consertá-lo? O código de alerta é colocado em uma função separada que é chamada para verificar a partir da OnCalculate. Se for apenas uma EA, funciona bem, mas eu preciso dela com representação gráfica como fiz, sem acionar novamente quando da mudança de prazo.
Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Для разработки торговых систем в платформу встроен собственный язык программирования MetaQuotes Language 5 (MQL5), среда разработки MetaEditor и инструменты тестирования стратегий. Любую информацию о разработке торговых стратегий на языке MQL5 можно найти на официальном сайте MQL5.community. На этом же сайте в разделе Code Base могут быть...
 
Progaus:
Boa tarde. Por favor, diga-me por favor,escrevi um indicador com Alerta (mensagens e saídas de som sob certas condições), tudo funciona, mas toda vez que você muda a tabela de tempo, novamente dá um sinal. Como posso consertá-lo? O código de alerta é colocado em uma função separada que é chamada para verificar a partir da OnCalculate. Se for apenas uma EA, funciona bem, mas eu preciso dela com representação gráfica como fiz, sem acionar novamente quando da mudança de prazo.

Quando o cronograma é trocado, o indicador começa a partir de 0.

Assim, devemos ensiná-lo a lembrar que o Alerta já foi emitido - de forma confiável, armazenando tais informações em variáveis globais do terminal ou em um arquivo temporário, e parece ser possível (eu mesmo não o usei) apenas para fazer uma variável estática.

Por exemplo, você pode economizar tempo do último alerta e não apitar um novo alerta se o tempo tiver passado menos de 2 segundos.

 
Maxim Kuznetsov:

Parece ser possível (eu mesmo não a usei) apenas para fazer uma variável estática.

Quando você troca o TF, uma nova cópia do indicador é criada e a antiga é apagada.

para a EA é possível (e necessário ?) usar variáveis estáticas (ou globalmente declaradas) ... há, no entanto, algumas nuances, mas em geral não há problemas

Maxim Kuznetsov:

quando você mudar o cronograma, o indicador começará a partir de 0.

pré-calculado será zerado na primeira chamada do OnCalculated()



ou seja, criar uma variável global do terminal ou um objeto gráfico como um marcador de que o indicador já estava neste gráfico e procurar por este objeto gráfico durante a primeira chamada.

 
Colegas, peçam desculpas imediatamente pela pergunta elementar, é que não estou no meu computador no momento, mas tenho que fazê-lo.
Qual é a melhor maneira de descobrir o tempo atual em minutos.
 
Aleksey Masterov:
Colegas, desculpem imediatamente pela pergunta elementar, eu simplesmente não tenho um computador, mas tenho que ter.
Qual é a melhor maneira de descobrir o tempo atual em minutos.

TimeCurrent()https://www.mql5.com/ru/docs/dateandtime/timecurrent

Use a segunda versão da assinatura desta função:

datetime  TimeCurrent(
   MqlDateTime&  dt_struct      // переменная типа структуры
   );


ZS: Devo dizer imediatamente - funciona em MT4, eu o usei ;)

UPD: no MT4 eu também usei Hora() e Minuto() - eu não os uso por muito tempo, mas eles devem dar o último tempo do servidor em horas e minutos

Razão: