Autor da ideia - Yúri, autor do código MQ5 - barabashkakvn.
O EA calcula o preço "redondo" superior e inferior mais próximo, dependendo do passo Step of the "round" number para ver como funciona o cálculo do preço "redondo", comente a linha em OnDeinit:
//+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- how Math() function works: return;
Ao descarregar o Expert Advisor do gráfico, um exemplo será impresso na guia "Especialistas". Para a colocação inicial da ordem pendente, é verificada a posição do preço e do indicador iAMA (Adaptive Moving Average, AMA).
Além disso, é definido o tempo de vida de cada ordem pendente: à última hora conhecida do servidor é adicionado o tempo Life time of the pending order (especificado em horas).
Para posições BUY e SELL, é usado um trailing separado - Trailing Stop BUY e Trailing Stop SELL.
Teste EURUSD,H1:

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/20132
MathCeilRoundFloor
Exemplo de como trabalham as funções MathCeil, MathRound e MathFloor.
Fractured Fractals
O EA trabalha segundo o indicador Fractals: este indicador define ordens pendentes e move o Stop-Loss nas posições.
Volume Average
Método de análise de volume amplamente conhecido.
Instantaneous Trend Line (generalized)
Esta versão difere do original, porque, para cálculos, em vez do parâmetro de fração alpha, é usado um período. Isso traz o indicador na mesma categoria das médias móveis, e seu uso se torna um pouco mais intuitivo do que a versão original.