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 808

 

Olá! me ajude aqui. Estou escrevendo minha primeira EA em MQL4.

Meu Conselheiro Especialista abre uma posição, mas não a fecha. Ele não mostra nenhum erro no registro.

void OnTick()
  {RefreshRates();
  ma1=iMA(_Symbol,TimeFrame,Period_MA1,Shift_MA1,metod_ma1,PRICE_CLOSE,0);
ma2=iMA(_Symbol,TimeFrame,Period_MA2,Shift_MA2,metod_ma2,PRICE_CLOSE,0);


if (ma1<ma2)
{
SellPositionClose();
BuyPositionOpen();
}

if (ma1>ma2)
{
BuyPositionClose();
SellPositionOpen();
}
}
 

     
void BuyPositionOpen()  // покупка
{int res=0;
RefreshRates();
if (OrdersTotal()==0)
res=OrderSend(_Symbol,OP_BUY,Lots,Ask,3,0,0,"",Magic,0,Blue);
if (res<0) Print("OrderClose111111 error ",GetLastError());
}

void     SellPositionOpen() // продажа
{int res=0;
RefreshRates();
if (OrdersTotal()==0)
res=OrderSend(_Symbol,OP_SELL,Lots,Bid,3,0,0,"",Magic,0,Red);
if (res<0) Print("OrderClose111111 error ",GetLastError());
}

void BuyPositionClose() // закрытие длинной позиции
{RefreshRates();
if ((OrdersTotal()!=0) && (OrderMagicNumber()==Magic))
{
if (!OrderSelect(0,SELECT_BY_POS,MODE_TRADES)) Print("OrderClose error ",GetLastError());

 if(OrderType()==OP_BUY)
           
            if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
               Print("OrderClose error ",GetLastError());
               }
               }
               
void SellPositionClose()  // закрытие короткой позиции
{RefreshRates();
if (OrdersTotal()!=0 && OrderMagicNumber()==Magic)
{
if (!OrderSelect(0,SELECT_BY_POS,MODE_TRADES)) Print("OrderClose error ",GetLastError());
    
     if(OrderType()==OP_SELL)
                
            if(!OrderClose(OrderTicket(),OrderLots(),Ask,100,White))
               Print("OrderClose error ",GetLastError());
               
               }
               }
 
Terind:

Olá! me ajude aqui. Estou escrevendo minha primeira EA em MQL4.

Meu Conselheiro Especialista abre uma posição, mas não a fecha. Ele não mostra nenhum erro no registro.

Esta condição não funciona:

if ((OrdersTotal()!=0) && (OrderMagicNumber()==Magic)) //ордер ещё не выбран с помощью OrderSelect()
 
evillive:

Esta é a condição que não funciona:

Obrigado. Consertado, está funcionando agora.
 
Olá. encontrei este problema. quando eu desenho linhas e retângulos no gráfico de um par, todos estes elementos são exibidos nos mercados de outros pares. por que isso e como posso removê-lo?
 
roymax:
Quando desenho linhas e retângulos no gráfico de um par, todos esses elementos são exibidos nos mercados de outros pares. por que isso acontece, e como posso removê-lo?
Preciso mostrá-lo, já que outros não sabem como fazê-lo. E de preferência no código
 

Este é um bug de longa data, você poderia considerá-lo uma característica :)

1. Desenhe algo em algum gráfico

2. Pressione a barra de espaço e mude para outro par

Os objetos gráficos permanecem no gráfico

Exemplo:

No gráfico do euro, uma linha reta foi traçada

Movido para a libra e reduzido a escala vertical

 
tara:

Este é um bug de longa data, você poderia considerá-lo uma característica :)

1. Desenhe algo em algum gráfico

2. Pressione a barra de espaço e mude para outro par

Os objetos gráficos permanecem no gráfico

Bild 765, não funciona, os objetos permanecem, mas no gráfico onde eles foram criados :)

P.S.: A maneira como Alexey descreveu certamente funciona, mas na verdade esta ação ocorre em uma janela, o símbolo do gráfico muda, mas o objeto está preso à janela, não a um símbolo))))

 
AccountInfoInteger(ACCOUNT_TRADE_ALLOWED)=falso significa que a conta está bloqueada? Ou é apenas uma proibição comercial? Que outros critérios existem para uma conta bloqueada? E o que exatamente, além de uma proibição comercial, a conta é bloqueada se o login foi aprovado (quero dizer erro 64)?
 
tara:

Este é um bug de longa data, você poderia considerá-lo uma característica :)

1. Desenhe algo em algum gráfico

2. Pressione a barra de espaço e mude para outro par

Os objetos gráficos permanecem no gráfico

Exemplo:

e isto não foi corrigido de forma alguma?
 

Olá. procurei na documentação mas não consegui encontrá-la. minha pergunta é esta. é possível mudar esta imagem no início da EA para o seu logotipo?