Hora e dia da semana
1 resposta
jdowney
12 anos atrás #111930
Olá a todos.
Alguém pode me ajudar com essa condição que estou tentando fazer.
Eu gostaria de fazer o seguinte
Se o dia for terça-feira e o horário for entre 14:00 e 15:00, feche todas as negociações e não faça nenhuma negociação durante esse horário na terça-feira, entre 14:00 e 15:00.
Até o momento, obtive o seguinte e não consigo fazer com que a condição funcione, pois ela ainda coloca negociações Hhmm.
}
//-------------
// Regra 3
Se (((TimeDayOfWeek(Time[0]) == 2)
&& ((TimeHour(Time[0]) >= 14)
&& (TimeHour(Time[0]) <= 15))))
{
// Ação #1
sqCloseAllOrders();
// Ação #2
// não fazer nada
}
return(0);
}
//+——————————————————————+
FIM SE;
//——————————————————————–
// Regra 3
IF (((DayOfWeek[0] = _CONSTANT_)
E ((Hour[0] >= 14)
E (Hour[0] <= 15))))
ENTÃO
// Ação #1
Fechar todos os pedidos;
// Ação #2
Não fazer nada
FIM SE;
0
Marca Fric
12 anos atrás #123568
Você pode postar seu arquivo .sqw aqui? Será mais fácil verificar isso.
Marcar
EstratégiaQuant arquiteto
0
jdowney
12 anos atrás #123577
Você pode postar seu arquivo .sqw aqui? Será mais fácil verificar isso.
Obrigado, Mark,
Em anexo, o arquivo .SQW e o gráfico do MT4. Observe que estou usando o símbolo e o período de tempo atuais no arquivo .sqw, mas uso o gráfico de 15m no símbolo GBPCAD.
0
jdowney
12 anos atrás #123578
Oi Mark
Captura de tela anexada.
Cumprimentos a John.
0
jimasks
12 anos atrás #123588
Desculpe-me por me intrometer nessa discussão, mas acho que isso fará o que você deseja.
1. Coloquei o teste para fechar na primeira guia. Dessa forma, todas as negociações que estavam abertas são fechadas no momento em que você deseja.
2. Adicionei um código para permitir a negociação nas outras duas guias que excluirá a hora/data que você deseja.
Não testei, mas é preciso ter cuidado com a terça-feira às 14 horas. Acho que consegui criá-lo de forma que não haja conflito entre um possível horário de abertura e fechamento.
Por exemplo: a guia Fechar tudo só funcionará a partir de terça-feira às 14h e será encerrada pouco antes de terça-feira às 15h. Em seguida, o EA pode abrir negociações a qualquer momento até terça-feira às 14h e começar a permitir a abertura de negociações na terça-feira às 15h.
Confira meu trabalho e veja se ele funciona da maneira que você gostaria.
Espero que isto ajude.
Jim
PS. Acho que isso poderia ser generalizado facilmente a partir dos parâmetros de entrada, se desejado.
0
jdowney
12 anos atrás #123596
Oi Jim
Obrigado, ele funciona exatamente como eu queria.
Presumo que ainda preciso da primeira guia para fechar quaisquer ordens que possam ser abertas, estou correto? Mais uma vez, muito obrigado.
Cumprimentos a John.
// CloseAllonTimeDate
IF (((DayOfWeek[0] = _CONSTANT_)
E ((Hour[0] >= 14)
E (Hour[0] < 15))))
ENTÃO
// Ação #1
Fechar todos os pedidos;
// Ação #2
Não fazer nada
FIM SE;
0
jimasks
12 anos atrás #123604
Sem problemas, jdoweny,
E sim, você ainda precisará da primeira guia para fechar as negociações durante esse período. Você deve verificar se ela fecha todas as negociações ou se fecha todas as negociações com o símbolo em questão. Não olhei, mas acho que o fechamento de todas as ordens só funcionará nas negociações que estiverem abertas com o símbolo do gráfico... mas não tenho certeza.
0
Visualizando 6 respostas - 1 até 6 (de um total de 6)