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

 

Por favor, me diga. Há dois amortecedores com valores no indicador.

Buf1[0]=12.00000;
Buf2[0]=0.00045;

Tentando obter o valor do terceiro tampão.

Buf3[0]=Buf2[0]/Buf1[0];

Nada.

O que eu estou fazendo de errado?

Obrigado.

 
Oleg Bondarev:

Por favor, me diga. Há dois amortecedores com valores no indicador.

Tentando obter o valor do terceiro tampão.

Nada.

O que eu estou fazendo de errado?

Obrigado.

Você não recebe. Você está anotando.

 
Artyom Trishkin:

Você não recebe. Você está anotando.

Eu não entendo.
 

Você atribui um valor ao terceiro buffer. "E nada" é o quê? )))

Como você está tentando obter esse valor?

 
Сергей Таболин:

Você atribui um valor ao terceiro buffer. "E nada" é o quê? )))

Como você está tentando obter esse valor?

Estou atribuindo um quociente entre a divisão dos valores do segundo e do primeiro amortecedor.

Um buffer vazio é obtido.

Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
  • www.mql5.com
Операция инкремента и декремента применяются только к переменным, к константам не применяются. Префиксныe инкремент (++i) и декремент (--k) применяются к переменной непосредственно перед использованием этой переменной в выражении. Могут возникнуть вычислительные проблемы при переносе вышеуказанного выражения из одной среды программирования в...
 
Oleg Bondarev:

Atribuo o quociente de dividir os valores do segundo e primeiro amortecedores.

O buffer está vazio.

Talvez não seja o buffer que está vazio, mas o gráfico?)

 
Oleg Bondarev:

Atribuo o quociente de dividir os valores do segundo e primeiro amortecedores.

Um buffer vazio é obtido.

É assim que funciona.

void OnStart()
{
   double   Buf1[];
   double   Buf2[];
   double   Buf3[];
   
   ArrayResize(Buf1,1);
   ArrayResize(Buf2,1);
   ArrayResize(Buf3,1);
   
   Buf1[0]=12.00000;
   Buf2[0]=0.00045;
   
   Buf3[0]=Buf2[0]/Buf1[0];
   
   ArrayPrint(Buf3);
}
2020.04.18 21:19:09.970 test (EURUSD,H1)        0.00004
 
Сергей Таболин:

É assim que funciona.

Obrigado, mas tenho uma pergunta a fazer. Os amortecedores que eu tenho são indicativos e parecem.

Buf1[0]=Buf1[0]+delta1;
Buf2[0]=Buf2[0]+delta2;

Funcionará sob esta forma?

 
Oleg Bondarev:

Obrigado, mas tenho uma pergunta a fazer. Meus amortecedores são indicativos e têm uma visão.

Funcionará sob esta forma?

O buffer é um conjunto regular. Acho que você está escrevendo perguntas mais longas do que poderia verificar com um simples exemplo. Tudo o que você escreveu vai funcionar e pode até mesmo ser simplificado.

Buf1[0]+=delta1;
Buf2[0]+=delta2;
 
Obrigado a todos por sua ajuda!