Autor da ideia - vgs
Autor do código mq5 - barabashkakvn
ATENÇÃO: Para contas de hedge apenas! O netting é proibido!
O stop loss e o take profit são calculados dentro da dinâmica com base no indicador iATR (Average True Range, ATR) - o valor do indicador na barra #0 é multiplicado pelo Stop Loss (para obter o stop loss) e pela relação Take Profit (para obter o take profit).
Caso haja mais de uma posição aberta e não haja ordem para travar, verifique a possibilidade de fazer a média da posição:
- se houver uma posição de COMPRA e o preço Ask atual cair abaixo do preço de abertura por uma distância igual ou superior a Distância, abra outra posição de COMPRA.
- se houver uma posição de VENDA e o preço Bid atual subir acima do preço de abertura por uma distância igual ou superior a Distância, abra outra posição de VENDA.
Distância é reduzida a valores padrão para pares de quatro dígitos.
O volume da posição aberta pode ser fixo ou calculado dinamicamente:
- volume da posição é fixo - o parâmetro Lots é maior que 0.0, enquanto Risk é igual a 0.0; o parâmetro Lots define o volume da posição (lots)
- volume da posição é dinâmico - o parâmetro Lots é 0.0, enquanto Risk é maior que 0.0; Risk define um risco por operação
O Trailing funciona como um ajustador de stop loss para o ponto de equilíbrio (durante a primeira modificação da posição) e como trailing (para modificações subsequentes). O Trailing Stop é a distância mínima do preço até o stop loss após a modificação, e o Trailing Step é o passo do trailing. Ambos os parâmetros são reduzidos a valores padrão para pares de quatro dígitos.
O parâmetro Bars Control define como o EA opera: na ocorrência de uma nova barra apenas ("true") ou dentro de uma barra ("false").
Formação de Sinais de Trading
O parâmetro geral para sinais de trading: Current Bar é a barra atual.
Filtro de Tendência
O filtro de tendência compara o valor do iMA (Moving Average, MA) na barra atual (Current Bar) com seu valor na barra anterior (Current Bar - 1)
Distância mínima entre o preço e o indicador MA. Para abrir uma COMPRA, o MA deve estar ABAIXO do preço, enquanto para abrir uma VENDA, o MA deve estar ACIMA do preço.
Filtro RSI
O filtro RSI baseia-se na comparação do valor do iRSI (Relative Strength Index, RSI) na barra atual (Current Bar) com os níveis RSI level UP e RSI level DOWN. Para um sinal de abertura de VENDA, o RSI deve exceder RSI level UP, enquanto para um sinal de COMPRA, deve estar abaixo de RSI level DOWN.
Bloqueio
Se houver uma posição aberta e o último preço fechado na mesma direção tiver sido fechado com prejuízo, isso é um pré-requisito para o bloqueio. Vamos checar isso:
- se houver uma posição de COMPRA e a última COMPRA foi fechada com prejuízo, enquanto o preço Ask atual está a uma distância igual ou superior a Distância desta posição de COMPRA, abra mais uma posição de COMPRA. Não importa se é maior ou menor - o valor da distância é considerado absoluto.
- se houver uma posição de VENDA e a última VENDA foi fechada com prejuízo, enquanto o preço Bid atual está a uma distância igual ou superior a Distância desta posição de VENDA, abra mais uma posição de VENDA. Não importa se é maior ou menor - o valor da distância é considerado absoluto.
A detecção do momento de fechamento da posição é realizada em OnTradeTransaction.
EURUSD, M15:

Comentário 0