Artem, seu trailing PSAR não está funcionando corretamente. Não posso explicar isso em palavras, mas observe atentamente cada fechamento. Ele fecha na hora errada e não fecha na hora certa. Pode fechar comprado em um PSAR descendente, mas só deveria fechar em um PSAR ascendente. Pode pular várias trocas de PSAR, embora tenha havido condições de fechamento durante elas.
Há muita simplificação no código - ele apenas pega o valor do PSAR e o usa como SL. Acho que isso deve funcionar para os movimentos.
Dê uma olhada em como eu controlo a condição de fechamento:
if (tick.ask > PSAR_BufClose[0] && PSAR_BufClose[1] < PSAR_BufClose[0]) { buy = PSAR_CloseWeight; return; } if (tick.bid < PSAR_BufClose[0] && PSAR_BufClose[1] > PSAR_BufClose[0]) { sell = PSAR_CloseWeight; return; } if (tick.bid < PSAR_BufClose[0] && tick.ask > PSAR_BufClose[1] && PSAR_BufClose[1] < PSAR_BufClose[0]) { buy = PSAR_CloseWeight; return; } if (tick.bid < PSAR_BufClose[1] && tick.ask > PSAR_BufClose[0] && PSAR_BufClose[1] > PSAR_BufClose[0]) { sell = PSAR_CloseWeight; return; }
Aqui o PSAR é usado para emitir um sinal em vez de definir um SL móvel, mas a essência é a mesma.
Para fazer isso, você precisa manter posições virtuais no robô. E definir paradas com ordens pendentes.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Como criar qualquer tipo de Trailing Stop e anexá-lo ao EA foi publicado:
Neste artigo, vamos analisar classes para a criação conveniente de diferentes tipos de trailing stops. Vamos aprender a anexar o trailing stop a qualquer EA.
Dando continuidade ao tema do trailing stop, iniciado no artigo anterior, hoje vamos analisar classes de trailing para facilitar a criação de vários algoritmos de trailing do StopLoss de posições. Com base nas classes criadas, será possível desenvolver qualquer algoritmo de ajuste de stops: por deslocamento do stop em relação ao preço atual, por indicadores, por níveis de StopLoss especificados, etc. Após a leitura do artigo, poderemos criar e anexar a qualquer EA qualquer algoritmo de ajuste de stops das posições. Além disso, a conexão e o uso do trailing serão fáceis e claros.
Vamos rever brevemente o algoritmo de funcionamento de um trailing stop. Vamos estabelecer que, para cada trailing, podem ser usadas três condições de operação:
Esses três parâmetros podem ser aplicados a qualquer trailing. Qualquer um desses parâmetros pode estar presente nas configurações do trailing ou ausente, se não for necessário ou substituído por algum valor no algoritmo de trailing. Um exemplo de substituição do parâmetro "distância do trailing" pode ser o valor do indicador, onde o stop-loss da posição é definido. Nesse caso, se esse parâmetro for ativado, o stop será definido não no preço indicado pelo indicador, mas com um desvio do preço indicado no valor da distância em pontos.
Autor: Artyom Trishkin