A NeoTraderBot é a primeira comunidade aberta no Brasil com foco em compartilhar informações sobre automatização de estratégias
Como limitar número de operaçoes diárias do robô ?
E ai, Tadeu! Tudo bem?
Escrevi o código abaixo para exemplificar como seria implementar a limitação de quantidade de operações do robô no dia.
Grande abs!
const // Mude aqui a qtde maxima de trades por dia cQtdeMaxOperacoesNoDia = 5; var iQtdeOperacoesNoDia: integer; iDataAtual: integer; bJaContouOperacao: boolean; fMedia: float; begin // Inicialização do contador de ordens do dia if Date <> iDataAtual then begin iDataAtual := Date; iQtdeOperacoesNoDia := 0; bJaContouOperacao := false; end; // Setup de cruzamento de Media movel só para gerar operações fMedia := Media(3,Close); // Realiza abertura de posições apenas se número maximo de operação // não tiver sido atingido if iQtdeOperacoesNoDia < cQtdeMaxOperacoesNoDia then begin // COMPRA se fechamento cruzar media para cima e // VENDE se fechamento cruzar media pra baixo if (Close > fMedia) and (Close[1] <= fMedia[1]) and Not HasPosition then BuyAtMarket; if (Close < fMedia) and (Close[1] >= fMedia[1]) and Not HasPosition then SellShortAtMarket; end; // Contabiliza a abertura da posição como mais uma operação no dia if (isBought or isSold) and Not bJaContouOperacao then begin iQtdeOperacoesNoDia := iQtdeOperacoesNoDia + 1; bJaContouOperacao := true; end; // Posiciona ordens para gestão do trade if isBought then begin SellShortStop(buyPrice - 5*MinPriceIncrement); SellShortLimit(buyPrice + 15*MinPriceIncrement); end; // Posiciona ordens para gestão do trade if isSold then begin BuyStop(sellPrice + 5*MinPriceIncrement); BuyLimit(sellPrice - 15*MinPriceIncrement); end; // Encerra posicao no mesmo dia if (Time >= 1645) and hasPosition then ClosePosition; // Se posição for encerrada ativa novamente o contador if Not IsBought and Not isSold and bJaContouOperacao then bJaContouOperacao := false; // Apenas para inspeção gráfica do sinal Plot(fMedia); end
Só complementando...gravei um vídeo com esse Snippet porque essa dúvida já tinha surgido com outras pessoas, e no vídeo explico parte por parte do código fonte.
Link para vídeo: Como LIMITAR a quantidade de TRADES POR DIA
Abs!