[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 52

 

Aqui está minha função de modificação de pedidos pendentes. Ao modificar, eu estabeleço um novo preço e um novo stoploss. A função funciona parcialmente, mas por alguma razão o testador está recebendo erros 1.

Minha função está escrita corretamente?

void MovingPendingOrders(/*int ticket, double newPrice*/)
{
  double priceS = NormalizeDouble((Low[1] - i_thresholdFromInput*pt),Digits);           // Новая цена открытия для OP_SELLSTOP
  double priceB = NormalizeDouble((High[1] + i_thresholdFromBasedSL*pt),Digits);        // Новая цена открытия для OP_BUYSTOP
  bool b_mod, s_mod;
  
  int total = OrdersTotal() - 1;
  int s_ticket, b_ticket;

  for(int i=total; i>=0; i--)
  {
    if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if(OrderMagicNumber() != i_myMagic) continue;
      {
        if(OrderType() == OP_BUYSTOP)
        {
          b_ticket = OrderTicket();
          b_mod = true;
        }
        if(OrderType() == OP_SELLSTOP)
        {
          s_ticket = OrderTicket();
          s_mod = true;
        }
      }
  }
  
  if(IsTradeAllowed())
  {
    if((b_mod) && (priceB > Ask)) OrderModify(b_ticket,priceB,priceS,0,0,Brown);
    if((s_mod) && (priceS < Bid)) OrderModify(s_ticket,priceS,priceB,0,0,Brown);
  }
  Print("MovingPendingOrders переоткрыл ордер по новой цене");
}
 
hoz:

Minha função está escrita corretamente?

 bool b_mod = false; 
 bool s_mod = false;
 
hoz:

Aqui está minha função de modificação de pedidos pendentes. Ao modificar, eu estabeleço um novo preço e um novo stoploss. A função funciona parcialmente, mas por alguma razão o testador está recebendo erros 1.

Minha função está escrita corretamente?

...e em cada carrapato que você modifica uma e outra vez. ?!
 
BeerGod:

Por favor, aconselhe como fazer uma saída EA um comentário em cima de um quadro que cobre o quadro para torná-lo legível, já vi isso implementado, mas não sei como.

Não sei como fazer isso agora:

Deveria ser assim:

Deveríamos usar algum tipo de fonte. Talvez até mesmo criar o seu próprio.
 
silatyt:
...e em cada carrapato que você modifica uma e outra vez. ?!

Eu não sabia onde colocá-lo, estraguei a lógica do Expert Advisor por inexperiência. Para verificar a função, coloquei-a no início... Sim, estava em cada tic-tac, por isso o erro. Então, após a função definindo uma nova barra, eu a coloquei e corrigi o código comoTheXpert me disse e tudo correu como deveria.
 

Boa tarde. Você poderia me dizer como deve ser um pedaço de código EA, que é responsável pelo seguinte

1. Passa pelos parâmetros um a um (em um determinado intervalo, por exemplo, de 10 a 20) do indicador, no qual se baseia a EA, até que a condição para abrir o comércio não seja atendida.

2. Se a condição após a busca não for cumprida - esperar 5 minutos.

 
Boa tarde. Você pode me dizer se é possível usar as ferramentas padrão mql4 para enviar a execução do código da linha 35 para a linha 18 (linhas, por exemplo). Uma espécie de pulo no código.
 
tpg_k156:
Boa tarde. Você sabe se é possível enviar a execução do código da linha 35 para a linha 18 com as ferramentas padrão mql4 (linhas, por exemplo). Uma espécie de pulo no código.

Os operadores trocam / se - senão

e funções

 
sergeev:

interruptor / se - outros operadores

e funções



para que seja possível forçar o mesmo corpo funcional a se executar novamente? como
int Gipo()                   // Пользовательская функция  
{
всякая фигня
if(получили-что-надо)
 {
 return(что-надо);
 }
else
 {
 Gipo();
 }
}
???
 
tpg_k156:

assim é possível forçar o mesmo corpo funcional a se executar novamente? como


Sim. Chama-se recursividade.



Razão: