Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
cdb42d9
Add files from C:\Nova pasta
wesleyzilva Feb 24, 2026
f33b719
adequação de branchs
wesleyzilva Feb 24, 2026
66ca9b7
...
wesleyzilva Feb 24, 2026
1fb2997
ajustes de nomes e organização
wesleyzilva Feb 24, 2026
e74182c
reorganização para que a nova branch fique em ordem do que já foi est…
wesleyzilva Feb 24, 2026
83c70b6
reorganização
wesleyzilva Feb 24, 2026
d507e23
Ajustes de candles de rejeição e zonas de rejeição.
wesleyzilva Feb 24, 2026
361bfcf
Ajustes de volatilidade por horario durante o pregão B3 WIN
wesleyzilva Feb 24, 2026
5f1b0f0
Ajustes de corte de horario de operação
wesleyzilva Feb 24, 2026
b3e4fee
Ajsutes para identificaçao de Força de ATR entre 30 e 70
wesleyzilva Feb 25, 2026
71caf2d
ajuste de forças em zona de IFR para operçaão
wesleyzilva Feb 26, 2026
67bf975
ajustes
wesleyzilva Feb 26, 2026
cbb1581
Adiciona alarmes IFR em 10, 50 e 90
wesleyzilva Mar 2, 2026
2f69303
Cria indicador mar_IFR_reversaoComVolume com alertas IFR
wesleyzilva Mar 2, 2026
39804be
Adiciona pasta automacao_backtests na raiz
wesleyzilva Mar 2, 2026
9d2e9d4
Remove alarme de IFR 50 dos indicadores
wesleyzilva Mar 2, 2026
e907bd6
Analise de 50 possiveis robos via IFR e seus resultados em diferentes…
wesleyzilva Mar 2, 2026
0dc9264
top 10 IFR
wesleyzilva Mar 2, 2026
7dc7039
Atualiza top10 IFR e adiciona indicadores de cores marco2026
wesleyzilva Mar 2, 2026
e102f97
Atualiza arquivos de analise IFR
wesleyzilva Mar 2, 2026
608a77b
Adiciona gestao de risco e reset semanal fixo nos robos top10
wesleyzilva Mar 2, 2026
78c740f
Aprimora top4 com OCO/breakeven parametrizavel e hard lock
wesleyzilva Mar 2, 2026
e1af58a
Adiciona ruleset JSON para proteger branch marco_Tradeoperador
wesleyzilva Mar 2, 2026
5fc9a8a
Atualiza ruleset, reorganiza teoria de medias e ajusta arquivo de estudo
wesleyzilva Mar 3, 2026
b6fb8c6
feat: gerar 50 robos de medias e atualizar docs/cores
wesleyzilva Mar 3, 2026
4a37749
docs: atualizar diario e ranking de melhores IFR
wesleyzilva Mar 3, 2026
9095b57
Atualiza estrutura e configurações do workspace para robôs traders
wesleyzilva Mar 7, 2026
88ce53e
Adiciona instruções, estrutura e atualizações do workspace
wesleyzilva Mar 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
38 changes: 38 additions & 0 deletions .github/rulesets/marco_Tradeoperador.ruleset.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"name": "protect-marco_Tradeoperador",
"target": "branch",
"enforcement": "active",
"bypass_actors": [
{
"actor_id": 5,
"actor_type": "RepositoryRole",
"bypass_mode": "always"
}
],
"conditions": {
"ref_name": {
"include": [
"refs/heads/marco_Tradeoperador"
],
"exclude": []
}
},
"rules": [
{
"type": "deletion"
},
{
"type": "non_fast_forward"
},
{
"type": "pull_request",
"parameters": {
"required_approving_review_count": 1,
"dismiss_stale_reviews_on_push": true,
"require_code_owner_review": false,
"require_last_push_approval": true,
"required_review_thread_resolution": true
}
}
]
}
11 changes: 11 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"python.defaultInterpreterPath": "C:/Users/zilva/AppData/Local/Programs/Python/Python312/python.exe",
"chat.tools.terminal.autoApprove": {
"ForEach-Object": true,
"1..50": true,
"/^\\$ErrorActionPreference = 'Stop';\n\\$root = 'c:\\\\Users\\\\zilva\\\\RepoRobos-marco_Tradeoperador\\\\automacao_backtests\\\\CANDLE1A4';\nNew-Item -ItemType Directory -Path \\$root -Force \\| Out-Null;\n\n\\$catalogLines = @\\(\\);\n\\$catalogLines \\+= 'CATÁLOGO - 50 ROBÔS CANDLE1A4 \\(CANDLE 1 -> CANDLE 2 CONFIRMAÇÃO -> CANDLE 3/PRÓXIMA REJEIÇÃO SAÍDA\\)';\n\\$catalogLines \\+= '';\n\\$catalogLines \\+= 'Objetivo';\n\\$catalogLines \\+= '- Estratégias para timeframes menores focadas exclusivamente na leitura do Candle 1 do dia\\.';\n\\$catalogLines \\+= '- Entrada no Candle 2 por confirmação da direção do Candle 1\\.';\n\\$catalogLines \\+= '- Saída por rejeição a partir do Candle 3; se não houver, mantém até próxima rejeição \\(com limite de barras\\)\\.';\n\\$catalogLines \\+= '';\n\n\\$combos = @\\(\\);\nfor \\(\\$i = 1; \\$i -le 50; \\$i\\+\\+\\) \\{\n \\$confirmMode = \\(\\(\\$i - 1\\) % 3\\) \\+ 1;\n \\$rejectionMode = \\(\\(\\[math\\]::Floor\\(\\(\\$i - 1\\) / 3\\)\\) % 3\\) \\+ 1;\n \\$minBody = 0\\.35 \\+ \\(0\\.05 \\* \\(\\(\\(\\$i - 1\\) % 5\\)\\)\\);\n \\$minRange = 8 \\+ \\(\\(\\(\\$i - 1\\) % 6\\) \\* 2\\);\n \\$confirmBody = 0\\.40 \\+ \\(0\\.05 \\* \\(\\(\\(\\$i - 1\\) % 4\\)\\)\\);\n \\$wickRatio = 1\\.20 \\+ \\(0\\.20 \\* \\(\\(\\(\\$i - 1\\) % 4\\)\\)\\);\n \\$maxBars = 6 \\+ \\(\\(\\(\\$i - 1\\) % 8\\)\\);\n\n \\$name = \\('robo_candle1a4_v\\{0:D2\\}_cm\\{1\\}_rm\\{2\\}_tfcurto' -f \\$i, \\$confirmMode, \\$rejectionMode\\);\n \\$combos \\+= \\[pscustomobject\\]@\\{\n Index = \\$i\n Name = \\$name\n ConfirmMode = \\$confirmMode\n RejectionMode = \\$rejectionMode\n MinBody = \\[math\\]::Round\\(\\$minBody, 2\\)\n MinRange = \\$minRange\n ConfirmBody = \\[math\\]::Round\\(\\$confirmBody, 2\\)\n WickRatio = \\[math\\]::Round\\(\\$wickRatio, 2\\)\n MaxBars = \\$maxBars\n \\};\n\\}\n\nforeach \\(\\$c in \\$combos\\) \\{\n \\$catalogLines \\+= \\('\\{0\\}\\. \\{1\\} \\| ConfirmacaoModo=\\{2\\} \\| RejeicaoModo=\\{3\\} \\| MinPercCorpoC1=\\{4\\} \\| MinRangeC1=\\{5\\} \\| ConfirmacaoC2MinPerc=\\{6\\} \\| RazaoPavio=\\{7\\} \\| MaxBarrasPosicao=\\{8\\}' -f \\$c\\.Index, \\$c\\.Name, \\$c\\.ConfirmMode, \\$c\\.RejectionMode, \\$c\\.MinBody, \\$c\\.MinRange, \\$c\\.ConfirmBody, \\$c\\.WickRatio, \\$c\\.MaxBars\\);\n\\}\n\n\\$catalogPath = Join-Path \\$root 'catalogo_50_opcoes_candle1a4\\.txt';\nSet-Content -Path \\$catalogPath -Value \\(\\$catalogLines -join \\[Environment\\]::NewLine\\) -Encoding UTF8;\n\n\\$template = @'\n\\{\n Estrategia: __STRATEGY_NAME__\n Autor: Copilot\n Descricao: Estrategia Candle1a4 para timeframes menores\\.\n Candle 1 define direcao; Candle 2 confirma entrada; Candle 3 ou proxima rejeicao encerra\\.\n\\}\n\ninput\n MinPercCorpoC1\\(__MIN_BODY__\\);\n MinRangeC1\\(__MIN_RANGE__\\);\n ConfirmacaoModo\\(__CONFIRM_MODE__\\); \\{1=rompimento C1, 2=continuidade corpo C2, 3=fechamento alem de 50% do C1\\}\n ConfirmacaoC2MinPerc\\(__CONFIRM_BODY__\\);\n RejeicaoModo\\(__REJECTION_MODE__\\); \\{1=pavio dominante contrario, 2=engolfo contrario, 3=falha de continuidade\\}\n MinRazaoPavioRejeicao\\(__WICK_RATIO__\\);\n MaxBarrasPosicao\\(__MAX_BARS__\\);\n\nvar\n iCandlesDia, iBarrasPosicao : integer;\n iDataAtual, iDataAnterior : integer;\n c1Open, c1High, c1Low, c1Close : float;\n c1Body, c1Range, c2Body, c2Range : float;\n cTopoCorpo, cFundoCorpo, cPavioSup, cPavioInf, cBodyAtual : float;\n cMeioC1 : float;\n bC1Valido, bConfirmacaoCompra, bConfirmacaoVenda, bRejeicao, bEntrouNoDia : boolean;\n\nbegin\n iDataAtual := Date;\n\n if \\(iDataAtual <> iDataAnterior\\) then\n begin\n iDataAnterior := iDataAtual;\n iCandlesDia := 0;\n iBarrasPosicao := 0;\n bC1Valido := false;\n bConfirmacaoCompra := false;\n bConfirmacaoVenda := false;\n bRejeicao := false;\n bEntrouNoDia := false;\n c1Open := 0;\n c1High := 0;\n c1Low := 0;\n c1Close := 0;\n end;\n\n iCandlesDia := iCandlesDia \\+ 1;\n\n if \\(iCandlesDia = 1\\) then\n begin\n c1Open := Open;\n c1High := High;\n c1Low := Low;\n c1Close := Close;\n c1Body := Abs\\(c1Close - c1Open\\);\n c1Range := c1High - c1Low;\n\n if \\(c1Range <= 0\\) then\n c1Range := 1;\n\n bC1Valido := \\(c1Range >= MinRangeC1\\) and \\(\\(c1Body / c1Range\\) >= MinPercCorpoC1\\);\n end;\n\n if \\(iCandlesDia = 2\\) and \\(not bEntrouNoDia\\) and \\(not IsBought\\) and \\(not IsSold\\) and bC1Valido then\n begin\n c2Body := Abs\\(Close - Open\\);\n c2Range := High - Low;\n\n if \\(c2Range <= 0\\) then\n c2Range := 1;\n\n cMeioC1 := \\(c1Open \\+ c1Close\\) / 2;\n\n bConfirmacaoCompra := false;\n bConfirmacaoVenda := false;\n\n if \\(c1Close > c1Open\\) then\n begin\n if \\(ConfirmacaoModo = 1\\) then\n bConfirmacaoCompra := Close > c1High\n else if \\(ConfirmacaoModo = 2\\) then\n bConfirmacaoCompra := \\(Close > Open\\) and \\(\\(c2Body / c2Range\\) >= ConfirmacaoC2MinPerc\\)\n else\n bConfirmacaoCompra := \\(Close > Open\\) and \\(Close > cMeioC1\\);\n end\n else if \\(c1Close < c1Open\\) then\n begin\n if \\(ConfirmacaoModo = 1\\) then\n bConfirmacaoVenda := Close < c1Low\n else if \\(ConfirmacaoModo = 2\\) then\n bConfirmacaoVenda := \\(Close < Open\\) and \\(\\(c2Body / c2Range\\) >= ConfirmacaoC2MinPerc\\)\n else\n bConfirmacaoVenda := \\(Close < Open\\) and \\(Close < cMeioC1\\);\n end;\n\n if bConfirmacaoCompra then\n begin\n BuyAtMarket;\n bEntrouNoDia := true;\n end\n else if bConfirmacaoVenda then\n begin\n SellShortAtMarket;\n bEntrouNoDia := true;\n end;\n end;\n\n if IsBought or IsSold then\n iBarrasPosicao := iBarrasPosicao \\+ 1\n else\n iBarrasPosicao := 0;\n\n if IsBought or IsSold then\n begin\n if \\(Open >= Close\\) then\n begin\n cTopoCorpo := Open;\n cFundoCorpo := Close;\n end\n else\n begin\n cTopoCorpo := Close;\n cFundoCorpo := Open;\n end;\n\n cPavioSup := High - cTopoCorpo;\n cPavioInf := cFundoCorpo - Low;\n cBodyAtual := Abs\\(Close - Open\\);\n\n if \\(cBodyAtual <= 0\\) then\n cBodyAtual := 0\\.01;\n\n bRejeicao := false;\n\n if \\(iCandlesDia >= 3\\) then\n begin\n if IsBought then\n begin\n if \\(RejeicaoModo = 1\\) then\n bRejeicao := \\(Close < Open\\) and \\(cPavioSup >= \\(MinRazaoPavioRejeicao \\* cBodyAtual\\)\\)\n else if \\(RejeicaoModo = 2\\) then\n bRejeicao := \\(Close < Open\\) and \\(Close < Open\\[1\\]\\) and \\(Open > Close\\[1\\]\\)\n else\n bRejeicao := \\(High > High\\[1\\]\\) and \\(Close < Open\\) and \\(Close < \\(\\(High \\+ Low\\) / 2\\)\\);\n end\n else if IsSold then\n begin\n if \\(RejeicaoModo = 1\\) then\n bRejeicao := \\(Close > Open\\) and \\(cPavioInf >= \\(MinRazaoPavioRejeicao \\* cBodyAtual\\)\\)\n else if \\(RejeicaoModo = 2\\) then\n bRejeicao := \\(Close > Open\\) and \\(Close > Open\\[1\\]\\) and \\(Open < Close\\[1\\]\\)\n else\n bRejeicao := \\(Low < Low\\[1\\]\\) and \\(Close > Open\\) and \\(Close > \\(\\(High \\+ Low\\) / 2\\)\\);\n end;\n end;\n\n if bRejeicao then\n ClosePosition;\n\n if \\(iBarrasPosicao >= MaxBarrasPosicao\\) then\n ClosePosition;\n end;\nend;\n'@;\n\nforeach \\(\\$c in \\$combos\\) \\{\n \\$content = \\$template\n \\.Replace\\('__STRATEGY_NAME__', \\$c\\.Name\\)\n \\.Replace\\('__MIN_BODY__', \\[string\\]\\$c\\.MinBody\\)\n \\.Replace\\('__MIN_RANGE__', \\[string\\]\\$c\\.MinRange\\)\n \\.Replace\\('__CONFIRM_MODE__', \\[string\\]\\$c\\.ConfirmMode\\)\n \\.Replace\\('__CONFIRM_BODY__', \\[string\\]\\$c\\.ConfirmBody\\)\n \\.Replace\\('__REJECTION_MODE__', \\[string\\]\\$c\\.RejectionMode\\)\n \\.Replace\\('__WICK_RATIO__', \\[string\\]\\$c\\.WickRatio\\)\n \\.Replace\\('__MAX_BARS__', \\[string\\]\\$c\\.MaxBars\\);\n\n \\$filePath = Join-Path \\$root \\(\\$c\\.Name \\+ '\\.txt'\\);\n Set-Content -Path \\$filePath -Value \\$content -Encoding UTF8;\n\\}\n\n'Criados: ' \\+ \\(\\(Get-ChildItem -Path \\$root -Filter 'robo_candle1a4_\\*\\.txt'\\)\\.Count\\) \\+ ' robos em ' \\+ \\$root$/": {
"approve": true,
"matchCommandLine": true
}
}
}
41 changes: 41 additions & 0 deletions WorkspaceVScodeGithubCopilot/estrutura_workspace.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Estrutura e Organização do Workspace

