Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 119

 
hoz:


Hmm. E como este número pode influenciar a coleta de estatísticas de pedidos?


Isso é ótimo! O mais interessante é que alguém sabe disso, por estranho que pareça. Como alguém poderia ter adivinhado isso?


Se uma coruja for testada na demonstração, como esta ordem pode ser contabilizada? Ou seja, o saldo, que inicialmente é dado na demonstração - será que... o procurado UM? E o que temos no mercado real é o que retiramos e depositamos, certo?

Talvez seja possível prescrever de alguma forma o saque de parte do depósito, quando se fecha com um bom lucro, ou o enchimento quando se atinge o prejuízo. Devo procurar, talvez exista tal coisa, eh?

 
hoz:


Hmm. E como este número pode afetar a coleta de estatísticas sobre os mandados?


Isso é ótimo! O mais interessante é que alguém sabe disso de forma estranha. Como alguém poderia ter adivinhado isso?


Se uma coruja for testada na demonstração, como esta ordem pode ser contabilizada? Ou seja, o saldo, que é dado inicialmente na demonstração - será que... o procurado UM? E no verdadeiro - é o que retiramos e colocamos no depósito, certo?

Bem, por que você não verifica o tipo 6 em nenhuma de suas iterações de pedidos e, se houver alguma, imprime todos os dados sobre ela no registro. Acho que se você vir mais informações claras sobre eles, você entenderá como utilizá-los em seu benefício. O que é isso? :))

ZS. Não por peste, mas pelo desenvolvimento...

 
artmedia70:

Por que você não verifica o pedido tipo 6 em qualquer um de seus loops e, se você receber um, registra tudo. Acho que quando você vir informações mais claras sobre eles, fará mais sentido que você as utilize em seu benefício. O que é isso? :))

ZS. Não por peste, mas pelo desenvolvimento...



Farei quando terminar o código atual (ou seja, exibir no registro todos os parâmetros da ordem? No testador também pode?) Embora se for apenas uma operação não comercial, então, absentmindedly estranho tudo isso.

A propósito, eu consertei a função de busca de pedidos. Nada mudou. O número mínimo de todas as ordens e o número de ordens pendentes é 1. Mesmo quando não há nenhuma ordem no mercado. Aqui está o código:

//+-------------------------------------------------------------------------------------+
//| Поиск своих ордеров                                                                 |
//+-------------------------------------------------------------------------------------+
void FindOrders(int& t, int& p)
{
   int total = OrdersTotal() - 1;
   t = 0;
   p = 0;
   for (int i=total; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol() != Symbol()) continue;
      if (OrderMagicNumber() != i_magic) continue;
      if (OrderType() > 1 || OrderType() < 6)
      {
          p++;
      }
      t++;
      pr ("FindOrders(): " + "t = " + t);
      pr ("FindOrders(): " + "p = " + p);
   }
}

O tipo 6 já foi excluído. Não há zeragem por algum motivo. O que está errado? Tudo isso já funcionou bem antes. O código é primitivamente simples.

 
hoz:


Farei isso quando completar o código atual (quero dizer, exibir no registro todos os parâmetros da ordem? no testador, também?) Embora se não for apenas uma operação comercial, então é estranho na ausência.

A propósito, aqui está uma correção para a função de busca de pedidos. Nada mudou. O valor mínimo do número de todos os pedidos, e o número de pedidos em geral é de pelo menos 1. Mesmo quando não há nenhuma ordem no mercado. Aqui está o código:

O tipo 6 já foi excluído. Não há zeragem por algum motivo. O que está errado? Tudo isso já funcionou bem antes. O código é primitivamente simples.


if (OrderType() > 1 && OrderType() < 6)
 
artmedia70:


se (OrderType() > 1 && OrderType() < 6)


Já é um sinal de sonolência, aparentemente.

Mas, novamente, essa não é realmente a questão. Eu estou dirigindo a coruja no testador. Na captura de tela, como você pode ver, não há ordens pendentes ou ordens de mercado.

Tanto a função separada quanto o comentário padrão que fiz duplicou a função separada para exibir os valores necessários mostram que há ordens de mercado e ordens pendentes o tempo todo.

É assim que a função funciona:

//+-------------------------------------------------------------------------------------+
//| Поиск своих ордеров                                                                 |
//+-------------------------------------------------------------------------------------+
void FindOrders(int& t, int& p)
{
   int total = OrdersTotal() - 1;
   t = 0;
   p = 0;
   for (int i=total; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol() != Symbol()) continue;
      if (OrderMagicNumber() != i_magic) continue;
      if (OrderType() > 1 && OrderType() < 6)
      {
          p++;
      }
      t++;
      Comment("t = ", t, "p = ", p);
      pr ("FindOrders(): " + "t = " + t);
      pr ("FindOrders(): " + "p = " + p);
   }
}

Eu o chamo desde o início, onde os valores iniciais dos contadores também são zerados:

int start()
{
   if (g_lastBarTime == Time[0])         // На текущем баре все необходимые действия..
       return (0);                               // ..уже были выполнены
   
   int oTotal = 0, oPending = 0;
   
   FindOrders(oTotal, oPending);
   
   int signal = GetGeneralSignal(oTotal);
   
   if (signal != SIGNAL_NO)
   {
       if (!Trade(signal))
       return(0);
   }
   else
 

me ajude a encontrar meu erro))

if(to1<tc&&mag==11&&total>0&&tip==OP_BUYSTOP){

RefreshRates();

double st=NormalizeDouble(Ask+delta*Point-StopLoss*Point,Dígitos);

double tp=NormalizeDouble(Ask+TakeProfit*Point+delta1*Point,Dígitos);

se (OrderModify(ticket,Ask+delta*Point,3,st,tp))

{to1=tc; Print("BUY STOP1 MOD : ");}

}

OrderModify error 130


 
Onde está OrderSelect()?
 
Por que não consigo acompanhar os tópicos do fórum e por que não consigo receber mensagens na minha caixa de entrada?
 
JLY:
Por que não consigo acompanhar os tópicos do fórum, as mensagens não chegam ao meu e-mail?

Seria melhor se eles o fizessem como no fórum MQL5, novas mensagens nos tópicos favoritos seriam exibidas com um asterisco na parte superior perto do perfil.

 
Alguém pode me dizer se existe uma função que mede o tempo desde o momento em que uma ordem para abrir uma posição é enviada até ser aceita pelo servidor do corretor? Eu tenho um EA rodando no VPS, estava procurando por mais barato (não necessariamente mais perto do corretor) e me perguntava quanto tempo esse atraso levava.