Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 103
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
por exemplo: Como esperar pelo fechamento de um negócio?
1. Quando uma ordem é aberta, escreva o bilhete no nível global ou estático variável, e então monitore esta ordem até que fique azul, oops, até que seja fechada por comparação OrderCloseTime() > 0. Se o tempo de fechamento for maior que zero, o pedido é fechado.
2. A substituição para o operador GOTO é muito mais eficiente. Leia a documentação sobre as funções.
Existe alguma maneira de me mostrar um exemplo? Como posso esperar pelo fechamento do comércio anterior?
double loss = 100;
int start()
{
int order;
if(OrdersTotal()==0)
{
order = OrderSend(Symbol(),OP_BUY,Lot,Ask,1*Point,Ask-loss*Point,Ask+loss*Point); // Вверх
order = OrderSend(Symbol(),OP_SELL,Lot,Bid,1*Point,Bid+loss*Point,Bid-loss*Point); // Вниз
}
return(0);
}
//+------------------------------------------------------------------+
Existe alguma maneira de me mostrar um exemplo? Como posso esperar pelo fechamento do comércio anterior?
double loss = 100;
int start()
{
int order;
if(OrdersTotal()==0)
{
order = OrderSend(Symbol(),OP_BUY,Lot,Ask,1*Point,Ask-loss*Point,Ask+loss*Point); // Вверх
order = OrderSend(Symbol(),OP_SELL,Lot,Bid,1*Point,Bid+loss*Point,Bid-loss*Point); // Вниз
}
return(0);
}
//+------------------------------------------------------------------+
A mais simples é a seqüência de ações. Primeiro, tentamos fazer algo com uma ordem já aberta, e depois, se não houver uma ordem aberta, tentamos defini-la.
Dividimos o manuseio da posição e a abertura de uma nova ordem em duas funções distintas, definidas pelo usuário. Em seguida, na função OnTick() verificar a presença de ordens abertas e chamar uma ou outra função de acordo com o resultado obtido.
É o que parece por palavras:
{
if(OrdersTotal() > 0)
открытие();
else
сопровождение();
}
bool открытие()
{
// здесь код открытия
}
bool сопровождение()
{
// здесь код сопровождения
}
Este é o caso se a conta fornecer, mas mais freqüentemente é o caso do trabalho de outros Consultores Especialistas ou da abertura manual de ordens.
Posso selecionar programticamente a data de início do histórico da conta no terminal?
Você pode. Esta será a primeira ordem na história com o tipo 6 - operação de equilíbrio.
Eu não preciso da primeira ordem na história ... a história é aberta ao máximo eu preciso da história a partir de uma determinada data ... que eu vou definir programticamente (aparentemente, a questão foi racionalizada às custas dos detalhes)
Mas a questão ainda é "racionalizada", então direi que devemos pular as ordens cujo tempo aberto é mais cedo do que aquela "data específica".
A resposta também é que você pode.
Mas a questão ainda permanece "racionalizada", então eu diria que devemos saltar ordens cujo tempo de abertura é anterior a esta "determinada data" ... claro que não me ocorreu ... mas 7 anos é um número muito grande de ordens ...
a pergunta é sublinhada em vermelho na imagem da tela ... então a pergunta não é simplificada?
É claro que não me ocorreu filtrar por data ... mas em 7 anos há muitos pedidos .
Na captura de tela, a pergunta é sublinhada em vermelho e você tem que colocar uma certa data lá... então a pergunta não é simplificada?
O que você quer fazer exatamente programático?
Eu não entendo sua pergunta :(
O que você quer fazer exatamente programático?
onde está sublinhado em vermelho, digite a data e essencialmente clique ok... ela determina a profundidade da história no relatório