Neo traderBot

Neo traderBot

Você sabia?

A NeoTraderBot é a primeira comunidade aberta no Brasil com foco em compartilhar informações sobre automatização de estratégias

leaf leftleaf right
Notifications
Clear all

[Solucionado] Range máximo de uma operação Comprada ou Vendida

7 Posts
3 Usuários
1 Reactions
217 Visualizações
(@eafonsopereira)
Membro eminente
Registrou: 2 anos atrás
Posts: 12
Iniciador do tópico  

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

 

 


   
Citar
(@luauxhotmail-com)
Membro
Registrou: 2 anos atrás
Posts: 7
 

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


   
ReplyCitar
(@eafonsopereira)
Membro eminente
Registrou: 2 anos atrás
Posts: 12
Iniciador do tópico  

Valeu cara. Vou exportar hoje a tarde os dados. Acredito que vai resolver meu problema...

abs


   
ReplyCitar
(@eafonsopereira)
Membro eminente
Registrou: 2 anos atrás
Posts: 12
Iniciador do tópico  

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


   
ReplyCitar
(@luauxhotmail-com)
Membro
Registrou: 2 anos atrás
Posts: 7
 

@eafonsopereira Legal parabéns pela iniciativa !

 


   
ReplyCitar
(@admin)
Membro Admin
Registrou: 2 anos atrás
Posts: 216
 

 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

 

 


   
ReplyCitar
(@eafonsopereira)
Membro eminente
Registrou: 2 anos atrás
Posts: 12
Iniciador do tópico  

@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

https://nelogica.uservoice.com/forums/934530-profit-desktop/suggestions/44858830-exportar-mais-informa%C3%A7%C3%B5es-na-exporta%C3%A7%C3%A3o-csv

 


   
Johnathas reacted
ReplyCitar