Neste artigo
Depois deste artigo, saberá…
- Detetar divisão inteira antes da conversão.
- Escolher dados e modo de teste compatíveis com a regra.
- Comparar custos incluindo compromisso e atividade.
Conceitos sem sair do artigo
Backtesting: teste histórico de regras Comissão Conta de demonstração (demo)Comece pelo produto e pela entidade
MT5 é uma plataforma de vários ativos distribuída por intermediários; instrumentos disponíveis dependem da entidade e conta. Pode incluir futuros de bolsa, moedas e CFD. Estar regulado na UE não significa oferecer MT5. NinjaTrader Desktop também admite várias ligações documentadas; não é sinónimo de uma única corretora de futuros norte-americana.
O guia EEE NinjaTrader identifica Payward Europe Digital Solutions (CY) Limited e remete elegibilidade de residência para o seletor de países da candidatura. Isso não aprova individualmente o requerente. Para Portugal, verifique entidade contratante, instrumento e ligação suportada antes de comparar mensalidades. NinjaTrader: dados, custos e limites da simulação separa software e condições de conta.
Volume e profundidade vêm do instrumento e do fornecedor
Volume de negócios executados numa bolsa e quantidades exibidas no livro de ordens respondem a perguntas diferentes. Ordens visíveis podem desaparecer antes da sua chegada. NinjaTrader não cria Level II ausente da subscrição. MT5 distingue volume de ticks e volume real de negócios quando o símbolo o fornece, incluindo instrumentos de bolsa.
Forex OTC não tem um único fluxo consolidado de volume mundial. Um gráfico da corretora pode mostrar frequência de atualizações, sem medir todas as unidades negociadas globalmente. Um feed de futuros também não representa todo o mercado spot. Compare origem, campo, cobertura e período, em vez de concluir pela marca do terminal.
A fração pode desaparecer antes da conversão
Modelo de migração: int a = 2; int b = 3;. Queremos a proporção de duas condições cumpridas em três, com regra fictícia ratio > 0.5. Em C# e MQL5, (double)(a / b) divide primeiro dois inteiros: resultado 0, convertido depois em 0,0. A fração perdida não regressa.
(double)a / b converte o operando antes da divisão e produz aproximadamente 0,6667, passando o mesmo limiar. Declarar apenas double x = a / b; não altera os operandos: x recebe 0,0 e o teste falha. O exemplo é adimensional;0,6667 não é uma probabilidade estimada de lucro.
Converter depois da divisão dá 0; converter a antes dá 2/3. Só a segunda expressão passa 0,5.
- Depois
- (double)(a / b) → 0 – Não passa
- Antes
- (double)a / b → 0,6667 – Passa
Conversão antes ou depois: o mesmo filtro decide diferente
Desloque horizontalmente ou amplie o diagrama para ler todos os detalhes.
Escreva o resultado esperado de cada fragmento antes de testar a estratégia inteira. Uma divergência pode existir antes da primeira ordem, mesmo com preços idênticos. Confirme no ambiente concreto os tipos, conversões, valores em falta e tratamento de denominador zero. Não oculte a diferença ajustando o limiar até coincidir com a curva desejada.
NinjaScript e MQL5: eventos também fazem parte da regra
NinjaScript usa C# no ambiente NinjaTrader; MT5 usa MQL5. Código existente, bibliotecas e interface da conta são mais úteis que classificar universalmente uma linguagem como fácil. Programas de terceiros continuam a precisar de teste de compatibilidade e comportamento; uma biblioteca não garante semanas de poupança.
Além dos números, verifique quando a condição é calculada, quando a ordem é criada e como se identifica uma ordem já existente após reinício. Evite envio duplicado por desconhecer estado anterior. Expert Advisors: testar regras, posições e resultados desenvolve a estrutura de um EA e confirmação de execução.
Qual simulação responde à pergunta?
No NinjaTrader, Market Replay pode conter Level I e Level II gravados; Historical Playback usa ticks sem profundidade. Strategy Analyzer aplica preenchimentos históricos: Standard utiliza uma trajetória hipotética na barra; High aceita série secundária mais fina. Tick Replay é função distinta de cálculo de scripts e não pode ser combinado com High Order Fill Resolution.
Um limite importante para testar cancelamento: a documentação declara que expiração TimeInForce no fim da sessão não é suportada nas contas Sim101 e Playback101. Um replay que termina sem cancelar não valida essa regra real. Uma fila gravada também não determina a posição da sua futura ordem na fila ou o seu impacto.
MT5 pode usar ticks reais da corretora ou gerados. No modo de ticks reais, minutos sem esses dados podem requerer geração. Um nome de modo não demonstra observações completas. Testar várias moedas exige que o EA utilize realmente esses instrumentos. Genética e processamento distribuído alteram pesquisa ou computação, não corrigem dados em falta.
Inspecione negócios afetados, utilize período separado e preserve critérios antes da avaliação. Nem detalhar preenchimentos nem fazer walk-forward demonstra, sozinho, rendibilidade futura. A hipótese de teste deve corresponder à função que pretende avaliar.
Custo: atividade prevista e compromissos
Uma aplicação MT5 fornecida sem assinatura não elimina custos de conta, dados, comissão, financiamento e alojamento. A tarifa NinjaTrader dos EUA pertence à entidade indicada; Multi-Broker Desktop é outro produto. Confirme condições para a sua residência e contrato.
Modelo próprio, tarifas inventadas: plano A 0,50 USD por lado sem mensalidade; B 0,40 USD por lado mais 49 USD/mês. Um contrato por operação completa e restantes custos iguais. B poupa 0,20 USD por abertura e fecho;49/0,20=245 operações completas por mês é o ponto de equilíbrio.
| Operações completas/mês | A, USD | B, USD |
|---|---|---|
| 100 | 100 | 129 |
| 245 | 245 | 245 |
| 300 | 300 | 289 |
Em quatro meses com 100,400,100 e 400 operações, A permanente custa 1000 USD; B permanente 0,80 × 1000+4 × 49=996 USD. Se o contrato fictício permitir escolha livre antes de cada mês, A nos meses calmos e B nos ativos custa 100+369+100+369=938 USD. Essa flexibilidade é um pressuposto do modelo, não condição real de licença. Não se pode escolher retroativamente depois de conhecer a atividade.
Modelo EUR adicional independente: A 0,50 EUR por lado, B 0,40 EUR por lado mais 49 EUR mensais. Também exige 245 operações para igualar; com 100, B custa 29 EUR mais. Não é conversão de USD para EUR à paridade nem recomendação de aumentar negociações. Prazos de alteração, permanência mínima e taxas de retorno podem eliminar a política flexível.
Duas situações, duas perguntas
Uma pessoa fictícia já tem conta MT5 suportada, dados adequados e código MQL5 testado. Mudar exige uma necessidade concreta, como ligação ou função ausente. Outra pretende praticar sessão de futuros com profundidade gravada: deve confirmar instrumento, data e comportamento das ordens no Market Replay. O menor contrato ou simulador não estabelece risco acessível a qualquer capital.
Comparação executável
- Registe produto, entidade, país, ligação e custo total. Compare a mesma tarefa antes de alterar exposição.
- Na demo suportada, inspecione dados e ordens do tester MT5; no espaço separado NinjaTrader, documente modo, profundidade e limitações TimeInForce.
- Teste conversões numéricas, primeiros eventos de ordem e reinício num fragmento pequeno. Compare atividade real e compromissos antes de pagar licença.
cTrader ou MT5: comparar a tarefa e a conta oferece outra comparação, mas mantenha os mesmos critérios. Mais lucro no relatório é uma observação a explicar, não o critério suficiente para escolher a plataforma.
Verifique o que aprendeu
Aprox. 2 minutos de prática.
Ver resposta e explicação
Converte a antes:2,0/3≈0,6667, acima de 0,5.
Mais perguntas
Qual a diferença essencial?
Compare produto suportado, conta, ligação e tarefa. MT5 pode ter dados de bolsa; NinjaTrader pode ligar vários fornecedores. As condições concretas determinam a escolha.
Qual linguagem escolher?
NinjaScript/C# e MQL5 têm APIs e eventos diferentes. Código, bibliotecas e interface da conta orientam a decisão. Teste tipos e estado, sem uma classificação universal de dificuldade.
Qual backtest é mais fiel?
Não há vencedor universal. Compare dados, preenchimento e regra específica. TimeInForce não suportado no simulador e ticks gerados em lacunas são limites materiais.
Quando uma mensalidade compensa?
No modelo inventado 49 USD/0,20 USD=245 operações completas de um contrato, assumindo outros custos iguais. Permanência e possibilidade de mudar plano alteram a comparação; não aumente atividade para recuperar mensalidade.
Fontes e verificação
- Microsoft: operadores aritméticos C#
Divisão inteira e conversão de operando para ponto flutuante.
- MQL5: conversão de tipos
Ordem das operações, divisão inteira e conversão antes da divisão.
- NinjaTrader: preenchimento histórico
Standard/High e série secundária; incompatibilidade com Tick Replay.
- NinjaTrader: configuração Playback
Dados gravados/históricos e TimeInForce sem expiração de sessão em Sim101/Playback101.
- MT5: modos de ticks
Ticks reais e geração em minutos sem dados.
- NinjaTrader: conta EEE
Entidade e países elegíveis, distintos de tarifas dos EUA.
Os cálculos usam pressupostos explícitos. Não substituem os dados atuais do mercado nem as condições do prestador.
