Neo traderBot

Neo traderBot

Você sabia?

Um backtesting adequado deve buscar simular situações práticas do mercado (slippage, custo de operação, etc...)

leaf leftleaf right
Notifications
Clear all

Algoritmo não funciona na conta real

3 Posts
3 Usuários
2 Reactions
178 Visualizações
(@mrgeorge)
Membro ativo
Registrou: 2 anos atrás
Posts: 3
Iniciador do tópico  

Prezados,

eis um código simples de operação que ao preço tocar a média ele lança ordem de compra ou de venda, contudo nenhuma ordem está sendo lançada. Deixei habilitado no módulo de automação a avaliação por ticks ao invés de aguardar o fechamento do candle.

var
  fMedia9                             : float;
  fMedia21                            : float;
  fMediaPonderada                     : float;
  bComprado,bVendido                  : boolean;
  ponto_entrada,ponto_stop,ponto_alvo : float;
begin
  bComprado := isBought();
  bVendido := isSold();
  fMedia9 := Media(9,close);
  fMedia21 := Media(21,close);
  fMediaPonderada := VWAP(1);
   //Envia ordens de compra/venda
      begin
        if Not (bComprado Or bVendido) then
          begin
            if (minima - fmedia9 < 5) and (minima - fmedia9 > 0) then
              BuyStop(fMedia9);
            if (fmedia9 - maxima < 5) and (fmedia9 - maxima > 0) then
              SellShortStop(fMedia9);
            if (minima - fMediaPonderada < 5) and (minima - fMediaPonderada > 0) then
              BuyStop(fMediaPonderada);
              if (fMediaPonderada - maxima < 5) and (fMediaPonderada - maxima > 0) then
              SellShortStop(fMediaPonderada);
          end;
      end;

   
Citar
masker
(@masker)
Membro confiável
Registrou: 2 anos atrás
Posts: 41
 

O erro provavelmente está ocorrendo porque a ordem stop de compra ou venda está sendo colocada abaixo do preço atual de mercado, o que não faz sentido. As ordens stop devem sempre ser colocadas acima do preço atual de mercado para ordens de compra e abaixo do preço atual de mercado para ordens de venda.


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

Olá @mrgeorge!

 

O que o @masker falou procede! Mas acho que seu problema deve ser ainda anterior a esse. Rodei seu código em WDOFUT 1 min, tendo em vista que a abertura das posições e diferenças parecem sugerir operação no minidólar.

Independente disso, sua estratégia abre posição, mas não encerra nunca. Assim, seu código parece que não fez nada porque tem uma operação aberta no início do backtesting que não encerra.

Defina as regras de encerramento das posições.

 

Grande abs!

 


   
masker reacted
ReplyCitar