mql5 - linha vertical depois de um certo tempo desde o último comércio - página 5

 

Último negócio Mover linha vertical

versão "1.004

Agora a linha é movida de acordo com as exigências.

   long offset_seconds=60*60*1;
   if(profit_last_day<=0.0 && profit_last_deal<=0.0)
     {
      offset_seconds=60*60*24;
     }
   else if(profit_last_day>0.0 && profit_last_deal<=0.0)
     {
      offset_seconds=60*60*2;
     }

   VLineMove(0,InpVLineName,time[rates_total-1]+offset_seconds);


Após remover o indicador do gráfico, o comentário do gráfico é apagado e a linha é apagada.

//+------------------------------------------------------------------+ 
//| Custom indicator deinitialization function                                 | 
//+------------------------------------------------------------------+ 
void OnDeinit(const int reason)
  {
   Comment("");
   VLineDelete(0,InpVLineName);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
Arquivos anexados:
 
Vladimir Karputov:

Último negócio Mover linha vertical

versão "1.004

Agora a linha é movida de acordo com as exigências.


Após remover o indicador do gráfico, o comentário do gráfico é apagado e a linha é apagada.

Ótimo!
Somente, como eu entendo, há uma imprecisão na definição do tempo requerido, ou seja, o turno é adicionado ao tempo atual, enquanto que deve ser adicionado ao horário de fechamento do último comércio.
Como resultado, a linha pode acabar no futuro, bem como no passado:
- no futuro. Por exemplo, a última troca foi há 10 minutos com resultados negativos para a própria troca e para o dia como um todo - a linha se deslocou em 23 horas 50 minutos em relação à hora atual.
- no passado. Por exemplo, o último negócio foi ontem à noite às 20:00 h, como resultado mais no negócio e mais no dia - a linha foi traçada na barra de ontem correspondente à hora das 21:00 h.

 
Não negocio neste indicador enquanto a linha estiver no futuro - recuperando emocionalmente para tomar a próxima decisão comercial com uma cabeça fria
 
renatmt5:

Ótimo!
Mas, tanto quanto vejo, há uma imprecisão na especificação do tempo necessário, ou seja, o turno é adicionado ao tempo atual enquanto o turno deve ser adicionado ao tempo de fechamento do último comércio.
Como resultado, a linha pode acabar no futuro, bem como no passado:
- no futuro. Por exemplo, a última troca foi há 10 minutos com resultados negativos para a própria troca e para o dia como um todo - a linha mudou em 23 horas 50 minutos em relação à hora atual.
- no passado. Por exemplo, o último negócio foi ontem à noite às 20:00 h, como resultado mais no negócio e mais no dia - a linha foi traçada na barra de ontem correspondente à hora das 21:00 h.

Não é o tempo que é definido de forma imprecisa, são os Termos de Referência que continuam a ser refinados :)

Portanto, precisamos modificar a função LastProfitForPeriod e acrescentar um terceiro argumento a ela - o tempo da última negociação. Mas eu farei isso na hora do almoço.

 
Vladimir Karputov:

Não é o tempo que é definido de forma imprecisa, são os Termos de Referência que continuam a ser refinados :)

Portanto, precisamos modificar a função LastProfitForPeriod e acrescentar um terceiro argumento a ela - o tempo da última negociação. Mas eu o farei na hora do almoço.

Vladimir, eu definitivamente levarei em conta a imprecisão da especificação do requisito no futuro!

 
Sim, eu também acabei de notar - lucro no último dia e lucro no último negócio não são mais contados nos Comentários - eles são mostrados como zeros.
Minha última negociação foi há 19 horas, ou seja, dentro de +-24 horas da hora atual
 
Só por precaução - entre a última transação ontem e o momento atual houve uma operação de corretagem ACID_NW - comissão, como eu a entendo. Mas você nunca sabe - talvez tenha "quebrado" de alguma forma o algoritmo de cálculo
 
Após o fechamento do pedido, os dados doúltimo dia de lucro e do último negócio foram atualizados e o resultado do novo último negócio e do dia atual foram exibidos corretamente.
 
renatmt5:
Só por precaução - entre o último negócio de ontem e a hora atual houve a operação do corretor ACID_NW - comissão, como eu entendo. E quem sabe - talvez tenha "quebrado" de alguma forma o algoritmo de cálculo

Não vou mudar nada, pois há cada vez mais sutilezas, dependendo do tipo de conta: netting ou hedging.


Não vou mudar nada, porque há cada vez mais nuances, dependendo do tipo de conta: netting ou hedging.

 
Vladimir Karputov:

Não vou mudar nada, pois há cada vez mais sutilezas, dependendo do tipo de conta: netting ou hedging.


O resto é com você.

Ok.
Muito obrigado por sua ajuda, Vladimir!