## Caminhos principais
- E:\repos\RepoRobos-marco_Tradeoperador\automacao_backtests\ // Robôs separados por temas (IFR, Candle, Médias)
- E:\repos\RepoRobos-marco_Tradeoperador\automacao_backtests\resultados_aprovados_por_timeframe\ // Resultados de backtest aprovados
- E:\repos\RepoRobos-marco_Tradeoperador\automacao_backtests\top10\ // Robôs aprovados para simulação
- E:\repos\RepoRobos-marco_Tradeoperador\profit_estudos_cores\ // Teorias convertidas em .ntfl
- E:\repos\RepoRobos-marco_Tradeoperador\estudo_teorias\ // Teorias em .md
- c:\dev\ // Configurações, scripts auxiliares, templates

## Fluxo de trabalho
0. Analisar as teorias
1. Gerar NTFL para a teoria que estamos abordando para termos uma visualização do tema.
2. Gerar robôs (50+) em automacao_backtests, separados por tema das teorias
3. Testar todos em backtest, salvar resultados em resultados_aprovados_por_timeframe
4. Reprovar/descartar os que não passaram. Preciso dos robos que tenham a maior taxa de ações operacoes vencedoras e que não me façam quebrar.
5. Selecionar top 10 para simulação (pasta top10)
6. Registrar logs, teorias e estudos em profit_estudos_cores e estudo_teorias

