A NeoTraderBot é a primeira comunidade aberta no Brasil com foco em compartilhar informações sobre automatização de estratégias
Objetivo do código: Indicar com clareza a direção de acumulação de agressões na negociação de um ativo, ou seja, o interesse do mercado e de Big Players
Motivação: Indicador para compor um conjunto de ferramentas base para que traders possam elaborar estratégias e robôs
Observações importantes: O Indicador está disponível GRATUITAMENTE COM CÓDIGO FONTE ABERTO no Profit Char. Este ambiente destina-se a coletar sugestões e aperfeiçoarmos o indicador de maneira colaborativa.
Link Youtube com explicação do indicador.
Versão 1.0
// ####################################################################### // ####################################################################### // ####################################################################### // ###### O ####### // ###### ____|____ ####### // ###### _| |_ ####### // ###### (_| O O |_) ####### // ###### |_________| ####### // ###### ####### // ###### ____ __ ____________ ________ ####### // ###### | | \ | | | |_________| / ____ \ ####### // ###### | |\ \ | | | | / / \ \ ####### // ###### | | \ \ | | | |____ | | | | ####### // ###### | | \ \ | | | |____| | | | | ####### // ###### | | \ \ | | | |____| | | | | ####### // ###### | | \ \ | | | | | | | | ####### // ###### | | \ \ | | | |_________ \ \____/ / ####### // ###### |_| \_\|_| |_|_________| \________/ ####### // ###### ####### // ###### _______ __ __ ____ __ ___ __ _______ ####### // ###### | | \ /\ | \ | | \ | \ / \ | ####### // ###### | |__/ /__\ | ||__ |__/ |___/ | | | ####### // ###### | |\ / \ | || |\ | \ | | | ####### // ###### | | \ / \|__/ |____ | \ |___/ \__/ | ####### // ###### ####### // ###### Comunidade aberta de automatização de estratégias para ####### // ###### negociação de ativos ####### // ###### ####### // ###### www.NeoTraderBot.com ####### // ####################################################################### // ####################################################################### // ####################################################################### // // ----------------------------------------------------------------------- // ---------------------- DADOS DA ESTRATÉGIA ---------------------------- // ----------------------------------------------------------------------- // // NOME DA ESTRATÉGIA: _NTB_IND_AgressaoAcumulada // DESENVOLVIDA POR: Johnathas Carvalho // DATA DE CRIAÇÃO: 19/09/2022 // VERSÃO: 1.0 // ATUALIZADA EM: 19/09/2022 // TIPO DE ESTRATÉGIA: (X) Indicador ( ) Coloração ( ) Execução // ( ) Screening ( ) Texto ( ) Alarme // // DESCRIÇÃO DA ESTRATÉGIA: // Esse indicador visa apresentar ao trader a acumulacao do saldo de // agressão quando a agressão permanece na mesma direção. Por exemplo, se // houver uma pressão compradora, o indicador vai acumular a agressão comprado // ra enquanto não houver uma força vendedora suficiente para reverter o saldo // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- // ----------------------------------------------------------------------- // // ######################### FIM DO CABEÇALHO ############################ // // // ----------------------------------------------------------------------- // -------------------------- Constantes --------------------------------- // OBS: São declaradas duas constantes relacionadas aos contratos cheios // futuros de Dolar e Indice // ----------------------------------------------------------------------- //const // --------------------------------------------------------------------- // -------------------------- Parâmetros ------------------------------- // OBS: Segue abaixo a descriação de cada parâmetro // 1) pNumPeriodosAcumulacao -> número de períodos para acumulacao do // saldo de agressão // --------------------------------------------------------------------- input pNumPeriodosAcumulacao(0); // --------------------------------------------------------------------- // ---------------------- Variáveis globais ---------------------------- // OBS: // --------------------------------------------------------------------- var bStarted, bPlotIndicador: boolean; bSentidoAgressao : boolean; // True -> agressão de compra, False -> agressão de venda fSaldoVolumeAgressao: float; fSaldoAcumuladoAgressao: float; iUltimaReversaoSaldo: integer; begin // --------------------------------------------------------------------- // -------------- Lógica de inicialização da estratégia ---------------- // OBS: Esta parte do código é executada apenas na primeira execução da // estratégia // --------------------------------------------------------------------- if Not bStarted then begin //Colocar aqui como deseja inicializar suas variáveis iUltimaReversaoSaldo := CurrentBar; fSaldoVolumeAgressao := AgressionVolBalance; if fSaldoVolumeAgressao >= 0 then bSentidoAgressao := true else bSentidoAgressao := false; bStarted := True; end; // --------------------------------------------------------------------- // --------------------- Cálculo do indicador ------------------------- // OBS: Inserir lógica de cálculo do indicador e caso ele possa ser plo_ // tado, atribuir em algum momento True para variável bPlotIndicador // --------------------------------------------------------------------- bPlotIndicador := True; fSaldoVolumeAgressao := AgressionVolBalance; if (pNumPeriodosAcumulacao = 0) then begin if (fSaldoVolumeAgressao > 0) then bSentidoAgressao := true else if (fSaldoVolumeAgressao < 0) then bSentidoAgressao := false; if bSentidoAgressao <> bSentidoAgressao[1] then iUltimaReversaoSaldo := CurrentBar; fSaldoAcumuladoAgressao := Summation(fSaldoVolumeAgressao, CurrentBar - iUltimaReversaoSaldo + 1); end else fSaldoAcumuladoAgressao := Summation(fSaldoVolumeAgressao, pNumPeriodosAcumulacao); // // --------------------------------------------------------------------- // ------------------ Plota valores do indicador ----------------------- // OBS: Atribuir na sessão anterior o valor para variavel bPlotIndicador // quando for possível plotar um valor para o indicador no instante atual // --------------------------------------------------------------------- if bPlotIndicador then begin if (pNumPeriodosAcumulacao = 0) then begin if bSentidoAgressao then SetPlotColor(1,clGreen) else SetPlotColor(1,clRed); end else begin if fSaldoAcumuladoAgressao >= 0 then SetPlotColor(1,clGreen) else SetPlotColor(1,clRed); end; Plot(fSaldoAcumuladoAgressao); end; end;