[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 52

 
FAQ:

Completamente independente disso. Talvez dependa de algo mais, mas não de carrapatos - eu verifiquei. Em geral, a nova construção mudou completamente a operação do terminal em relação ao fluxo EA. Agora o looped EA cumpre claramente todas as iterações do loop independentemente da operação do terminal, nas versões antigas, havia atrasos no carregamento da rosca principal. A propósito, a quantidade de recursos da CPU consumida pela EA looped foi drasticamente reduzida.
Eu também tinha uma coisa parecida com o terminal - não havia coisas em loop - parecia que o terminal estava ocupado processando algo... Quando tentei chamar repetidamente a janela de Propriedades com meu mouse - após 5-8 tentativas - ela abriu com sucesso...
 
Roman.:
Eu também tive um problema semelhante com o terminal - não havia nada de looping - parecia que o terminal estava ocupado processando algo... quando tentei chamar repetidamente a janela Propriedades com meu mouse - após 5-8 tentativas - ela abriu com sucesso...

Possivelmente, mas isso não tem nada a ver com os carrapatos.
 
FAQ:

Talvez, mas isso não tem nada a ver com tiques.

Estou vendo.
 

Espero estar no tópico certo ; )

É uma pergunta mais núbia, mas já estou preso a ela há algum tempo.

int total=OrdensTotal();

int Q,W;
se (total === Q + W)

e depois abro várias ordens diferentes. Alguns estão em Q, outros em W. Como mudar um pedido (por exemplo, se ele fechar) para Q, ele reabrirá Q... Se ambos estiverem fechados - Q e W, eles reabrirão somente se ambos estiverem fechados.

 
Keda:

Espero estar no tópico certo ; )

É uma pergunta mais núbia, mas já estou preso a ela há algum tempo.

int total=OrdensTotal();

int Q,W;
se (total === Q + W)

e depois abro várias ordens diferentes. Alguns estão em Q, outros em W. Como mudar um pedido (por exemplo, se ele fechar) para Q, ele reabrirá Q... Caso contrário, eles só serão reabertos se Q e W estiverem ambos fechados.


Tanto quanto você pode dizer - as variáveis Q e W são inteiros.

Em seguida, as ordens de alguns inteiros são abertas (como assim?) e você está perguntando como fazer isso, se uma ordem (de algum inteiro) é fechada, a fim de reabrir algum outro inteiro. Agora eles abrem se dois inteiros fecham (quais o quê?).

A questão é super. Você disse corretamente: "A questão é bastante nubilar". Exatamente: um nó de fazer perguntas. Não seja um novato a fazer perguntas, treine-se para fazê-las de tal forma que você seja compreendido.

Enquanto isso, você deve ir aqui.

 

Posso dizer pela pergunta que a pessoa que faz a pergunta é completamente nova no mql4. Obrigado pela resposta, agora eu entendo qual é o problema.

Eu tentei entender e fiquei ainda mais confuso. Estou usando apenas 2 lotes. 2 lotes diferentes estão abrindo. Eles devem trabalhar em conjunto. Quando um deles fecha, como faço para que o fechado se abra novamente? Quando um lote é fechado, o outro trabalha junto. Somente quando ambos os lotes são fechados, 2 lotes são abertos. Eu ficaria grato pelo conselho.

 
yosuf:
A internet muitas vezes cai, não há como automatizá-la de forma programática para colocá-la em funcionamento novamente? Ou o que é conhecido nesta direção? Existe uma maneira de alimentar dois ou mais ISPs ao mesmo tempo, ou seja, em paralelo? Agradecemos antecipadamente.
É mais fácil e seguro para seu dinheiro usar o serviço VPS.
 
Keda:

Posso dizer pela pergunta que a pessoa que faz a pergunta é completamente nova no mql4. Obrigado pela resposta, agora eu entendo qual é o problema.

Eu tentei entender e fiquei ainda mais confuso. Estou usando apenas 2 lotes. 2 lotes diferentes estão abrindo. Eles devem trabalhar em conjunto. Quando um deles fecha, como faço para que o fechado se abra novamente? Quando um lote é fechado, o outro trabalha junto. Somente quando ambos os lotes são fechados, 2 lotes são abertos. Eu ficaria grato pelo conselho.


Agora eu entendo. Aqui está uma estimativa aproximada:

int    Magic=123;

double Lot_Q=0.01;
double Lot_W=0.05;

bool   Flag_Q=False;
bool   Flag_W=False;


//Просматриваем все открытые ордера

for(int i = OrdersTotal() - 1; i >= 0; i--) 
  {
   OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
   if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)//Если это ордер данного символа и магика (т.е. открыт данным советником)
     {
      if(OrderLots()==Lot_Q) Flag_Q=True;//Если ордер с объемом Q есть среди открытых, присваиваем флагу Q истину.
      if(OrderLots()==Lot_W) Flag_W=True;//Если ордер с объемом W есть среди открытых, присваиваем флагу W истину.
     }
   }


//Проверяем условия нужности открытия - индикаторы, другие сигналы, и что там у Вас еще. И если есть сигнал

if(Flag_Q==False)//Только если ордер Q не открыт в настоящий момент
  {
   //Открытие ордера Q
  }

if(Flag_W==False)//Только если ордер W не открыт в настоящий момент
  {
   //Открытие ордера W
  }
 
Oh ótimo, é isso. Obrigado
 

Olá novamente) Olá! Você pode me dizer como escrever isto de uma forma mais compacta?

        for (i=4; i<7; i++){
        sum+=GetPrcD1(symb[i]);
        Content[5][1]=DoubleToStr(sum/3,3);
        }
        
        for (i=7; i<10; i++){
        sum+=GetPrcD1(symb[i]);
        Content[6][1]=DoubleToStr(sum/3,3);
        }

        for (i=10; i<13; i++){
        sum+=GetPrcD1(symb[i]);
        Content[7][1]=DoubleToStr(sum/3,3);
        }

        for (i=13; i<16; i++){
        sum+=GetPrcD1(symb[i]);
        Content[8][1]=DoubleToStr(sum/3,3);
        }

        for (i=16; i<19; i++){
        sum+=GetPrcD1(symb[i]);
        Content[9][1]=DoubleToStr(sum/3,3);
        }