Experts: Session Range Desk MT5

Session Range Desk MT5:

EA de breakout com intervalo de sessão, com filtragem ATR, dimensionamento da distância do stop, opção de fechamento no ponto de equilíbrio/fechamento parcial e uma área compartilhada de gráficos. Contas de hedge; recurso educacional com limites de execução e coordenação documentados.

Session Range Desk MT5

Author: Erdem Mumin Kaynak

De modo geral, a abordagem de avaliação de risco é sensata, especialmente o uso da função “OrderCalcProfit()” e as verificações de intervalos de volume e lote mínimo da corretora. Recomendo abordar os seguintes pontos antes de considerar o EA adequado para operação autônoma. Alta prioridade 1. Corrigir o cálculo direcional do lote: “CalcLot()” deve utilizar o tipo de ordem real, o preço de entrada e o preço de stop. Atualmente, o cálculo se baseia em uma relação de preços derivada de COMPRA/PREÇO DE VENDA, mesmo quando a operação final é VENDA. Interface sugerida: CalcLot(orderType, entryPrice, stopPrice, targetRisk). Em seguida, chame “OrderCalcProfit()” utilizando os parâmetros reais de COMPRA/VENDA. Isso é especialmente importante para CFDs, metais, índices e instrumentos com características não triviais de precificação/conversão. 2. Tornar a reserva de risco da mesa atômica. Atualmente, “MaxDailyRiskPct” executa uma sequência de leitura/verificação/atualização que não é atômica. Dois painéis podem visualizar simultaneamente o risco disponível e ambos entrar na operação, fazendo com que a exposição planejada combinada exceda o limite da mesa. Considere implementar: bloquear → ler → validar → reservar → desbloquear → executar → reconciliar com tempo limite/recuperação para ordens com falha. Até lá, “MaxDailyRiskPct” deve continuar sendo claramente descrito como um limite compartilhado de risco planejado, e não como um limite rígido de exposição. 3. Corrigir o tratamento do estado de fechamento no final do dia (EOD) Não marque o fechamento no final do dia como concluído com sucesso quando a corretora rejeitar o fechamento. Distinção de estado recomendada: EOD solicitado Fechamento no final do dia bem-sucedido Fechamento de fim de dia (EOD) com falha → tentar novamente Só marque a ação como concluída após confirmar que a posição correspondente foi de fato fechada. Prioridade média 4. Separar o risco planejado da perda diária real O painel/documentação se beneficiaria ao distinguir: - Risco de SL inicial em aberto - P/L diário realizado - Limite de perda diária. Esses representam conceitos de risco diferentes. 5. Adicionar proteção opcional contra perda diária/patrimônio líquido. Se for desejada a proteção da conta, adicione um mecanismo separado “MaxDailyLossPct” em vez de usar “MaxDailyRiskPct” para essa finalidade. Ele deve persistir após reinicializações e impedir novas entradas após o limite ser atingido. 6. Melhorar o estado de fechamento parcial Diferenciar entre: - fechado com sucesso - rejeitado pela corretora - volume não pode ser dividido - já concluído Isso tornaria a recuperação e os diagnósticos mais confiáveis. 7. Melhorar a persistência de reinicialização/bloqueio diário Manter e reconciliar o estado das entradas diárias com as posições reais da corretora após a reinicialização para evitar cenários de entradas duplicadas. Documentação: Sugiro declarar explicitamente: «"RiskPercent" representa a exposição inicial pretendida ao stop-loss em condições normais de execução. Isso não garante uma perda máxima na conta. "MaxDailyRiskPct" é um limite compartilhado de exposição planejada, não um limite de patrimônio líquido da conta ou de perda diária. Spread, comissão, slippage, gaps, arredondamento de volume, sinais simultâneos e falhas de execução podem fazer com que a exposição/perda real difira.» Ordem de prioridade Se apenas algumas alterações puderem ser feitas para a próxima versão: 1. Corrigir o cálculo de lotes de COMPRA/VENDA 2. Reserva atômica de risco da mesa 3. Fechamento no final do dia (EOD) confirmado/repetível 4. Estado persistente de reinício/entrada diária 5. Proteção opcional rígida contra perda diária/patrimônio líquido O projeto subjacente é adequado para um EA educacional/de código aberto; essas alterações tornariam os controles de risco consideravelmente mais robustos e mais fáceis de compreender.