Ephemeris Trade Calendar
- Utilitários
-
Syarief Azman Bin Rosli
Olá e seja bem-vindo ao meu perfil oficial no MQL5!
Sou Syarief Azman Bin Rosli, desenvolvedor de sistemas de trading algorítmico e engenheiro de software quantitativo com mais de uma década de experiência especializada na criação de Expert Advisors para MetaTrader 5 e MetaTrader 4. - Versão: 1.0
- Ativações: 5
Ephemeris Trade Calendar - o histórico da sua conta como calendário mensal de lucros (MT4)
Ephemeris Trade Calendar transforma o histórico do MetaTrader 4 num calendário mensal de lucros no gráfico. Cada operação fechada cai no seu dia: as células são coloridas pelo resultado, mostram ganhos e perdas e somam-se em totais semanais. Um painel inferior alterna entre estatísticas, um mapa de vantagem (P/L por dia e hora de entrada mais uma curva das operações fechadas) e o livro do dia, e um medidor TODAY acompanha a sua meta diária e o limite de perda. Em gráficos reais e demo ele apenas lê o histórico: nunca abre, modifica ou fecha uma operação.
Início rápido
- Anexe-o a qualquer gráfico (qualquer símbolo e período). Algo Trading não é necessário.
- Na janela Terminal abra Histórico da conta, clique com o botão direito e escolha All History. O MT4 só entrega aos programas o histórico carregado nessa aba; um período menor deixa vazios os meses antigos e torna as percentagens aproximadas.
- Opcional: defina Symbol Filter e Magic Filter para seguir um símbolo ou um EA, e Daily Target / Daily Loss Limit para o medidor TODAY.
- Verifique: o selo mostra TRACKING n TRADES e o mês se preenche. Clique num dia para abrir o seu livro.
O painel
Cabeçalho
- LED: violeta normal, verde meta atingida, vermelho limite de perda atingido, âmbar dentro de 80% do limite, cinza sem operações fechadas.
- `<>` move o painel para o canto seguinte. `[-]` recolhe-o numa cápsula EPHEMERIS com o P/L de hoje (fechado + flutuante); `[+]` expande-o.
- Subtítulo: #conta, moeda e filtros: ALL SYM, o símbolo do gráfico ou LIST(n); ALL MAGIC, MANUAL ou MAGIC(n); NET (swap e comissão incluídos) ou GROSS.
- Selo: TRACKING n TRADES, NO CLOSED TRADES, CHECK FILTER LIST (filtro de lista com lista vazia), TARGET REACHED, LOSS LIMIT HIT, NEAR LOSS LIMIT. Alguns segundos após uma ação: EXPORTED n TRADES, m DAYS, EXPORT FAILED (código de erro), HISTORY RELOADED, AUTOSCROLL OFF, DAY NOT ON CHART.
Navegação de meses
`<<` mês anterior, `>>` mês seguinte (até o atual), TODAY volta ao mês atual e seleciona hoje. No mês atual o calendário acompanha a data à meia-noite.
Calendário
- Colunas MO a SU (ou SU a SA) mais WEEK.
- Célula do dia: número, valor na unidade atual e ganhos/perdas como 2W 1L (operações com líquido zero não contam em nenhum). Verde = lucro líquido, vermelho = perda líquida, tom mais forte = resultado maior em relação ao maior dia do mês; cinza = operou com líquido zero; escuro = sem operações; números claros = meses vizinhos.
- Borda ciano = hoje, borda âmbar = dia selecionado.
- WEEK: total da linha na unidade atual e número de operações (n tr); no modo percentagem, a soma das percentagens diárias.
- Clique numa célula para selecionar o dia e abrir o livro DAY; um dia claro de um mês vizinho muda para esse mês.
Faixa do mês
NET (dinheiro), RETURN (líquido do mês / saldo no início do mês), GREEN DAYS (dias com lucro / dias operados), TRADES, WIN RATE.
Abas e alternadores
- STATS, EDGE e DAY trocam o painel inferior.
- UNIT: MONEY, UNIT: % e UNIT: PTS alternam os valores do calendário: moeda da conta; percentagem do saldo no início daquele dia; pontos (distância de preço / ponto do símbolo, somados entre símbolos).
- SCOPE: MONTH ou SCOPE: ALL aplica STATS e EDGE ao mês visto ou a todo o histórico carregado.
Painel STATS (dinheiro)
Net P/L, Return (líquido / saldo no início do período), Trades, Win rate, Profit factor (lucro bruto / perda bruta; -- sem operações perdedoras), Expectancy (líquido por operação), Avg win, Avg loss, Payoff ratio (ganho médio / perda média), Largest win, Largest loss, Max drawdown (maior queda do P/L acumulado das operações fechadas a partir de um pico, em dinheiro e % do saldo nesse pico), Win streak, Loss streak, Best day e Worst day (com data), Green days (com lucro / operados, %), Swap + comm. Rodapé: SCOPE, LOTS e HISTORY FROM (registro carregado mais antigo).
Painel EDGE (dinheiro)
- ENTRY WEEKDAY: uma barra por dia da semana com o P/L das operações abertas nesse dia (verde para cima, vermelho para baixo, cinza plano = nenhuma). ENTRY HOUR: 24 barras para as horas de entrada 0-23. Ambos seguem Day Shift; as leituras indicam o melhor e o pior dia e hora.
- EQUITY CURVE: P/L acumulado das operações fechadas do período por ordem de fecho (até 82 colunas), turquesa acima de zero, vermelho abaixo, com os valores end e low.
Painel DAY (livro)
Cabeçalho: dia da semana, data, número de operações, líquido, W/L. Colunas TICKET, SYMBOL, SIDE, LOTS, OPEN >CLOSE (hora deslocada; * = aberta ou fechada noutro dia), NET. Sete linhas por página; `<` e `>` mudam de página. GO TO DAY rola o gráfico até esse dia e desliga a rolagem automática (prima End para voltar). Um dia vazio mostra "No closed trades on this day."
Módulo TODAY
closed (líquido fechado de hoje), open (P/L flutuante das operações abertas que passam nos filtros), total. O medidor vai de LIMIT (esquerda) a TARGET (direita) com uma marca de zero; o preenchimento é o valor da meta (fechado + flutuante, ou só fechado). Com ambos em 0 mostra "no target or limit set".
Botões de ação
- PLOT: ON / PLOT: OFF desenha as operações do mês visto no símbolo do gráfico: seta de abertura (azul buy, laranja sell), marca de fecho e linha pontilhada na cor de lucro ou perda, e rótulo do líquido; passe o rato para ver o ticket. As 400 mais recentes são desenhadas; a linha de estado mostra então PLOT n/m.
- EXPORT CSV grava os arquivos abaixo. REFRESH relê o histórico na hora. SYNC hh:mm:ss = última atualização.
Comportamento automático
- O histórico é verificado a cada History Check Interval segundos e em cada tick; o recálculo só ocorre quando mudam o número de registros, a conta ou o dia.
- Só contam operações buy e sell. Ordens pendentes apagadas e registros de saldo e crédito são ignorados (as operações de saldo alimentam as percentagens, nunca o P/L). Um fecho parcial aparece como operações separadas porque o MT4 guarda cada parte fechada com o seu próprio ticket.
- Os dias seguem Assign Trades to Days by e Day Shift from Server Time; o módulo TODAY usa a mesma regra. As percentagens usam o saldo reconstruído para trás a partir do saldo atual.
- Os alertas de meta e limite disparam uma vez por dia cada (de novo após reanexar). Apenas informam: nada é fechado.
- Mês, painel, unidade, período, desenho, canto e estado recolhido mantêm-se ao trocar de período ou símbolo e reiniciam ao reanexar ou alterar as entradas.
- Testador de estratégia: num gráfico o utilitário nunca opera. No testador, onde corre a demo do Market, Sample Trades in the Strategy Tester abre uma operação de amostra de 0.10 lote (ou o mínimo da corretora) às 08, 11, 14 e 17 hora do servidor (direção pela SMA 20 de H1, stop loss 1.2 ATR, take profit 1.6 ATR, margem verificada) e fecha-a às 21, magic 20261105, para o calendário ter histórico a mostrar. Os botões funcionam no testador visual; as células dos dias não podem ser clicadas lá.
Alertas
"daily target reached" quando o valor da meta atinge a meta; "daily loss limit reached" quando cai para menos o limite. Popup Alert on Target or Limit mostra uma janela; Push Notification on Target or Limit envia um push (defina o seu MetaQuotes ID em Ferramentas > Opções > Notificações).
Arquivos e variáveis globais
- EXPORT CSV grava MQL4\Files\Ephemeris\<account>_trades.csv (ticket, symbol, type, lots, hora e preço de abertura/fecho, profit, swap, commission, net, points, magic, day) e <account>_days.csv (day, trades, wins, losses, net, gross profit, gross loss, lots, points, pct_of_balance). Cada exportação sobrescreve-os (Arquivo > Abrir pasta de dados).
- Com Publish Global Variables: EPH_<account>_TODAY_NET (líquido fechado de hoje), EPH_<account>_TODAY_TOTAL (fechado + flutuante), EPH_<account>_GOAL_STATE (1 meta atingida, -1 limite atingido, 0 nenhum). Atualizadas a cada segundo e apagadas ao remover o utilitário.
string a = IntegerToString(AccountNumber());
double goal = GlobalVariableGet("EPH_" + a + "_GOAL_STATE");
if(goal < 0) return; // limite de perda atingido hoje: sem novas entradas - Os objetos do gráfico usam os prefixos EPH_C_ (painel) e EPH_T_ (operações desenhadas); todos são removidos ao sair. Sem DLL.
Entradas
- Symbol Filter (All symbols): All symbols / Chart symbol only / Symbol list.
- Symbol List: separada por vírgulas, sem distinguir maiúsculas; cada entrada corresponde a todo símbolo que comece por ela (EURUSD cobre EURUSDm).
- Magic Filter (All trades): All trades / Manual trades only (magic 0) / Magic number list.
- Magic Number List: números separados por vírgulas.
- Include Swap and Commission (true): false = só lucro bruto (GROSS).
- Assign Trades to Days by (Close time): Close time / Open time.
- Day Shift from Server Time (0, de -12 a 12 horas): move os limites dos dias, as horas de entrada e as horas do livro.
- Week Starts on (Monday): Monday / Sunday.
- Cell Value at Start (Money): Money / Percent of balance / Points.
- Stats Scope at Start (Viewed month): Viewed month / All loaded history.
- Lower Deck at Start (Stats): Stats / Edge map / Day ledger.
- Daily Target (0 = off), Daily Loss Limit (0 = off): valores positivos.
- Target and Limit Unit (Money): Money / Percent of day-start balance.
- Include Floating P/L in the Daily Goal (true).
- Popup Alert on Target or Limit (true), Push Notification on Target or Limit (false).
- Publish Global Variables (false). Plot Trades on Chart at Start (true).
- Profit Color, Loss Color: células, rótulos e desenhos.
- Panel Corner (Top left): Top left / Top right / Bottom right / Bottom left. Panel X Offset (12), Panel Y Offset (24): pixels a partir desse canto.
- Panel Scale (1.0, 0.6-2.0). Start Collapsed (false).
- History Check Interval (2, 1-60 segundos).
- Sample Trades in the Strategy Tester (true): só no testador, ver acima.
Configurações típicas
- Diário da conta inteira: valores padrão, Histórico da conta em All History.
- Um EA: Magic Filter = Magic number list, Magic Number List = o seu magic, PLOT: ON no gráfico dele.
- Proteção diária: Daily Target 1.0, Daily Loss Limit 2.0, Target and Limit Unit = Percent of day-start balance, Push Notification on Target or Limit e Publish Global Variables = true para os seus EAs lerem GOAL_STATE.
- Dias em hora local: Day Shift from Server Time = o seu fuso UTC menos o do servidor (servidor UTC+2, você UTC+8: 6).
Notas
- Só é visível o histórico carregado em Histórico da conta. Os pontos somam-se entre símbolos com tamanhos de ponto diferentes. STATS e EDGE estão sempre em dinheiro.
- As estatísticas descrevem apenas resultados passados; não preveem resultados futuros e operar envolve risco de perda.
