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

Código não executa quantidade estipulada de Alvo e Stop.

2 Posts
2 Usuários
0 Reactions
158 Visualizações
(@traderccn)
Novo membro
Registrou: 1 ano atrás
Posts: 1
Iniciador do tópico  

Bom dia Pessoal!

Estou com um código que não está executando o Stop e o Alvo na quantidade informada.

Ex: Para sair com 300 de Alvo, mas na maioria das vezes sai com menos ou mais, e o Stop da mesma forma.

Se alguém puder me orientar eu agradeço muito...

Sou novo no canal e iniciando em programaçõ, mas desde já quero agradecer e parabenizar a iniciativa da Neo TraderBot e do Forum.

Entrada
 TamanhoCandles (500);
  PorcCandles (0,61);
  Parar (150);
  Alvo (300);

era
  bSinalCompra,bSinalVenda : booleano;
  fAlvo, fStop : float;
  

começar
  bSinalCompra := false;
  bSinalVenda := false;
  

  se not hasposition então
  começar
  
    //PADRÃO IDENTIFICAÇÃO VENDA
      se (range > TamanhoCandles) e ((fechamento - abertura) >= (range) * PorcCandles) então
      começar
        paintbar(ClGreen);
        bSinalVenda := true;
      fim;
    

    //PADRÃO IDENTIFICAÇÃO COMPRA
      se (range > TamanhoCandles) e ((abertura - fechamento) >= (range) * PorcCandles) então
      começar
        barra de pintura(Clred);
        bSinalCompra := true;
      fim;
  fim;

 
    //TRATAMENTO DOS SINAIS DE IDENTIFICAÇÃO COMPRA / VENDA

    se bSinalVenda então
    começar
      SellShortAtMarket();
      fStop := fechamento + Stop;
      fAlvo := fechamento - Alvo;
    fim;

    se bSinalCompra então
    começar
      CompreNoMercado();
      fStop := fechamento - Stop;
      fAlvo := fechamento + Alvo;
    fim;


    // GESTÃO DAS POSIÇÕES
  
    se IsSold então
    começar
      BuyToCoverStop(fStop);
      BuyToCoverStop(fAlvo);
    fim;

    se IsBought então
    começar
     SellToCoverStop(fStop);
     SellToCoverStop(fAlvo);
    fim;

 fim;

b


   
Citar
Credson
(@m4tr1xbr)
Membro Moderator
Registrou: 2 anos atrás
Posts: 45
 

Olá, o seu sinal de compra e venda não estaria invertido? Bom de qualquer forma quando for usar a saída do Alvo, use a função "BuyToCoverLimit" e "SellToCoverLimit" ok.

Testa aí para ver se é o que você quer.

input

  TamanhoCandles (500);
  PorcCandles (0.61);
  stop (150);
  Alvo (300);

var

  bSinalCompra,bSinalVenda : booleano;
  fAlvo, fStop : float;
  

begin
  bSinalCompra := false;
  bSinalVenda := false;
  

  If not (hasposition) then
  begin
  
    //PADRÃO IDENTIFICAÇÃO VENDA
      if (range > TamanhoCandles) e ((fechamento - abertura) >= (range) ) então
      begin
        paintbar(ClGreen);
        bSinalVenda := true;
      end;
    

    //PADRÃO IDENTIFICAÇÃO COMPRA
      if (range > TamanhoCandles) e ((abertura - fechamento) >= (range) * PorcCandles) então
      begin
        paintbar(Clred);
        bSinalCompra := true;
      end;;
  end;

 
    //TRATAMENTO DOS SINAIS DE IDENTIFICAÇÃO COMPRA / VENDA

    if bSinalVenda then
    begin
      SellShortAtMarket();
      fStop := fechamento + Stop;
      fAlvo := fechamento - Alvo;
    end;

    if bSinalCompra then
    begin
      BuyAtMarket();
      fStop := fechamento - Stop;
      fAlvo := fechamento + Alvo;
    end;


    // GESTÃO DAS POSIÇÕES
  
    if IsSold then
    begin
      BuyToCoverStop(fStop);
      BuyToCoverLimit(fAlvo);
    end;

    if IsBought then
    begin
     SellToCoverStop(fStop);
     SellToCoverLimit(fAlvo);
    end;

 end;

 


   
ReplyCitar