-- GetBollingerBandsValues Objetivo: Extrai os valores das Bandas de Bollinger. Parâmetros de Saída: upperBand, lowerBand, e moving_average (passados por referência). Ação: Usa a função CopyBuffer para obter os valores da Banda Superior (upperBand), Banda Inferior (lowerBand), e Média Móvel (moving_average) do indicador Bollinger Bands. -- ManageOpenPositions Objetivo: Gerencia as posições abertas, incluindo a modificação ou fechamento parcial com base nas condições de mercado. Parâmetros de Entrada: upperBand, lowerBand, e moving_average. Ação: Itera sobre as posições abertas e chama funções específicas para gerenciar posições de compra (ManageBuyPosition) e venda (ManageSellPosition). -- ManageBuyPosition e ManageSellPosition Objetivo: Gerencia posições específicas de compra e venda, incluindo fechamento parcial e modificação de stop loss. Parâmetros de Entrada: Informações da posição (posLots, lotsToClose, moving_average, posStopLoss, etc.). Ação: Implementa lógicas específicas para modificar stop loss e fechar parcialmente posições de compra ou venda. -- CheckEntrySignals Objetivo: Verifica os sinais de entrada com base nas Bandas de Bollinger. Parâmetros de Entrada: upperBand, lowerBand, closeValue1, e closeValue2. Ação: Decide se deve executar operações de compra ou venda com base nas condições dos sinais de entrada. -- ExecuteSellTrade e ExecuteBuyTrade Objetivo: Executa operações de venda ou compra com base nos sinais de entrada. Parâmetros de Entrada: Informações das Bandas de Bollinger (upperBand ou lowerBand). Ação: Calcula stop loss e take profit, e executa a ordem de venda ou compra. -- PrintInformation Objetivo: Imprime informações relevantes no console. Parâmetros de Entrada: Informações das Bandas de Bollinger, média móvel, e valores de fechamento. Ação: Cria uma string informativa com os valores relevantes e a imprime no console usando a função Comment.