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

 

Você pode me dizer como anular um array[10,10,10]?

Eu quero que todos os valores em todos os índices sejam 0.

 
Ivan Butko #:

Você pode me dizer como anular um array[10,10,10]?

Para que todos os valores de todos os índices nele contidos se tornem 0.

Eu não possofazer assim?

ZeroMemory - Общие функции - Справочник MQL4
ZeroMemory - Общие функции - Справочник MQL4
  • docs.mql4.com
ZeroMemory - Общие функции - Справочник MQL4
 
Ivan Butko #:

Você pode me dizer como anular um array[10,10,10]?

Eu quero que todos os valores em todos os índices sejam 0.

Por exemplo, ZeroMemory().
Документация по MQL5: Общие функции / ZeroMemory
Документация по MQL5: Общие функции / ZeroMemory
  • www.mql5.com
ZeroMemory - Общие функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov #:

Não funcionaassim?

Artyom Trishkin #:
Por exemplo, ZeroMemory().

Muito obrigado! Vou tentar

 
Uma coisa curiosa: ao ler a data da barra de minutos mais antiga(iBars(....) cerca de 30000 barras) que está na janela do gráfico, o valor parece ser 1970. Embora o bar lá esteja em algum lugar a partir de fevereiro do ano passado.

Isto é uma especificidade ou a história está confusa?
 
Ivan Butko (iBars(....) cerca de 30000 barras) que está na janela do gráfico, o valor acaba sendo 1970. Embora o bar esteja em algum lugar por volta do mês de fevereiro do ano passado.

Isto é específico, ou a história é confusa?

1 de janeiro de 1970 é um valor nulo no tipo datetime.

 
JRandomTrader #:

1 de janeiro de 1970 é um valor nulo no tipo datetime.

Eu não entendo bem.

Por favor me diga porque iTime(Symbol(), PERIOD_M1, iBars(Symbol(),PERIOD_M1)) = 1970.01.01.01 00:00:00 ?

iBars(Símbolo(),PERÍODO_M1)) = 39487

E iTime(Symbol(), PERIOD_M1, iBars(Symbol(),PERIOD_M1)) + 2 = 2022.02.09 08:04:00


 
Ivan Butko #:

Não muito claro.

Por favor me diga porque iTime(Symbol(), PERIOD_M1, iBars(Symbol(),PERIOD_M1)) = 1970.01.01.01 00:00:00 ?

iBars(Símbolo(),PERÍODO_M1)) = 39487

A função iBars() retorna o número de barras, mas elas são numeradas a partir de zero. Se você colocar o

#property strict

você terá um erro de matriz ultrapassada.

Verifique desta forma

iTime(Symbol(), PERIOD_M1, iBars(Symbol(),PERIOD_M1)-1)
 
Alexey Viktorov #:

A função iBars() retorna o número de barras, mas elas são numeradas a partir de zero. Se você colocar

no início do código, você receberá um erro de overrun de array.

Confira desta forma!

Obrigado!

Funciona!

 

Colegas, estou perplexo. Preciso de alguma ajuda.

Eu tenho um indicador de funcionamento normal, fiz a partir de dois, mas não é essa a questão. Quero ocultar o primeiro bloco de variáveis externas, mas quando retiro qualquer entrada neste bloco após a compilação, o terminal com o indicador instalado no gráfico fica pendurado.

O fragmento de código da linha 76 a 86

input string     01 = "••  Channel:";   // ------------------------------------------------------------
input string     02 = "";       //  

input ENUM_TF_MINUTES   TMA_TimeFrame = TF_CURR;                        // Time Frame
input uint              TMA_Half_Length = 55;                                                                   // Averaging Period
input ENUM_APPLIED_PRICE        TMA_Price = PRICE_CLOSE;        // Applied _Price
input double    TMA_ATR_Multiplier = 3;                                                         // ATR Multiplier
input uint              TMA_ATR_Period = 100;                                                                   // ATR Period
input double    TMA_Band_Deviation_Percent = 50;                        // Band Deviation Percent
input bool              TMA_Interpolate = true;                                                         // Interpolate?
input uint Bars_Limit=1000;

Também fica pendurado se eu mover todo este bloco mais baixo que outras variáveis e mesmo se eu mover as variáveis mais externas para cima ou para baixo:

Se eu mudar a ordem das variáveis dentro do bloco, ele se compila normalmente. O terminal não congela.

Eu não entendo o que está acontecendo. Talvez eu não veja algo óbvio, meu olho está embaçado ((( eu anexei o código

P.S. A questão foi resolvida, o código foi removido.