Discussão do artigo "Guia passo a passo para iniciantes para escrever um Expert Advisor no MQL5" - página 11

 
Grenjohn:

Por favor, me diga mais! É possível abrir e fechar posições em Expert Advisors, claramente por tempo em segundos, independentemente de ticks, como um cronômetro normal. Ou seja, se o relógio marcar 12:52:25, a posição será aberta, sem esperar por um novo tique, da mesma forma que o fechamento?

Inicie um cronômetro com a frequência necessária e verifique a ocorrência do tempo necessário nele.

Ou calcule quanto tempo ele precisa para ser acionado (12:52:25 - hora de início) e defina o intervalo exato.

Só não se depare com uma proibição de negociação, pois o cronômetro será acionado mesmo quando o mercado estiver fechado.

 
E como iniciar o cronômetro ou como definir o intervalo exato, isso deve estar escrito no código do Expert Advisor?
 
Grenjohn:
E como iniciar o cronômetro ou como definir o intervalo exato, isso deve estar escrito no código do EA?
Antes de tudo, use a pesquisa.
 
Bem, encontrei-o na pesquisa. Vou dar uma olhada nele, obrigado!
 

Posso perguntar se é possível programar um Expert Advisor para abrir um Expert Advisor em um dia específico da semana, de modo que ele abra e feche posições em um dia específico da semana?

[Excluído]  
Grenjohn:

Posso perguntar se é possível programar um Expert Advisor para abrir um Expert Advisor em um dia específico da semana, de modo que ele abra e feche posições em um dia específico da semana?

É possível
 
Grenjohn:

Posso perguntar se é possível programar um Expert Advisor para abrir um Expert Advisor em um dia específico da semana, de modo que ele abra e feche posições em um dia específico da semana?

É possível.
[Excluído]  
Dima_S:
Nós podemos.
Synchronously)))))
 

Obrigado, mas eu entendi que, quando tal evento ocorresse (a hora que eu especificasse), a função deveria funcionar, mas por algum motivo ela não funciona.

A posição não abre!!!?

extern int tp = 1000;

extern int sl = 1000;

extern double Lots = 0,2;

int ticket;

void OnStart()

{

datetime date1=D'2014.10.28.13.22.13';

if(OrdersTotal()==0)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,0,Red);

}

if (OrdersTotal( )==1 && Hour( )==13 && Minute( )==23 && Seconds ( )>=00)

{

bool select1=OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);

bool close1=OrderClose(ticket,Lots,Bid,20,Green);

}

return(0);

}

Deixe-me explicar que preciso que toda semana (uma vez por semana), em tal e tal dia, em tal e tal hora, em tal e tal segundo, uma posição seja aberta e fechada alguns segundos depois.

[Excluído]  
Grenjohn:
Vamos respeitar uns aos outros. Insira o código corretamente para que ele possa ser lido. Já foi mostrado a você como fazer isso.