помогите разобраться. пытаюсь сделать в советнике закрытие сделок в пятницу за пол часа до закрытия сессии.
пробовал по учебнику, то ничего у меня не получилось
может у кого уже готовый код есть.
код закрытия у меня есть. мне нужен сам сигнализирующий закрытие сессии за 30 минут.
Que tal isso?
externdatetime DateTime = D'2014.03.21 11:30'; // Дата и время закрытияif (TimeCurrent()>=DateTime)
{
}
A situação é que eu não preciso da data. Preciso que ele sinalize cada sexta-feira 30 minutos antes e 30 minutos antes do final da sessão, e então eu vou inserir o sinal no código para fechar as ordens.
Tenho este funcionando, sem falhas de funcionamento.
//---закрыть все позиции в пятницу в 19-40 по серверному времени if(DayOfWeek()==5 && Hour()==19 && Minute()>40){
//Дать сигнал на закрытие всех позиций
}
Estou tentando fazer com que minha EA feche as negociações na sexta-feira, meia hora antes do encerramento da sessão.
Eu tentei o tutorial, mas não funcionou.
posso perguntar se alguém tem um código pronto.
Tenho o código de fechamento. preciso dele para poder fechar uma sessão com 30 minutos de antecedência.
Isto pode ser mais universal para qualquer corretor. Pena que ainda não haja diferença nas citações dos corretores da UTC
voidOnStart()
{
//---int hrd=-3; // разница времени в часах котировок брокера с Гринвичемdatetime tc=TimeCurrent();
if(f_ts(tc,hrd)>0) Print("CloseAll()");
}
//+------------------------------------------------------------------+int f_ts(datetime ti, int hrd)
{
if(TimeDayOfWeek(ti)!=5) return(-1); // если не пятница выходимdatetime t0d,te;
int dtd=1440*60, res=-1;
t0d=ti/dtd*dtd; // начало торгового дня
te=t0d+dtd-30*60+hrd*3600; // 30 мин до конца сессииif (ti>te) res=1;
else res=0;
return(res);
As funções são baseadas na hora atual, e o que escrevi acima funcionará porque TimeCurrent() e TimeDayOfWeek() funcionam corretamente. Você só precisa acrescentar função para mudar para o horário de verão e inverno, ou seja, parâmetro hrd. A troca geralmente ocorre de acordo com o horário americano DST (primeiro domingo de novembro, segundo domingo de março), mas alguns corretores não fazem a troca, então você deve usar seu
Estou tentando fazer minha EA fechar as negociações na sexta-feira, meia hora antes do encerramento da sessão.
Eu tentei o tutorial, mas não funcionou.
posso perguntar se alguém tem um código pronto.
Tenho o código de encerramento. Preciso dele para sinalizar o encerramento da sessão 30 minutos antes.
r772ra:
Talvez assim.
Não é nada disso.
Precisamos definir o horário de encerramento da sessão SessionClose = . Se não fechar a sessão mas fechar o comércio, então SessionClose = StrToTime("23:30");
Precisamos definir o horário de encerramento da sessão SessionClose = .... Se não fechar a sessão, mas fechar o comércio, então SessionClose = StrToTime("23:30");
Define o dia da semana TimeDayOfWeek()
Se sexta-feira, verifique TimeCurrent() >= SessionClose
Precisamos definir o horário de encerramento da sessão SessionClose = .... Se não é fechamento da sessão, mas sim negociação, então SessionClose = StrToTime("23:30");
horário de encerramento da sessão SessionClose = ... e licitação ... não funcionará no testador, não importa como você o defina :) Verificação desde o início de março até hoje
Sim, eu posso. Mas isso vai contra meus princípios.
GSB: hora de encerramento da sessão SessãoFechar = ... e licitação ... não funcionará no testador, não importa como você o defina :) Verificação desde o início de março até o dia de hoje
O que isso tem a ver com o testador? Embora tenha funcionado no testador até as últimas atualizações. Não vou discutir agora, não o testei e não serei forçado a ligar o testador tão cedo.
O que o testador tem a ver com isso? Embora tenha funcionado no testador até as últimas atualizações. Não vou discutir agora, não o testei e não serei obrigado a ligar o testador em breve.
Não há objeções aos princípios, mas o homem quer administrar a EA no testador, portanto suas opções não são adequadas para ele.
Use minha versão, ela funcionará no real e no testador, mas até que eles façam um recurso para contabilizar automaticamente a transição para a hora de verão no inverno, defina o tempo de transição para este ano como
belck:
приветствую!
помогите разобраться. пытаюсь сделать в советнике закрытие сделок в пятницу за пол часа до закрытия сессии.
пробовал по учебнику, то ничего у меня не получилось
может у кого уже готовый код есть.
код закрытия у меня есть. мне нужен сам сигнализирующий закрытие сессии за 30 минут.
Que tal isso?
Saudações!
Estou tentando fazer com que minha EA feche as negociações na sexta-feira, meia hora antes do encerramento da sessão.
Eu tentei o tutorial, mas não funcionou.
posso perguntar se alguém tem um código pronto.
Tenho o código de fechamento. preciso dele para poder fechar uma sessão com 30 minutos de antecedência.
Isto pode ser mais universal para qualquer corretor. Pena que ainda não haja diferença nas citações dos corretores da UTC
Tenho este funcionando, sem falhas de funcionamento.
tentou desta forma, testou através de um testador, depois a função não funcionou.
Bem, isto não deve funcionar no testador.
As funções são baseadas na hora atual, e o que escrevi acima funcionará porque TimeCurrent() e TimeDayOfWeek() funcionam corretamente. Você só precisa acrescentar função para mudar para o horário de verão e inverno, ou seja, parâmetro hrd. A troca geralmente ocorre de acordo com o horário americano DST (primeiro domingo de novembro, segundo domingo de março), mas alguns corretores não fazem a troca, então você deve usar seu
Saudações!
Estou tentando fazer minha EA fechar as negociações na sexta-feira, meia hora antes do encerramento da sessão.
Eu tentei o tutorial, mas não funcionou.
posso perguntar se alguém tem um código pronto.
Tenho o código de encerramento. Preciso dele para sinalizar o encerramento da sessão 30 minutos antes.
Talvez assim.
Não é nada disso.
Precisamos definir o horário de encerramento da sessão SessionClose = . Se não fechar a sessão mas fechar o comércio, então SessionClose = StrToTime("23:30");
Define o dia da semana TimeDayOfWeek()
Se sexta-feira, verifique TimeCurrent() >= SessionClose
Este não é de modo algum o caso.
Precisamos definir o horário de encerramento da sessão SessionClose = .... Se não fechar a sessão, mas fechar o comércio, então SessionClose = StrToTime("23:30");
Define o dia da semana TimeDayOfWeek()
Se sexta-feira, verifique TimeCurrent() >= SessionClose
você pode descrever o código com mais detalhes?
Este não é de modo algum o caso.
Precisamos definir o horário de encerramento da sessão SessionClose = .... Se não é fechamento da sessão, mas sim negociação, então SessionClose = StrToTime("23:30");
você pode descrever o código com mais detalhes?
Sim, eu posso. Mas isso vai contra meus princípios.
hora de encerramento da sessão SessãoFechar = ... e licitação ... não funcionará no testador, não importa como você o defina :) Verificação desde o início de março até o dia de hoje
Eu posso. Mas isso é contra os meus princípios.
O que o testador tem a ver com isso? Embora tenha funcionado no testador até as últimas atualizações. Não vou discutir agora, não o testei e não serei obrigado a ligar o testador em breve.Não há objeções aos princípios, mas o homem quer administrar a EA no testador, portanto suas opções não são adequadas para ele.
Use minha versão, ela funcionará no real e no testador, mas até que eles façam um recurso para contabilizar automaticamente a transição para a hora de verão no inverno, defina o tempo de transição para este ano como
De março de 2013 a novembro de 2014 funcionará e testará corretamente. Defina o turno de acordo com seu corretor