Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Descobri a solução, nem precisa programar!
No gerador de experts, tem um módulo de filtro intradiário. Eu já tinha visto, mas achava que ele não limitava os trades.
Na verdade, ele limita a abertura dos trades, mas não necessariamente fecha quando o período termina.
É possível interromper um expert "convencional" usando uma rotina no OnInit (como neste exemplo).
No Wizard, resolvi fazendo a verificação de close e mandando fechar "na unha",tudo dentro do Direction() mesmo.
Se te ajudar eu uso esse padrao nos meus EA.
cara muito obrigado, entendi perfeitamente a lógica e apliquei aqui deu super certo. muito obrigado.
Olá pessoal, criei um robo porém estou com dificuldade em alguns tópicos pois gostaria de um robo que trabalhe da seguinte forma.
Se o preço do ativo variar 300 pontos em relação ao preço de abertura do mesmo dia, ele efetua uma ordem.
Por exemplo, o ativo WIN abriu hoje a 1000 pontos, quando ele atingir 1300 pontos gostaria que a EA efetuasse uma ordem.
Olá,
tres observações:
1) O evento correto para efetuar trades seria on OnTick.
2) O seu teste de data só vai funcionar no primeiro dia do backtest, pois datetime é dia e hora e do jeito que você fez o dia está fixo. A cada novo dia tem que ajustar novamente as datas.
3) PosistionsTotal() é a quantidade de posições abertas no MT5, ou seja de todos EA(s) e todas a operações manuais que você fez. Você quer mesmo fechar tudo?
Olá Rogerio Giannetti Torres
Como seria essa função para verificar se é um novo dia?
Você poderia me passar uma documentação de como fazer?
Grato
tks.
Olá Rogerio Giannetti Torres
Como seria essa função para verificar se é um novo dia?
Você poderia me passar uma documentação de como fazer?
Grato
Uma solução bem simples.
Se te ajudar eu uso esse padrao nos meus EA.
O autor de Clean Code ficaria orgulhoso de você! Incrível o código, parabéns!
Cara, eu fiz assim:
Primeiro declarei as variaveis:
datetime hora = TimeCurrent(Time); //-- Capturando hora atual
TimeToString(hora,TIME_SECONDS); //-- Normalizacao da Hora Atual
datetime close_time=D'17:15:00'; //-- Hora limite encerrar posicoes
TimeToString(close_time,TIME_SECONDS); //-- Normalizacao da Hora oara encerrar Trades
datetime hora_limite=D'16:00:00'; //-- Hora limite para operar
TimeToString(hora_limite,TIME_SECONDS); //-- Noramlizacao da Hora limite para operar
Depois criei uma logica simples:
if(hora>=close_time && PositionSelect(_Symbol)>=1)
{
//-- Fecha a posicao pelo limite de horario
trade.PositionClose(ticket,-1);
Esta funcionando corretamente.
[]'s
Olá amigão, vc declarou as variáveis dentro de qual escopo?
Global?
Depois dos input?
No OnInit?
No OnTick?
Preciso fazer meu EA começar as 9:15 h e parar as 12:00 h ...
Você poderia explicar melhor ou exemplificar melhor?
santoslucimardos2@gmail.com / Whats 19 98963 8783
Se te ajudar eu uso esse padrao nos meus EA.
Amigão, testei em um EA e mudei os horários mas me parece que o EA não obedece o tempo imposto no input.
Coloquei para abrir 9:30 e fechar 12:00 mas acho que não aconteceu o fechamento...
Se ajudar meu comentário, não leve a mal!!