[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 93

 
coronel:

Aqui vai uma dica.

Há um truque legal no editor - a dica da F1.

Destaque a função que você está anulando e pressione F1.

A ajuda será aberta, e você deve estudar cuidadosamente quais devem ser os parâmetros da função.

Não perca a quantidade e a qualidade dos parâmetros introduzidos na função.


Obrigado!
 
100yan:

Como fechar um pedido corretamente em peças em momentos diferentes e uma vez? Tenho lutado durante dias...

https://www.mql5.com/ru/forum/131277/page69

Se o lote da posição após um fechamento parcial for menor do que antes do fechamento, e a barra na qual o fechamento parcial ocorreu não tiver mudado, então não feche novamente. Esta é uma das muitas maneiras de fechar parte de uma posição "uma vez" no bar atual.

Você define seus próprios critérios para fechar uma posição (uma parte de uma posição), e então nós o ajudaremos se você não tiver certeza.

 

Olá.

Você pode me dizer como fazer aparecer um alerta após um determinado número de minutos?

Eu gostaria de usar o Tempo[], mas não consigo entender, então fiz o seguinte: Sleep(60000*step); Sleep(60000*step);.

Estrutura de trabalho M1

extern int  step = 3;   // периодичность появления алерта мин.

static int        prevtime = 0;
//-------------------------------------------
int start()
  {
   if (Time[0] == prevtime) return(0);
   // Запомним текущий бар
   prevtime = Time[0];
//-------------------------------------

   Alert ("прошло ",step," мин.");
   
   //Sleep(60000*step);

//--------------------------------------
   return(0);
  }


 
Zar:

Olá.

Você pode me dizer como fazer aparecer um alerta após um determinado número de minutos na exposição?

Eu gostaria de usar o Tempo[], mas não consigo descobrir, então fiz o seguinte: Sleep(60000*step); Sleep(60000*step);.

Estrutura de trabalho M1

 extern int  step = 3;     // периодичность появления алерта в мин.
 datetime  LastAlertTime;

//-------------------------------------
 int start()
  {
//-------------------------------------
       if(TimeCurrent() - LastAlertTime > step*60)
        {    
          Alert ("прошло ",step," мин.");
          LastAlertTime=TimeCurrent();  
        }
//--------------------------------------
   return(0);
  }
 
coronel:

Obrigado, está funcionando.
 
artmedia70:

Se o lote da posição após o fechamento parcial for menor do que antes do fechamento, e a barra em que o fechamento parcial ocorreu não tiver mudado, então não feche novamente. Esta é uma das muitas maneiras de fechar parte de uma posição "uma vez" no bar atual.

Se você definir os critérios para fechar a posição (sua parte), nós o ajudaremos se você não tiver certeza.


+ sergeev - Obrigado por seu feedback!

O problema é descrito aqui https://www.mql5.com/ru/forum/131277/page69 Em resumo, a idéia é abrir uma ordem e fechá-la parcialmente quando certos níveis de TP são atingidos. O problema é que negociamos em M5 - M30 e o pedido é fechado não em barras, mas em um período muito mais longo (D1, etc.). Uma vez alcançado o TP1, o prisma de fechamento da 1ª parte é acionado, etc. Não consigo encontrar uma solução sobre como identificar as partes para não fechar a encomenda inteira. (Meu primeiro pensamento foi definir TR1, mas mais tarde o preço tem sido andar e dar sinais de fechamento para outras partes...)

Obrigado de antemão!

 
100yan:


+ sergeev - Obrigado por seu feedback!

O problema é descrito aqui https://www.mql5.com/ru/forum/131277/page69 Em resumo, a idéia é abrir um pedido e fechá-lo em partes quando determinados níveis de TP são atingidos. O problema é que negociamos em M5 - M30 e o pedido não é fechado em barras, mas em um período muito mais longo (D1, etc.). Ao chegar ao TP1, o prametro de fechamento da 1ª parte é acionado, etc. Não consigo encontrar uma solução sobre como identificar as partes para não fechar a encomenda inteira. (Meu primeiro pensamento foi definir TR1, mas mais tarde o preço tem sido andar e dar sinais de fechamento para outras partes...)

Obrigado de antemão!

Criar bandeiras, por exemplo

Para TP1 - bool TP1, para TP2 - bool TP2, etc. ...

Inicialmente seus valores são falsos.

Antes de outro fechamento, você faz uma verificação:

se (!TP1) {código para fechamento parcial da primeira parte, após um fechamento bem sucedido escreva TP1=verdadeiro}

se (!TP2) {código para fechar parcialmente a segunda parte, após um fechamento bem sucedido escreva TP2=verdadeiro}

... e assim por diante para todas as partes...

assim, as bandeiras sinalizarão que cada parte já foi fechada uma vez.

 
Como posso obter o valor de fechamento da barra 3 a partir de zero?
 
ScioMe:
Como posso obter o valor de fechamento da barra 3 a partir de zero?
  double Bar3Close = iClose(NULL,0,3);   
 
Obrigado, você pode fazer isto: Fechar[3]?