[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 15

 
Novice >> :
Qual é o erro aqui e como ele pode ser implementado?

Na verdade, você já o implementou), tudo o que resta é levar o lote final a uma forma aceitável...

 
Novato escreveu(a) >>

Qual é o erro aqui e como ele pode ser implementado?

esqueceu de colocar ; no final de cada linha !!!

 
neoclassic >> :
Você pode me dizer se é possível emitir um jpeg em um gráfico?
 
Você não pode, você pode criar sua própria fonte como Wingding como imagem e saída...
 
xrust >> :

O que você está tentando implementar exatamente?


Contagem automática de lotes: 0,01 lotes para cada 50 unidades de balanço.
Figar0 >> :

Sim, na verdade você já implementou), tudo o que resta é levar o lote final a uma forma aceitável.


Deu 5 erros na compilação, não entendi por que.

keekkenen escreveu >>

esqueceu de colocar ; no final de cada linha !!!


Muito obrigado. Funcionou.
 
Boa tarde, senhores programadores. Por favor, ajude com o programa. É um temporizador, mas não está no MKL4, é um canhoto de algum tipo. Ou seja, é apenas um programa. Este temporizador faz a contagem regressiva em intervalos de tempo iguais e dá um sinal. Mas os intervalos são muito curtos. O mais longo é de 120 segundos, mas os intervalos devem ser mais longos, até meia hora. É possível fazer alguma coisa? Agradecemos antecipadamente.
Arquivos anexados:
tim_ngtrrg.rar  213 kb
 

aqui está um exemplo de uma função

bool isTime(int sec){
   bool res = false;
   static datetime time = 0;
   double min = 0;
   if (TimeCurrent() >= time){
      min = MathFloor( sec / 60);
      if ( min==0) min = 1.0;         
      time = iTime(NULL,PERIOD_H1,0) + (MathFloor(Minute()/ min) + 1) * min * 60;
      res = true;
   } 
   return( res);
}


a função retorna verdadeiro se um determinado número de segundos tiver passado desde a última chamada da função.

é feito desta forma, se ( ! isTime(Period()*60) ) retornar(0); isto é verdade para qualquer período de tempo...


na função o ponto de partida é sempre o início da hora atual(iTime(NULL,PEROD_H1,0))

Por exemplo, se você quiser ter um alerta surgindo a cada 111 segundos desde o início da primeira partida, você pode querer modificar esta função...

portanto, seria o seguinte

bool isTime(int startTime, int sec){
   bool res = false;
   static datetime time = 0;
   double min = 0; 
   if (TimeCurrent() >= time){
      min = MathFloor( sec / 60);
      if ( min==0) min = 1.0;          
      time = startTime + (MathFloor(Minute()/ min) + 1) * min * 60;
      res = true;
   }  
   return( res);
}

para que um alerta apareça a cada 111 segundos é feito da seguinte forma

int startTime = 0;

int init (){
   startTime = TimeCurrent();
}

int start(){

   if (! isTime(111)) return(0);

   Alert("Прошло 111 или более секунд !");
}
 
keekkenen >> :

aqui está um exemplo de uma função


a função retorna verdadeiro se um determinado número de segundos tiver passado desde a última vez que a função foi chamada.

se ( ! isTime(Period()*60) ) retornar(0); este comportamento se aplica a qualquer período de tempo.


na função o ponto de partida é sempre o início da hora atual(iTime(NULL,PEROD_H1,0))

por exemplo, se você quiser que um alerta apareça a cada 111 segundos após o primeiro início, você precisa modificar esta função...

obtemos o seguinte

para que o alerta apareça a cada 111 segundos





Obrigado, você poderia me dizer como formatá-lo: como um roteiro ou como um consultor?

 
Bem, é com você onde você quer usá-lo... funcionará ali e ali...
 

Você pode me dizer se é possível aumentar o número de lotes em uma ordem de mercado sem abrir novos lotes?

Razão: