Поправить советник

forexFX

forexFX

Участник
Форумчанин
Монет
2,457
Добрый вечер. Помогите поправить советник. Пытался разобраться с кодом, но так и не понял как закрывает ордера, так как не нашёл отдельной функции для закрытия ордеров.
Советник выставляет отложенные ордера по зигзагу. Закрывает по стопу, профиту. Хотелось бы протестировать с мартином. Но когда открыто два ордера в разные стороны, то при достижении профита одной стороной, закрываются сразу два ордера - с профитом, и соответсвенно с минусом противоположный. А хотелось, бы, пускай противополжный и дальше будет торговле, и ждёт следующего ордера в свою сторону. Будет типа - мартингейл. И закрывается эта сторона по профиту уже несколькими ордерами в одну сторону.

Спасибо.
 

Вложения

  • Batman_20.mq4
    42.3 КБ · Просмотры: 10
  • ZigZag_stairs.ex4
    11 КБ · Просмотры: 5
Batman EA — Uma explicação interessante.
O Batman EA é um sistema de negociação automatizado baseado no indicador ZigZag, projetado para identificar máximas e mínimas de preços fractais e colocar ordens pendentes (Buy Stop e Sell Stop) para capturar rompimentos. A lógica é simples e elegante: o EA rastreia os extremos do ZigZag e coloca ordens acima/abaixo deles, esperando uma continuação da tendência após o rompimento.

Arquitetura geral​

O sistema inicializa criando identificadores de indicadores e, a cada tick (OnTick), lê os dados do ZigZag, verifica o mercado e as posições e toma decisões sobre abrir, modificar ou fechar ordens. Variáveis globais (BuffBuy/Sell para extremos, Profit_B/S para lucro/prejuízo, indicadores de existência de ordens) evitam posições duplicadas, mantendo apenas uma por direção .

Lógica de Sinal ZigZag​

O ZigZag filtra o ruído destacando reversões significativas com base nos parâmetros Profundidade, Desvio e Retrocesso. O EA compara BuffBuy0/BuffBuy (máximas) e BuffSell0/BuffSell (mínimas) para detectar novos extremos, o que invalida ordens pendentes antigas.

Abertura de pedidos pendentes​

Para ordens de compra stop: preço de venda abaixo de BuffBuy0 menos RollBack, e a nova máxima ≤ a máxima anterior; entrada = BuffBuy0 + recuo. Similarmente, para ordens de venda stop: preço de compra acima da mínima + RollBack. Stop Loss e Take Profit são proporcionais à distância em pips, levando em consideração o valor do pip; o RollBack protege contra falsos recuos .

Mecanismos de fechamento​

  • Smart Take Profit : Fecha todas as posições quando o lucro for ≥ SmartTakeProfit / lote ($) usando CTrade [– mas como não há versão web, estou usando texto].
  • Rebaixamento máximo : Fechamento com prejuízo > Rebaixamento máximo% do saldo.
  • Ponto de Equilíbrio : Move o Stop Loss para o ponto de equilíbrio + Lucro Mínimo após os pontos de equilíbrio.
  • Trailing Stop : Stop stop dinâmico com ajuste contínuo na distância definida.
    Ordens pendentes são excluídas quando o spread máximo é excedido ou novos extremos são atingidos. A conversão de MQL4 para MQL5 utiliza as funções CTrade, PositionsTotal() e PositionGetDouble() .
 

Вложения

  • BatmanEA_RU.mq5
    7.9 КБ · Просмотры: 1
  • Лайк
Реакции: icywind

Проверенные Брокеры

Реклама

Заработок онлайн

Назад
Верх