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

 

Artyom Trishkin:

...Acertei, mas da barra errada. Isto tem que ser conhecido e levado em conta.

Ou seja, na aquisição de dados em tempo múltiplo, é preciso confiar no tempo, e recalculá-lo para o número de barras no tempo certo.

Obrigado por seus esclarecimentos.

Assim, se chamarmos o indicador na EA desta forma

ozy_verh=NormalizeDouble(iCustom(NULL, 240, "Ozy", Amplitude, 3, 1), Digits);

e executar a EA em H1, o indicador não será lido a partir de H4 da primeira barra.

Quais serão então as leituras do indicador e como devo fazer corretamente para obter as leituras corretas do indicador do H4?

int TimeFrame = 240;

ozy_verh=NormalizeDouble(iCustom(NULL, TimeFrame, "Ozy", Amplitude,3,iBarShift(Symbol(),TimeFrame,iTime(Symbol(),TimeFrame,1)) ), Digits);


Então, os valores do indicador estarão corretos a partir do H4?



 
mila.com:

Obrigado pelo esclarecimento.

Acontece que se eu chamar o indicador na EA desta forma

ozy_verh=NormalizeDouble(iCustom(NULL, 240, "Ozy", Amplitude, 3, 1), Digits);

e executar a EA em H1, o indicador não será lido a partir de H4 da primeira barra.

Que leituras indicadoras eu recebo então, e como devo fazer corretamente para obter as leituras corretas do t.f. sênior?

int TimeFrame = 240;

ozy_verh=NormalizeDouble(iCustom(NULL, TimeFrame, "Ozy", Amplitude,3,iBarShift(Symbol(),TimeFrame,iTime(Symbol(),TimeFrame,1)) ), Digits);


Então, os valores do indicador estarão corretos a partir do H4?



Se você chama o indicador da maneira como escreveu:

ozy_verh=NormalizeDouble(iCustom(NULL, 240, "Ozy", Amplitude, 3, 1), Digits);

então os dados indicadores serão obtidos do símbolo atual, de PERIOD_H4, do quarto buffer e da primeira barra no cronograma H4.

Você deve ter entendido mal o que eu estava lhe dizendo.

Eis o que quero dizer: se a EA está funcionando no M5 e você obtém dados da barra 1 no M5, então se você quiser ver o que está acontecendo com os preços mais altos, como no H1, então se você obtém o valor do foref H1 mais alto também da barra 1, você não obterá o valor atual, que agora está no H1, mas o valor que estava na última hora. Porque a barra 1 na M5 está dentro da barra 0 na H1.

Isto é o que você tem que levar em conta e era disto que eu estava falando.

 
Vitaly Muzichenko:

Refiro-me ao registro no testador

Adicionado: Monte o código em seu estado normal, revise-o, depois execute-o no testador e leia os erros no registro. Você está dando pedaços de código aqui.

Aqui. Eu entendo sobre os cheques, mas não entendo de onde vem.

Arquivos anexados:
count.mq4  17 kb
 
Artyom Trishkin:

Isto é o que você tem que considerar, e era disto que eu estava falando.

Se eu colocar a EA em M 5 e quiser obter o valor indicador de H1, a partir da primeira barra, então a seguinte entrada está correta?

ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, 1), Digits);
 
mila.com:

Se eu colocar o Expert Advisor no M 5 e quiser obter o valor indicador do H1, desde a primeira barra, então a seguinte entrada está correta?

ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, 1), Digits);

Não. Em vez de 1:

datetime _time1 = iTime(Symbol(), PERIOD_H1, 1);
int      _n     = iBarShift(Symbol(), PERIOD_CURRENT, _time1);
// ваша формула
ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, _n), Digits);
Somente se você usar a EA no servidor ou por conta própria, mas não tiver a tabela H1 aberta também, então você tem que fazer uma verificação extra.
 

Oksana Berenko:

... mas você também não terá um gráfico H1 aberto, então você terá que fazer uma verificação extra.

Obrigado.

Tenho um gráfico M5 aberto, e tenho um EA nele que chama o indicador H1, assim como você escreveu.

De que outros controles eu preciso?

 
mila.com:

Se eu colocar o Expert Advisor no M 5 e quiser obter o valor indicador do H1, a partir da primeira barra, então a seguinte entrada está correta?

ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, 1), Digits);

Certo. Depende da primeira barra de tempo em que você precisa dos dados...

Parece que você ainda não entendeu o que eu estava dizendo...

 
Olá, você poderia me dizer quais são as principais diferenças entre o mt4 e o mt5? ?não vejo grandes diferenças.
 

Tarde ...

se (OrderType()==OP_SELL) CloseOpBuySell("BUY");

se (OrderType()==OP_BUY) CloseOpBuySell("SELL");

Aqui está a condição que eu preciso para fechar uma posição de Venda quando eu abro uma posição de Compra e vice-versa, será que isso acionará?

Estou apenas interessado na parte esquerda OrderType()==OP_SELL

o lado direito funciona quando qualquer sinal é colado ali

Pergunta: "Será que isto vai funcionar?

 
elektrik777:
Olá, você poderia me dizer quais são as principais diferenças entre o mt4 e o mt5? Não vejo grandes diferenças.
As diferenças estão na linguagem de programação para EAs, scripts e indicadores, tudo o resto é o mesmo, exceto que a MT5 pode negociar nas bolsas de valores, a MT4 não pode.
Razão: