Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1370

 
Сергей Дыбленко:

Não funciona de jeito nenhum! Não funciona de jeito nenhum!

Diga-me como você quer mudar o lote, em relação a quê?

Olhe para esta biblioteca.

 
MakarFX:

Diga-me como você quer mudar o lote, em relação a quê?

Olhe para esta biblioteca

Relativo ao seu depósito!

Estou tentando fazer um Graal que não perca, mas que sempre tenha lucro!

 
Сергей Дыбленко:

em relação ao meu depósito!

Tentando fazer um Graal que não drena e sempre dá lucro!

Aqui você vai

//+--------------------------------------------------------------------------------------------------------------------+
//|  Расчет лота относительно маржи                                                                                    |
//+--------------------------------------------------------------------------------------------------------------------+
double MarginLot()
  {
   double Free    = AccountFreeMargin();
   double Prots   = Risk/100;
   double Lot     = MarketInfo(Symbol(), MODE_MARGINREQUIRED);
   double Step    = MarketInfo(Symbol(), MODE_LOTSTEP);
   double result  = MathFloor(Free * Prots / Lot / Step) * Step;

   if (result > MaxLot) result = MaxLot;
   else 
   if (result < MinLot) result = MinLot;
   return(result);
  }
 
Сергей Дыбленко:

Não funciona de jeito nenhum! Isto é ridículo!

esta função aumenta o lote

até 120 de seus fundos serão abertos com 0,2 lote.

à medida que seus fundos aumentam acima de 120 - 200 posições serão abertas com o lote 0,3

 
MACAR e SASHKA - obrigado pessoal!!!!!!!!!!!!! Algo está começando a acontecer para mim!!!!
 
https://www.mql5.com/ru/code/26798 Eu tentei fazer com que os lotes ficassem frios nesta falsificação! Mas é muito complicado para mim!
 

Boa tarde a todos. Consegui bater a abertura dos pedidos. Mas durante o teste do tick, o Expert Advisor gera erro 2021.01.30 17:31:29.755 2014.03.21 11:50:03 TREND+ _V_REAL-DEMO EURUSD,H1: OrderModify error 1

A modificação do pedido é prescrita em um lugar - na rede de arrasto parabólica. Aqui está o código da rede de arrasto


//--ТРАЛ ПО ПАРАбОЛИКУ
void Tral_parabolik()
{ // НАЧАЛО ТРАЛ ПО ПАРАБОЛИК
//+------------------------------------------------------------------+
   int    Tral = tral;
   double Sar  = iCustom(_Symbol,PeriodForWork_tral_parabolik,"Parabolic",step_tral_parabolik,max_tral_parabolik,1);
//+------------------------------------------------------------------+
   for(int pos=0;pos<OrdersTotal();pos++)
     { if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES))
      if(OrderSymbol()==_Symbol)
        {
         if(OrderType()==OP_SELL)
           {
            if(OrderOpenPrice()>Ask+Tral*Point&&OrderStopLoss()!= Sar)
            if(OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Sar,Digits),OrderTakeProfit(),0,clrBlack))
            {Print("Order SELL Modify");
            if (GetLastError()==141){Alert(GetLastError()); ExpertRemove();}// ПРОВЕРКА ОТ ДОЛБАНИЯ СЕРВЕРА И БАНА СЧЁТА
            }
           }
         if(OrderType()==OP_BUY)
           {
            if(OrderOpenPrice()<Bid-Tral*Point&&OrderStopLoss()!= Sar)
            if(OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Sar,Digits),OrderTakeProfit(),0,clrGreen))
            {
            Print("Order BUY Modify");
            if (GetLastError()==141){Alert(GetLastError()); ExpertRemove();}// ПРОВЕРКА ОТ ДОЛБАНИЯ СЕРВЕРА И БАНА СЧЁТА
            
            }
           }
        }

}
} // КОНЕЦ ТРАЛ ПО ПАРАБОЛИК

O que devo corrigir na função de trilha para evitar este erro?

 

DanilaMactep:

O que deve ser corrigido na função de arrasto para evitar este erro?

Tente isto

//--ТРАЛ ПО ПАРАбОЛИКУ
void Tral_parabolik()
{ // НАЧАЛО ТРАЛ ПО ПАРАБОЛИК
//+------------------------------------------------------------------+
   int    Tral = tral;
   double Sar  = iCustom(_Symbol,PeriodForWork_tral_parabolik,"Parabolic",step_tral_parabolik,max_tral_parabolik,1);
//+------------------------------------------------------------------+
   for(int pos=0;pos<OrdersTotal();pos++)
     {
      if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES))
      if(OrderSymbol()==_Symbol)
        {
         if(OrderType()==OP_SELL)
           {
            if(OrderOpenPrice()>Ask+Tral*Point&&OrderOpenPrice()>Sar)
              {
               if(OrderStopLoss()!= Sar)
                 {
                  if(OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Sar,Digits),OrderTakeProfit(),0,clrBlack))
                    {
                     Print("Order SELL Modify",GetLastError());
                     if (GetLastError()==141){Alert(GetLastError()); ExpertRemove();}// ПРОВЕРКА ОТ ДОЛБАНИЯ СЕРВЕРА И БАНА СЧЁТА
                    }
                 }
              }
           }
         if(OrderType()==OP_BUY)
           {
            if(OrderOpenPrice()<Bid-Tral*Point&&OrderOpenPrice()<Sar)
              {
               if(OrderStopLoss()!= Sar)
                 {
                  if(OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Sar,Digits),OrderTakeProfit(),0,clrGreen))
                    {
                     Print("Order BUY Modify",GetLastError());
                     if (GetLastError()==141){Alert(GetLastError()); ExpertRemove();}// ПРОВЕРКА ОТ ДОЛБАНИЯ СЕРВЕРА И БАНА СЧЁТА
                    }
                 }
              }
           }
        }
     }
} // КОНЕЦ ТРАЛ ПО ПАРАБОЛИК  
 
MakarFX:

Aqui você vai

Obrigado. Vou colar o código em algum lugar! Eu só queria saber onde colocá-lo....

 
Сергей Дыбленко:

Obrigado. Eu vou inserir o código! Eu só queria saber onde colocá-lo....

Na parte inferior do quadro.