Freeman: Sistema de Trading para MetaTrader 5

Mike 2018.10.26 03:27 16 0 0
Anexo

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:

freeman

Lista
Comentário 0