Dias de negociação

1 resposta

jdowney

Cliente, bbp_participante, comunidade, 12 respostas.

Perfil da visita

10 anos atrás #111962

Olá Suporte,

 

Estou tendo um problema com meu EA para negociar em determinados dias da semana, com a opção de ativar ou desativar o dia no EA.

 

No entanto, quando faço o backtest na plataforma MT4, o EA só negocia às segundas-feiras e não no restante da semana.

 

Defini as variáveis como Boolan e int e tentei as duas opções sem sucesso.

 

Veja a captura de tela anexada e a estratégia (TradeDays On OFF.sqw)

 

Alguma ideia? Estou deixando passar alguma coisa ou talvez seja a ordem em que as regras deveriam estar...

 

Cumprimentos a John.

 

 

//——————————————————————–
// No Trades Mon

IF (IsBarOpen is True) && (((MonTrade = 0)
      E (DayOfWeek[0] = _CONSTANT_)))
ENTÃO
   // Ação #1
      Fechar todos os pedidos;

   // Ação #2
   Não fazer nada

FIM SE;

//——————————————————————–
// No Trades Tue

IF (IsBarOpen is True) && (((TueTrade = 0)
      E (DayOfWeek[0] = _CONSTANT_)))
ENTÃO
   // Ação #1
      Fechar todos os pedidos;

   // Ação #2
   Não fazer nada

FIM SE;

//——————————————————————–
// No Trades Wed

IF (IsBarOpen is True) && (((WedTrade = 0)
      E (DayOfWeek[0] = _CONSTANT_)))
ENTÃO
   // Ação #1
      Fechar todos os pedidos;

   // Ação #2
   Não fazer nada

FIM SE;

//——————————————————————–
// No Trades Thur

IF (IsBarOpen is True) && (((ThuTrade = 0)
      E (DayOfWeek[0] = _CONSTANT_)))
ENTÃO
   // Ação #1
      Fechar todos os pedidos;

   // Ação #2
   Não fazer nada

FIM SE;

//——————————————————————–
// No Trades Fri

IF (IsBarOpen is True) && (((FriTrade = 0)
      E (DayOfWeek[0] = _CONSTANT_)))
ENTÃO
   // Ação #1
      Fechar todos os pedidos;

   // Ação #2
   Não fazer nada

FIM SE;

//——————————————————————–
// No Trades Sat

IF (IsBarOpen is True) && (((SatTrade = 0)
      E (DayOfWeek[0] = _CONSTANT_)))
ENTÃO
   // Ação #1
      Fechar todos os pedidos;

   // Ação #2
   Não fazer nada

FIM SE;

//——————————————————————–
// EnvUpper Band Short

IF (IsBarOpen is True) && (((Bid >= Envelopes( 8 , Exponential , 0 , Median price , 0.12 )[1])
      E ((SpreadInPips < 7)
      E ((DayOfWeek[0] = _CONSTANT_)
      E ((MonTrade = 1)
      Ou ((DayOfWeek[0] = _CONSTANT_)
      E ((TueTrade = 1)
      Ou ((DayOfWeek[0] = _CONSTANT_)
      E ((WedTrade = 1)
      Ou ((DayOfWeek[0] = _CONSTANT_)
      E ((ThuTrade = 1)
      Ou ((DayOfWeek[0] = _CONSTANT_)
      E ((FriTrade = 1)
      Ou ((DayOfWeek[0] = _CONSTANT_)
      E (SatTrade = 1)))))))))))))))
ENTÃO
   // Ação #1
      Fechar pedido com o número mágico: 2000;

   // Ação #2
   Venda de 0,1 lote a mercado
      Número mágico = 1000;
      Stop Loss = 25 pips;
      Profit Target = (Envelopes( 8 , Exponential , 0 , Median price , 0.03 )[1] ? 1 : 0) pips;

   // Ação #3
      Desenhe a seta para baixo;

FIM SE;

//——————————————————————–
// EnvLower Band Long

IF (IsBarOpen is True) && (((Ask <= Envelopes( 8 , Exponential , 0 , Median price , 0.12 )[1])
      E ((SpreadInPips < 7)
      E ((DayOfWeek[0] = _CONSTANT_)
      E ((MonTrade = 1)
      Ou ((DayOfWeek[0] = _CONSTANT_)
      E ((TueTrade = 1)
      Ou ((DayOfWeek[0] = _CONSTANT_)
      E ((WedTrade = 1)
      Ou ((DayOfWeek[0] = _CONSTANT_)
      E ((ThuTrade = 1)
      Ou ((DayOfWeek[0] = _CONSTANT_)
      E ((FriTrade = 1)
      Ou ((DayOfWeek[0] = _CONSTANT_)
      E (SatTrade = 1)))))))))))))))
ENTÃO
   // Ação #1
      Fechar pedido com o número mágico: 1000;

   // Ação #2
   Comprar 0,1 lote no mercado
      Número mágico = 2000;
      Stop Loss = 25 pips;
      Profit Target = (Envelopes( 8 , Exponential , 0 , Median price , 0.03 )[1] ? 1 : 0) pips;

   // Ação #3
      Desenhe a seta para cima;

FIM SE;
 

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

10 anos atrás #123738

Olá,

 

Um problema que vejo é que as condições não são colocadas corretamente entre parênteses. 

Você deve adicionar colchetes para agrupar adequadamente as condições "and" e "or", caso contrário, elas serão avaliadas uma a uma, o que terá resultados muito inesperados.

 

Você pode definir colchetes no painel IF, veja a captura de tela.

 

 

 

Arquivo: colchetes.pngcolchetes.png

Marcar
EstratégiaQuant arquiteto

0

Visualizando 1 resposta (de um total de 1)