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

 
TarasBY:
Você está falando de "considerar" e DC?! ;)

Não tem nada a ver com DC.
 

Tenho brincado com um Expert Advisor bastante pouco sofisticado que escrevi. Mas decidi acrescentar ao meu especialista não um, mas vários sinais para entrar no mercado. Mas quero apenas uma ordem para cada sinal para entrar no mercado.

O assunto é o seguinte. Eu inventei para delimitar as ordens por Magic. A busca de pedidos ficaria assim:

//+-------------------------------------------------------------------------------------+
//| Поиск своих ордеров                                                                  |
//+-------------------------------------------------------------------------------------+
int FindOrders(int magic)
{
  int t;                                                 // Количество открытых позиции (buy's + sell's)
  int total = OrdersTotal() - 1;
  
  for(int i=total; i>=0; i--)
  {
    if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if(OrderMagicNumber() == magic && OrderSymbol() == Symbol())
      {
        t++;
      }
  }
  
  return(t);
}

A seguir... precisamos abrir pedidos para cada tipo de sinal com sua própria magia. Por exemplo, para as vendas, eu já o tinha assim antes:

//+-------------------------------------------------------------------------------------+
//| Открытие коротких позиций                                                           |
//+-------------------------------------------------------------------------------------+
bool OpenSell()
{
  int ticket = -1;
  string myNote = "Сов шортанул";
  
  ticket = OrderSend(Symbol(),OP_SELL,0.1,Bid,i_slippage,0,0,myNote,magic,0,Red);
    return(true);
  
  return(false);
}

Neste momento, decidi usar o operador do interruptor, é razoável usar este operador neste caso?

//+-------------------------------------------------------------------------------------+
//| Открытие коротких позиций                                                           |
//+-------------------------------------------------------------------------------------+
bool OpenSell()
{
  int ticket = -1;
  string myNote = "Сов шортанул";
  
    switch(maState)
  {
    case 4:    ticket = OrderSend(Symbol(),OP_SELL,0.1,Bid,i_slippage,0,0,myNote,i_myMagic6,0,Red); break;
    case 5:    ticket = OrderSend(Symbol(),OP_SELL,0.1,Bid,i_slippage,0,0,myNote,i_myMagic25,0,Red); break;
    case 6:    ticket = OrderSend(Symbol(),OP_SELL,0.1,Bid,i_slippage,0,0,myNote,i_myMagic150,0,Red); break;
    case 7:    ticket = OrderSend(Symbol(),OP_SELL,0.1,Bid,i_slippage,0,0,myNote,i_myMagic250,0,Red); break;
    default:   return(false);
  }
    return(true);
}

E era este o aspecto da função comercial:

//+-------------------------------------------------------------------------------------+
//| Открытие позиций                                                                    |
//+-------------------------------------------------------------------------------------+
bool Trade(int signal)
{
  if(signal == SIGNAL_BUY && FindOrders() == 0)
    if(!OpenBuy())
    return(false);
  
  if(signal == SIGNAL_SELL && FindOrders() == 0)
    if(!OpenSell())
    return(false);
    
  return(true);
}

Devo implementá-lo também aqui através do operador do interruptor? Eu estava pensando em passar a Magia através de parâmetros formais para a função FindOrders() também, mas eu não sei como...

 
Olá. Você pode calcular uma possível perda para uma taxa cruzada, por exemplo GBPCHF, abrir um pedido de 1 lote e colocar uma parada de 50 pip. Tanto quanto sei, o valor do pip depende da moeda base, que é desconhecida, o que ele mostrará no futuro.
 

O valor de 1 pip de GBPCHG (se não me engano) para 1 lote é de $8. Assim, se o preço for contra você e um stop-loss for acionado, uma perda de cerca de $50*8=-$400 será registrada.

E as perdas em asc-bid spread (6-8 pips) devem ser adicionadas...
 
Assim, o custo do item muda a cada vez que
 

Pergunta sobre o MT4. Tenho testado e otimizado a EA por um longo tempo (alguns dias).

Tudo estava bem. E de repente, quando eu dirijo a EA, ela começa a mostrar entrada em todos os bares e saída imediatamente, em suma, não é uma estratégia, mas o inferno sabe o quê!

Provavelmente, em algum lugar, algo deu errado nos ambientes. Onde e o que poderia ser? Ajuda. plz....

 
Caesar34:
Olá.. Você pode me dizer como fazer um período de MA ou EMA com um valor negativo, quando as configurações não permitem... ? em MT4
Spam?
 
Caesar34:


Não!!
Então por que postar em um par de fios com uma pergunta?
 

A consulta iLow retorna um valor com 4 casas decimais, embora o gráfico tenha 5 casas decimais.

Por causa disso, o desenvolvimento do primeiro programa de mql4 está parado. Você pode me dizer qual pode ser o problema? Ou talvez devesse ser assim?

 
PolarsLynx:

A consulta iLow retorna um valor com 4 casas decimais, embora o gráfico tenha 5 casas decimais.

Por causa disso, o desenvolvimento do primeiro programa de mql4 está parado. Você pode me dizer qual pode ser o problema? Ou talvez devesse ser assim?

Onde está o código?