MetaTrader5
Urdala_Trol: Um Sistema de Trading Eficiente para MetaTrader 5
Autor da ideia: Sergey Rashevskiy.
Autor do código mq5: barabashkakvn.
Estratégia em Funcionamento
Caso não existam posições abertas (abertas pelo EA), serão abertas duas posições em direções opostas com o lote inicial definido em Lots, e um stop loss igual ao Stop Loss, sem uso de take profit. O stop loss é ajustado com o uso do trailing (os parâmetros Trailing Stop e Trailing Step são aplicados).
Trailing
A primeira modificação da posição move o stop loss para o breakeven ou até mesmo para um pequeno lucro. As modificações subsequentes do Stop Loss aumentam o lucro garantido.
Após isso, há duas opções para a ativação do stop loss:
1. Posição fechada com prejuízo
1.1. Nesse caso, assumimos que a tendência se inverteu. Abra uma posição com um lote maior (adicione Número de lotes mínimos ao volume da posição restante) na direção oposta à posição fechada. Por exemplo, se uma posição de COMPRA não foi lucrativa e foi fechada, então abra uma posição de VENDA com um lote maior. Assim, teremos duas posições na mesma direção.
1.2. Em seguida, operamos apenas na direção obtida: aguarde até que o preço se afaste da posição com menor prejuízo em Step pontos na direção do prejuízo e abra uma posição com um lote maior (adicione Número de lotes mínimos ao volume da posição com menor perda) na direção das posições existentes (como você se lembra, temos uma ou várias posições unidirecionais).
2. Posição fechada com lucro (esta é a posição que foi modificada pelo menos uma vez)
2.1. Assumimos que isso não é uma reversão de tendência, mas um pequeno recuo. Abra uma posição com um lote maior na mesma direção da posição fechada. Por exemplo, se uma posição de COMPRA foi lucrativa e fechada, abra uma ordem de COMPRA com um lote maior. Assim, teremos duas posições na mesma direção.
2.2. Tentamos aplicar trailing depois. Em qualquer caso, um dos Stop Loss vai ser acionado e retornaremos à situação 1 ou à situação 2.
O cálculo das posições de COMPRA e VENDA, o lucro total em COMPRA e o lucro total em VENDA, assim como a busca pela posição de COMPRA e VENDA com menor prejuízo, são realizados em uma única chamada na função CalculateAllPositions.
Entradas
Lots - volume inicial da posição
Número de lotes mínimos - quantidade de lotes mínimos que altera o volume da posição
Stop Loss (em pips)
Trailing Stop (em pips)
Trailing Step (em pips)
Step - passo inicial entre posições de direções diferentes
Mínimo mais próximo (em pips) - distância mínima em uma série de posições
número mágico - identificador único do EA
2018.08.23