## Regras de organização
- Cada robô deve ter um arquivo e um log de teste
- Resultados aprovados ficam em resultados_aprovados_por_timeframe
- Teorias e estudos devem ser salvos em .md ou .ntfl conforme o tipo
- Configurações e scripts auxiliares ficam em c:\dev

## Checklist de boas práticas
- [ ] Workspace VS Code configurado (.vscode/settings.json)
- [ ] Estrutura de pastas conforme modelo
- [ ] Robôs versionados no Git
- [ ] Logs e resultados organizados
- [ ] Teorias documentadas

## Orientações rápidas
- Sempre abra o workspace pela pasta raiz (E:\repos\RepoRobos-marco_Tradeoperador)
- Use o arquivo estrutura_workspace.md como referência
- Utilize o Copilot para dúvidas complexas e refatorações
- Mantenha o top10 atualizado com os melhores robôs

---

> Este arquivo serve como referência para organização, fluxo e boas práticas do workspace.
89 changes: 89 additions & 0 deletions WorkspaceVScodeGithubCopilot/setup_workspace.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Setup Workspace VS Code para Robôs Traders

## Passo a passo

1. **Instale o VS Code**
- Baixe em https://code.visualstudio.com/

2. **Instale o GitHub Copilot**
- Abra o VS Code
- Extensions (Ctrl+Shift+X)
- Procure por "GitHub Copilot" e instale

