Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 337

 
Tapochun:
Não é o robô... Funciona sem quaisquer erros. A estrutura do resultado do comércio é MqlTradeResult, é o segundo parâmetro na função OrderSend() procurar na documentação. O código foi escrito usando o OOP, não estou familiarizado com ele. Tem de encontrar um método que envie um pedido de troca usando OrderSend() e depois de chamar Print( result.retcode ) onde o resultado é um objecto da estrutura MqlTradeResult.

Fê-lo funcionar.

É feito desta forma

MqlTradeResult result;

 trade.Result(result)

Print(result.retcode)

o comércio é um objecto de classe CTrade.

O código devolve 10030 ( Tipo de execução de ordem de saldo não suportado especificado)

O que significa isto?

 
Maxi-M:

Fê-lo funcionar.

É feito desta forma

o comércio é um objecto de classe CTrade.

O código devolve 10030 ( Tipo de execução de ordem de saldo não suportado especificado)

O que significa isto?

Já tentou abrir uma conta de demonstração no servidor MetaQuotes-Demo? Se não, experimente e se tudo estiver bem, escreva ao Service Desk e reclame que a classe CTrade do Expert Advisor trabalha incorrectamente no servidor que está a utilizar. Se ainda for mau... Também pode escrever ao Service Desk e dizer que não pode executar o robô, há um erro... Mas antes de mais, não se esqueça de tentar executá-lo no servidor methaqvot de demonstração!
 

Ajuda Plz!

1 Aqui está a função:

 if (OrdersTotal()==1) 
   if(profit>=tp_in_money || a>0) 
   {
      closeall();
      closeall();
      closeall();
      //a++;
      //if(total()==0) a=0;

Isto significa fechar todas as encomendas quando se atinge um certo lucro.

E quero que fechem com um determinado MAJIKa definido pelo lucro não me digam como fazê-lo... talvez acrescentar depois deencomendasTotal()cheta need????por exemplo!=magic ?????????

Por favor, dêem-me uma dica, estou apenas a tentar perceber.

2) Para pôr um fim virtual de 50% do depósito, estou certo?

double BOL    =AccountBalance();
double PROS    =AccountCredit();
   if(PROS<BOL*0.5 || a>0) 
   {
      closeall();
      closeall();
      closeall();
      //a++;
      //if(total()==0) a=0;
 
CapitalUser:
Ajuda Plz!
1 aqui é uma função:
if(OrdersTotal()==1)
if(profit>==tp_in_money ||| a>0)
{
fechar tudo();
fechar tudo();
fechar tudo();
//a++;
//if(total()==0) a=0;
O que quero dizer aqui é que todas as encomendas devem ser fechadas uma vez que se obtenha um certo lucro.
E eu quero que fechem com um determinado MAGIC definido pelo lucro podem dizer-me como fazer isto? talvez acrescentar depois de EncomendasTotal()cheta need????por exemplo=mágico ?????????
Por favor, digam-me, não consigo compreendê-lo.

2) Quero uma paragem virtual de 50% do depósito, estou certo:

BOL duplo =AccountBalance();
duplo PROS =AccountCredit();
if(PROS<BOL*0.5 ||| a>0)
{
fechar tudo();
fechar tudo();
fechar tudo();
//a++;
//if(total()==0) a=0;

  • Desenho dolorosamente familiar, mas está bem.

Eu não pretendo ser perfeito.

//+------------------------------------------------------------------+
void CloseProfit(int mag,double profit)
  {

   double pro=0,pri=0;
   static bool flag=false;
   for(int i=OrdersTotal()-1; i>=0; i--)
      if(OrderSelect(i,SELECT_BY_POS))
         if(OrderSymbol()==_Symbol)
            if(OrderMagicNumber()==mag || mag==-1)
               pro+=OrderProfit()+OrderCommission()+OrderSwap();

   if(pro>=profit)flag=true;  if(pro==0)flag=false;

   for(int i=OrdersTotal()-1; i>=0; i--)
      if(OrderSelect(i,SELECT_BY_POS))
         if(OrderSymbol()==_Symbol)
            if(OrderMagicNumber()==mag || mag==-1)
              {
               if(OrderType()==OP_BUY )pri=Bid;
               if(OrderType()==OP_SELL)pri=Ask;
               if(OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(pri,_Digits),30,clrRed)==false)
                  Comment("Error "+GetLastError());
              }

  }
//+------------------------------------------------------------------+
 
VOLDEMAR:

  • Desenho dolorosamente familiar, mas está bem.

Eu não pretendo ser perfeito.

Obrigado!
 
Tapochun:
Já tentou abrir uma conta de demonstração no servidor MetaQuotes-Demo? Se não - experimente, se tudo estiver bem - escreva ao Service Desk e reclame que a classe CTrade na sua EA não funciona correctamente no servidor. Se ainda for mau... Também pode escrever ao Service Desk e dizer que não pode executar o robô, há um erro... Mas antes de mais, não se esqueça de tentar executá-lo no servidor methaqvot de demonstração!

Muito obrigado!

Funcionou emMetaQuotes-Demo. Escreverei para o balcão de serviço na semana para ter o servidor BCS5-Real resolvido.

 
Maxi-M:

Muito obrigado!

Funcionou emMetaQuotes-Demo. Escreverei para o balcão de serviço na semana para ter o servidor BCS5-Real resolvido.

De nada. Infelizmente, os EAs podem funcionar de forma diferente em servidores diferentes.
 

Boa noite, cavalheiros!

Pergunta: É possível criar elementos gráficos(linha de tendência, indicador..........) com extensão Gif, ou seja, com efeito de animação (cintilante, piscando..........) em MT4? Obrigado pela sua resposta.

 
gnawingmarket:

Boa noite, cavalheiros!

Pergunta: É possível criar elementos gráficos(linha de tendência, indicador..........) com extensão Gif, ou seja, com efeito de animação (cintilante, piscando..........) em MT4? Obrigado pela sua resposta.

A sua pergunta não é clara, programática, pode fazer linhas e coisas assim, mas o que quer dizer com "gif"?
 
VOLDEMAR:
A sua pergunta não é clara, o software pode fazer linhas e coisas assim, mas o que quer dizer com "gif"?
Em termos gerais, sim, a questão é crua. Vou tirar um tempo...... deixar o tema ferver no meu caldeirão. Obrigado.