A NeoTraderBot é a primeira comunidade aberta no Brasil com foco em compartilhar informações sobre automatização de estratégias
Boa tarde.
Preciso de uma ajuda para resolver a seguinte questão: Vamos supor que a estratégia é COMPRA no fechamento acima da Média Móvel de 50 períodos e VENDA no fechamento abaixo da Média Móvel de 50 períodos. Eu gostaria de plotar uma linha, ou retornar o valor, do range máximo alcançado quando comprado ou vendido. Em anexo coloco uma imagem ilustrando o pedido.
obrigado
Ola pessoa!
Não sei se vai ajudar mas no relatório de performance tem os campos MEN e o MEP que podem ser exportados. Segundo esse artigo da nelógica:
https://ajuda.nelogica.com.br/hc/pt-br/articles/360041299911-MEP-e-MEN
Abaixo segue o principal:
MEP, ou Máxima Exposição Positiva, exibe o máximo que você poderia ter ganho na operação.
Exemplo: Você comprou a 10,50, o mercado foi até 10,59 e você zerou a posição no 10,55. A MEP foi de 9 ticks e seu ganho foi de 5 ticks.
Já o MEN, ou Máxima Exposição Negativa, exibe o máximo que você poderia perder na operação.
Exemplo: Você comprou a 10,50, o mercado foi até 10,45 e você zerou a posição no 10,51. A MEN foi de -5 ticks. E seu ganho foi de 1 tick.
para exportar os campos MEN e MEP no relatório de performance vá em
Negociação => relatório de performance , escolha a carteira do seu robo e ali acima dos cabeçalhos dos campos tem o botão [Exportar]. Antes de clicar nesse botão com o botão da direita do mouse clique ao lado desse botão e escolha propriedades. EM seguida selecione os campos que vc quer que exporte e mande-os do lado esquerdo para o lado direito e de ok . veja a tela anexada
Valeu cara. Vou exportar hoje a tarde os dados. Acredito que vai resolver meu problema...
abs
Fiz o teste aqui. Funciona apenas se executar o robô. No Editor de Estratégias não funciona. Essa opção não aparece, infelizmente.
Vou colocar como recomendação para a Nelógica no UserVoice. Por enquanto, ainda preciso de alguma fórmula no código para retornar esse valor.
abs
Boa noite @eafonsopereira!
Elaborei o código abaixo que calcula o MEP e MEN, Máxima exposição positiva e negativa, das posições.
Fiz um estratégia básica conforme falou (ainda precisa de melhorias com relação ao cruzamento não ser significativo e voltar no próximo candle)...mas como o foco era calcular MEP e MEN...preferi postar aqui o código de uma vez.
Vê se te ajuda aí!
Grande abs!
var fMedia: float; bSinalCompra, bSinalVenda: boolean; fMEP, fMEN: float; begin bSinalCompra := false; bSinalVenda := false; fMedia := Media(50, Close); //Plot(fMedia); //Reseta valor de fMEP e fMEN if Not IsBought and Not IsSold then begin fMEP := 0; fMEN := 0; end; // Calcula fMEP e fMEN if IsBought then begin if (High - buyPrice) > fMEP then fMEP := High - buyPrice; if (buyPrice - Low) > fMEN then fMEN := buyPrice - Low; end; if IsSold then begin if (High - sellPrice) > fMEP then fMEP := High - sellPrice; if (sellPrice - Low) > fMEN then fMEN := sellPrice - Low; end; if IsBought or IsSold then begin plot2(fMEP); plot3(fMEN); SetPlotColor(2, clGreen); SetPlotColor(3,clRed); end; // Estratégia de execução!!! // Sinais de compra if (Close > fMedia) and (Close[1] <= fMedia[1]) then bSinalCompra := true; // Sinais de venda if (Close < fMedia) and (Close[1] >= fMedia[1]) then bSinalVenda := true; // Ordens de compra e venda quando zerado if Not isSold and Not isBought then if bSinalCompra then BuyAtMarket else if bSinalVenda then SellShortAtMarket; // Ordens de reversão !!!!!! Lembrar de resetar fMEP e fMEN nas reversões !!!!! if (isSold and bSinalCompra) or (isBought and bSinalVenda) then begin ReversePosition; fMEP := 0; fMEN := 0; end; // Coloquei apenas para evitar carregar posição para o dia seguinte if Time >= 1645 then ClosePosition; end
@admin Muito Obrigado pela ajuda. Deu certo.
Infelizmente a Nelógica limita em 20.000 linhas a exportação de dados para o Profit. Os dados aparecem no gráfico desde maio/2022, mas só exporta nov/2022 e dez/2022. Vou ter que fazer uma parte disso na mão, não tem jeito, mas seu indicador ajudou muito.
O Guilherme Vaz fez uma solicitação parecida (do excel) e coloco abaixo para os colegas votarem. Já adicionei um comentário sobre o limite de linhas exportadas na solicitação.
abs