[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 830

 
gince:
Isto é retirado de Moving Average.mq4
Você mesmo deve ter mudado o código, e agora você está confiando neste material)
 
Techno:
)) Você mesmo deve ter mudado o código EA há algum tempo, e agora você mesmo é guiado por essas entradas )


Desculpe, talvez eu tenha entendido errado. Baseei meu código no Moving Average.mq4 e fiz alterações nele.

Eu não sou russo e às vezes é difícil para mim descrever o que quero.

 
gince:


Eu não sou russo e às vezes tenho dificuldade para descrever o que quero.

Mas até que você descreva o que você quer, é difícil ajudá-lo
 
abolk:
Mas até que você descreva o que você quer, é difícil ajudar você


Você tem dois sinais

duplo tr0=iCustom(NULL,0, "trd",0,0);// pode ser 0 ou 1. Se 1, então compre
duplo tr1=iCustom(NULL,0, "trd",1,0);// pode ser 0 ou 1. Se 1 vendemos

Vou falar sobre a venda

Quando tr1 é igual a 1 após o próximo tick, então a verificação começa no momento t para ver se a unidade se mantém desde t pelo período de tempo . A verificação é feita em intervalos de tempo delta. Como exemplo, tomamos t=........ //10.00 hora, tim = 600 seg, delta = 60 seg. Portanto, às 10h00 há tr1=1 (antes de 0). Mas não vamos vendê-la. A venda será confirmada se o sinal atingir 600 seg, ou seja, 10,10. A verificação não é feita o tempo todo, mas em intervalos de tempo delta=60 seg (10.00, 10.01, 10.02, ....... , 10.09, 10.10). E se a cada cheque tr1=1, então damos um sinal de venda.

Há também uma desvantagem - o zero pode aparecer entre cada cheque e o sinal pode ser falso. Os controles podem ser simplificados, mas o computador fica muito ocupado. Você deve encontrar o meio de ouro neste caso e ver o que acontece. Tudo isto é para experimentação.


 
gince:


Há dois sinais

duplo tr0=iCustom(NULL,0, "trd",0,0);// pode ser 0 ou 1 . Se 1 nós comprarmos
duplo tr1=iCustom(NULL,0, "trd",1,0);// pode ser 0 ou 1. Se 1 vendemos


Não está claro, dois sinais diferentes (contraditórios) podem ser recebidos ao mesmo tempo?

 
abolk:

Não está claro, dois sinais diferentes (conflitantes) podem ser recebidos ao mesmo tempo?


Não, não é. Eles são retirados de diferentes amortecedores e apenas um deles pode obter um. Possíveis combinações

tr0 0 0 1 0

tr1 0 0 1

1 e 1 é uma combinação impossível

 
void init()
{
  isSign=false;
}

void start() // запускается с каждым тиком
{
   if(!isSign) // если сигнала нет
   {
      sign0=???; // формула определения sign
      if(sign0==1) // если сигнал поступил
      {
         t0=TimeCurrent(); //фиксируем время
         isSign=true; // переключатель - сигнал поступил
      }
   }
   if(isSign) // если сигнал есть
   {
      t=TimeCurrent(); // новое время
      if(t<=t0+delta) // если временной промежуток не закончился
      {
         sign1=???; //формула определения нового сигнала
         if(sign1!=sign0) // если новый сигнал изменился (не продержался)
         {
            isSign=false; // переключатель - сигнала нет
         }
      }
      if(t>t0+delta) // если промежуток закончился
      {
         if(isSign) // если сигнал удержался
         {
            //действия по сигналу
         }
      }
   }
}

Verificação a cada tique, não em intervalos discretos

Desculpe se eu cometi um erro.

 
gince:


Não, não pode. Eles são retirados de diferentes amortecedores e apenas um deles pode dar 1. Possíveis combinações

tr0 0 0 1 0

tr1 0 0 1

1 e 1 é uma combinação impossível

sinal === 1.

ativar o temporizador de substituição.

se o sinal == 1. não definir o temporizador de sobreposição.

se o sinal == -1, então reinicie o temporizador Comprar e, em seguida, ative o temporizador Comprar.

se o sinal == -1. não tocar no temporizador de venda.

se o sinal chegasse a 0, zeraria os dois temporizadores.

Se o cronômetro contar para baixo durante 5 minutos, então estamos prontos para ir.

 
neama:


sinal sig_bye== 1. se 0 o temporizador não iniciar
ajustar o temporizador da bóia.
Se o sinal ==1, deixe o temporizador do bay ocioso.
Se o sinal sig_bai== 0. então reinicie o temporizador do compartimento.

O cronômetro conta 5 minutos em intervalos de, digamos, um minuto duas vezes, então trabalharemos em bai.

Quando o sinal sig_beam dispara== 1. Se 0, o timer não inicia.
ligue o temporizador sel.
Se o sinal Sat_en_esel===1, deixe o temporizador do sono ocioso.
Se um sinal Sig_sel==0 chegar, reinicie o temporizador automático.
o cronômetro conta para baixo durante 5 minutos em intervalos de um minuto, digamos duas vezes por minuto, e depois reinicializa.



 
abolk:

Verificar a cada tique, não em intervalos discretos

Desculpe se eu cometi um erro.


Todos os carrapatos são inaceitáveis.