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] Robô não envio ordem de stop da compra nem ordem de gain na compra

4 Posts
2 Usuários
0 Reactions
199 Visualizações
(@lucianoribeiro)
Membro eminente
Registrou: 2 anos atrás
Posts: 15
Iniciador do tópico  

Boa noite tudo certo?

 

Pode me ajudar?

Tenho a estrutura do robô abaixo que só efetua compras, porém quando ele entra a mercado na compra gostaria de já disparasse as ordens de saída para Gain e Loss, a ordem de Loss nem envia e a ordem de saída no Gain só envia após o fechamento do primeiro Candle,

O que esta errado no meu código?

Desde já agradeço.

Segue código abaixo para ser revisado

<input
HorarioEntradas(0920);
HorarioLimite(1220);
HoraFechamentoPosicao(1225);

stopnbarra(2);
stoptempo(1);
xlote(2);

var
alvo, stop : real;
sinalC, sinalV : booleano;
ladoSaida : inteiro;

sinalCompra : Booleano;

nbarra : integer;
iP : Inteiro;

Inicio
Se Nao(HasPosition) entao
inicio

ip := CurrentBar;

sinalCompra := (fechamento < abertura) e (fechamento[1] < abertura[1]);

SinalC := (Time >= HorarioEntradas) e (Time < HorarioLimite) e (sinalCompra);

// Abrir Posicao Compra
Se sinalC entao
inicio
alvo := (Maxima - 0.5);
stop := (Abs(Minima + Range)) * 2;
ladoSaida := osSell;
SellToCoverStop(stop, stop, 2);
SellToCoverLimit(alvo, 2);
BuyAtMarket(2);
fim;

// Fechar Posicao
Se (HasPosition) entao
inicio
SendOrder(ladoSaida,otStopLimit,xlote,stop,stop);
SendOrder(ladoSaida,otLimit,xlote,alvo,0);
fim;
Se (TIME >= HoraFechamentoPosicao) Então
ClosePosition;

Se (CurrentBar >= iP + stopnbarra) Então ClosePosition;

Fim;

>


   
Citar
(@lucianoribeiro)
Membro eminente
Registrou: 2 anos atrás
Posts: 15
Iniciador do tópico  

Boa noite tudo certo?

 

Pode me ajudar?

Tenho a estrutura do robô abaixo que só efetua compras, porém quando ele entra a mercado na compra gostaria de já disparasse as ordens de saída para Gain e Loss, a ordem de Loss nem envia e a ordem de saída no Gain só envia após o fechamento do primeiro Candle,

O que esta errado no meu código?

Desde já agradeço.

Segue código abaixo para ser revisado

 

 

input
HorarioEntradas(0920);
HorarioLimite(1220);
HoraFechamentoPosicao(1225);

stopnbarra(2);
stoptempo(1);
xlote(2);

var
alvo, stop : real;
sinalC, sinalV : booleano;
ladoSaida : inteiro;

sinalCompra : Booleano;

nbarra : integer;
iP : Inteiro;

Inicio
Se Nao(HasPosition) entao
inicio

ip := CurrentBar;

sinalCompra := (fechamento < abertura) e (fechamento[1] < abertura[1]);

SinalC := (Time >= HorarioEntradas) e (Time < HorarioLimite) e (sinalCompra);

// Abrir Posicao Compra
Se sinalC entao
inicio
alvo := (Maxima - 0.5);
stop := (Abs(Minima + Range)) * 2;
ladoSaida := osSell;
SellToCoverStop(stop, stop, 2);
SellToCoverLimit(alvo, 2);
BuyAtMarket(2);
fim;

// Fechar Posicao
Se (HasPosition) entao
inicio
SendOrder(ladoSaida,otStopLimit,xlote,stop,stop);
SendOrder(ladoSaida,otLimit,xlote,alvo,0);
fim;
Se (TIME >= HoraFechamentoPosicao) Então
ClosePosition;

Se (CurrentBar >= iP + stopnbarra) Então ClosePosition;

Fim;

   
ReplyCitar
(@jp-cavalcanti)
Membro ativo
Registrou: 2 anos atrás
Posts: 8
 

Já experimentou colocar essas linhas abaixo:

SellToCoverStop(stop, stop, 2);
SellToCoverLimit(alvo, 2);

na parte de //fechar posição no lugas das linhas:

 

SendOrder(ladoSaida,otStopLimit,xlote,stop,stop);
SendOrder(ladoSaida,otLimit,xlote,alvo,0);


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

Muito obrigado, acabei refazendo todo o código usando como padrão os códigos encontrados aqui. 


   
ReplyCitar