3. **Faça login no GitHub**
- Clique no ícone do Copilot
- Faça login com sua conta GitHub

4. **Configuração do workspace**
- Crie uma pasta para seus robôs
- Organize subpastas por estratégia, resultados, logs

5. **Instale extensões úteis**
- Python (Microsoft)
- Jupyter
- GitLens
- Prettier
- VSCode-icons

6. **Configuração do ambiente**
- Configure o Python (Ctrl+Shift+P > Python: Select Interpreter)
- Instale bibliotecas (pandas, numpy, matplotlib)

7. **Otimize o Copilot**
- Use comentários claros para pedir sugestões
- Ative o Copilot Chat
- Use snippets/templates

8. **Integre com o GitHub**
- Configure o Git (Ctrl+Shift+P > Git: Clone)
- Faça commits e pushes

9. **Dicas de produtividade**
- Use atalhos (Ctrl+P, Ctrl+Shift+F)
- Use terminal integrado
- Use Copilot Chat para dúvidas e exemplos

---

## Sugestão de estrutura de pastas

- automacao_backtests/
- IFR_RSI/
- CANDLE1A4/
- MEDIAS_9_20_50_200/
- estudo_teorias/
- profit_estudos_cores/

---

## Checklist para robôs traders

- [ ] Stop-loss implementado
- [ ] Drawdown diário/semanal
- [ ] Perda máxima da carteira
- [ ] Log padronizado
- [ ] Controle de contratos
- [ ] Versionamento Git
- [ ] Testes e simulações

---

## Como pedir sugestões ao Copilot

- Comente: `// Gerar função de stop-loss`
- Use Copilot Chat: "Explique o cálculo de payoff"
- Peça refatoração: "Refatore para Python"

---

## Links úteis

- [VS Code](https://code.visualstudio.com/)
- [GitHub Copilot](https://github.com/features/copilot)
- [Python Extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
- [GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens)
- [Jupyter](https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter)

---

> Este arquivo foi gerado automaticamente com base nas recomendações do chat.
Empty file added automacao_backtests/.gitkeep
Empty file.
Loading