Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 139

 

Estou dirigindo o Consultor Especialista no Teste de Estratégia. Ao modificar um pedido de BUYSTOP, ele gera um erro:

Não entendo por que. O preço pelo qual meu pedido é oferecido para movimentação é 40 mais alto do que o preço pedido, StopLevel =30. O preço é normalizado, o que mais é necessário?

 
khorosh:

Estou dirigindo o Consultor Especialista no Teste de Estratégia. Ao modificar um pedido de BUYSTOP, ele gera um erro:

Não entendo por que. O preço pelo qual meu pedido é oferecido para movimentação é 40 mais alto do que o preço pedido, StopLevel =30. O preço é normalizado, o que mais é necessário?

Já o vi com um corretor - em vez de 10, tentei colocá-lo mais alto em 11 pips.
 
Лауреат:
Por exemplo, para abrir um número especificado de pedidos sem mais. em mql4
 
Konstantin Erin:
if(OrdersTotal() < OrdersMax) OrderSend(...); else Alert("The required number of orders opened"); if this is used then several successive orders are opened ! não orders if there is another signal to trade so how to make it open the required number of orders if there are further signals to trade after the first open order ! ?
 

Por que ninguém está ajudando, por favor?

 
Лауреат:
if(OrdersTotal() < OrdersMax) OrderSend(...); else Alert("The required number of orders opened"); se isto for usado então várias ordens consecutivas são abertas! não ordens se houver outro sinal para negociar então como fazê-lo abrir o número necessário de ordens se houver mais sinais para negociar após a primeira ordem aberta! ?
enum Цвет   // Цвет флага
{
  Красный,
  Зеленый
};

Цвет Флаг=Красный;

void start()
{
   if(!Сигнал())Флаг=Зеленый;

   if(Сигнал()>0 && Флаг==Зеленый)
   {
      OrderSend(Покупка...);
      Флаг=Красный;
   }

   if(Сигнал()<0 && Флаг==Зеленый)
   {
      OrderSend(Продажа...);
      Флаг=Красный;
   }
}

int Сигнал()  // Сигналы покупки и продажи
{
   return ЧтоНадо;
}
Isto pode ser tão curto quanto 5 linhas, mas sou preguiçoso demais para pensar...
 

Rapazes, avisem onde encontrar ou me ajudem a corrigir a parada de trilha, que funciona desta forma:

Por exemplo, uma ordem de compra com TP = 100 e SL = 200 foi aberta, e quando o preço foi para COMPRAR e passou de 50 pontos, então SL tornou-seo preço de abertura, enquanto TP foi movido para 50 pontos e assim por diante constantemente????

Posições de Rastreio Vazias(int otype)
{

int cnt = OrderTotal();

int lMinProfit = 0; // Min. pips

int lTrailingStop = 40; // Nível de posição de trilha (o número de pontos a partir da distância SL anterior)

int lTrailingStep = 20; // Nível de parada de trilha (o número de pontos após os quais será acionado)

para (int i=0; i<cnt; i++)
{
se (!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continuar;
se (OrderSymbol() != Symbol()) continuar;

if (OrderType() == OP_BUY && otype == OP_BUY) {
if (Bid-OrderOpenPrice() > lMinProfit*Point) {
if (OrderStopLoss() < Bid-(lTrailingStop+lTrailingStep-1)*Ponto) {
if(OrderModify(OrderTicket(), OrderOpenPrice(), Bid-lTrailingStop*Point, TP + lTrailingStop * Point, 0, Blue))
Imprimir ("Trailing Stop está funcionando");
}
}
}

if (OrderType() == OP_SELL && otype == OP_SELL) {
se (OrderOpenPrice()-Ask > lMinProfit*Point) {
if(OrderStopLoss() > Ask+(lTrailingStop+lTrailingStep-1)*Ponto || OrderStopLoss() == 0) {
if(OrderModify(OrderTicket(), OrderOpenPrice(), Ask+lTrailingStop*Point, TP - lTrailingStop *Ponto, 0, Vermelho))
Imprimir ("Trailing Stop está funcionando");
}
}
}
 
LRA:
Poderia ser mais curto em 5 linhas, mas sou preguiçoso demais para pensar...
Boa idéia eu terei que experimentar. obrigado. entretanto, funcionará com a função onticket void OnTick() ?
 
Olá camaradas! Ajude-me com a instalação do objeto "botão", preciso colocar o código no Expert Advisor, para que diretamente no botão do gráfico no estado pressionado ou não pressionado retorne um valor de bool. Agradecemos antecipadamente!
 
Arseniy Barudkin:
Olá Camaradas! Por favor, ajude a configurar o objeto "botão", preciso colocar o código no EA para que diretamente na tabela o botão no estado pressionado ou não pressionado retorne um valor de bool. Agradecemos antecipadamente!
ObjectGetInteger(ChartId(),"имя кнопки",OBJPROP_STATE)

aqui está