[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 371

 
avatara >> :

>> ¿y cuál es la revisión de la plataforma?

- >> Construir 225

 
Vinin >> :

El indicador luminoso probablemente debería ser desechado. O pregúntale a Papá Noel. Es la víspera de Año Nuevo.


Bueno, ¿qué podría haber pasado? Tormentas magnéticas, presión o algo así... Nada ha cambiado, y de repente, el terminal se congela.
 
Fosfalugel писал(а) >>

Bueno, ¿qué podría haber pasado? Tormentas magnéticas, presión o algo así... Nada ha cambiado, y de repente el terminal se congela.

Para ello, debe mirar al menos el código del indicador. Aunque puede que no sea el caso.

 
Fosfalugel >> :
Estaba trabajando con un indicador, todo estaba bien, luego cuando cambié de marco de tiempo la terminal comenzó a colgarse, reinstalé windup, todavía se cuelga. Por qué(((((((((((((


Por favor, dame el código. Veamos qué puede estar fallando ahí.
 

¡Hola!

Por favor, ayúdeme, si no es un problema.

Necesito un EA que coloque órdenes pendientes BUYSTOP SELLSTOP, en lugar de abrir órdenes por la señal.

Y cuando el oder se dispara, elimina predstavlenny que no funcionó.

Me gustaría pedirle que revise este código, no ha sido escrito por profesionales.

En el caso de que el código no sea el correcto, se puede pedir que se revise el código y se explique por qué debo hacerlo con los dedos (no sé cocinar, simplemente no sé cocinar).

El propio código;

extern double lots=0.01;
extern double slippage=3;
extern int TP=5000;
extern int SL=5000;
extern int OrdersCount=1;  // Количество сделок, открываемых одновременно
extern int TrailingStop=0; // Коридор для стоп-лосса
extern int CCIPeriod=12;
extern bool AllowOpenBuy=true;
extern bool AllowOpenSell=true;

//extern int SL=1000;
int current, previous;

int ticket=0;

int BuyTickets[999];
int SellTickets[999];


int init()
{double Up, Dn;

      Up=iCustom(NULL,0, IndicatorName,0, Offset);
      Dn=iCustom(NULL,0, IndicatorName,1, Offset);
      if ( Up!=0) previous=1;
      if ( Dn!=0) previous=-1;

}

int start()
  {   
      double Up, Dn, cup, cdn, cci;
      Up=iCustom(NULL,0, IndicatorName,0, Offset);
      Dn=iCustom(NULL,0, IndicatorName,1, Offset);

      cup=iCustom(NULL,0, IndicatorName,0,0);
      cdn=iCustom(NULL,0, IndicatorName,1,0);
      
      
      //if (NewBar()==false) return (-1);
      //return (0);/*
      
      //cci=iCCI(NULL,0,CCIPeriod,MODE_CLOSE,0);
      
      if ( Up!=0) current=1;
      if ( Dn!=0) current=-1;
      
      TrailingStopControl();  // Выставление стоповых уровней
      
      if ( current!= previous){
      if ( current==1)
            {
                  OpenBuyOrders();
            }
      
      if ( current==-1)
            {
                  OpenSellOrders();
            }           
            previous= current;
            }
            
   return(0);
  }
  
void  TrailingStopControl()
{
  for(int cnt=0; cnt< OrdersCount; cnt++)
   {
         if (!OrderSelect( BuyTickets[ cnt], SELECT_BY_TICKET)) return(1);
      if(OrderSymbol()==Symbol())
      {
      if(OrderType()==OP_BUY)
         {
         if( TrailingStop>0
         && Bid-OrderOpenPrice()>Point* TrailingStop
         && OrderStopLoss()<Bid-Point* TrailingStop)
            {
            OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point* TrailingStop,OrderTakeProfit(),0);
            return(0);
            }
         }
      if(OrderType()==OP_SELL)
         {
         if( TrailingStop>0
         && OrderOpenPrice()-Ask>Point* TrailingStop
         && (OrderStopLoss()>Ask+Point* TrailingStop || OrderStopLoss()==0))
            {
            OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point* TrailingStop,OrderTakeProfit(),0);
            return(0);
            }
         }
      }

         if (!OrderSelect( SellTickets[ cnt], SELECT_BY_TICKET)) return(1);
   if(OrderSymbol()==Symbol())
      {
      if(OrderType()==OP_BUY)
         {
         if( TrailingStop>0
         && Bid-OrderOpenPrice()>Point* TrailingStop
         && OrderStopLoss()<Bid-Point* TrailingStop)
            {
            OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point* TrailingStop,OrderTakeProfit(),0);
            return(0);
            }
         }
      if(OrderType()==OP_SELL)
         {
         if( TrailingStop>0
         && OrderOpenPrice()-Ask>Point* TrailingStop
         && (OrderStopLoss()>Ask+Point* TrailingStop || OrderStopLoss()==0))
            {
            OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point* TrailingStop,OrderTakeProfit(),0);
            return(0);
            }
         }
      }
             
   }


}

bool NewBar()
  {
   static datetime dt=0;
   if (Time[0]!= dt)
     {
      dt=Time[0];
      return(true);
     }
   return(false);
  }
  
  
  void OpenBuyOrders()
  {
    for (int i=0; i< OrdersCount; i++)  
      OrderClose( SellTickets[ i], lots,Ask, slippage,Red);


   if (! AllowOpenBuy) return(1);
    for ( i=0; i< OrdersCount; i++)  
      BuyTickets[ i]=OrderSend(Symbol(),OP_BUY, lots,Ask, slippage,Ask-Point* SL,Ask+Point* TP,"",0,0,Green);

  }


  void OpenSellOrders()
  {
    for (int i=0; i< OrdersCount; i++)  
      OrderClose( BuyTickets[ i], lots,Bid, slippage,Red);

   if (! AllowOpenSell) return(1);
    for ( i=0; i< OrdersCount; i++)  
      SellTickets[ i]=OrderSend(Symbol(),OP_SELL, lots,Bid, slippage,Bid+Point* SL,Bid-Point* TP,"",0,0,Green);
  }
 
¡¡¡Feliz Año Nuevo, Camaradas!!!
Tengo el indicador XMA de Crunch http://https://www.mql5.com/en/code/9123
Traté de hacer con él
xxma = iCustom(NULL,15, "Xma",100,7,1,0,1,1,0);
Devuelve 0.
¿Qué pasa? La torreta está donde debe estar.
 
spm130275 писал(а) >>
¡¡¡Feliz Año Nuevo, Camaradas!!!
Tengo un indicador XMA de Crunch http://https://www.mql5.com/en/code/9123
Traté de hacer con él
xxma = iCustom(NULL,15, "Xma",100,7,1,0,1,1,0);
Devuelve 0.
¿Qué pasa? Indy está donde debe estar.

xxma = iCustom(NULL,15, "Xma",100,7,1,0,1,0,0);

 

Gracias.

 

Por favor, avisa.

Supongamos que tenemos resultados de optimización.

¿Es posible separar las moscas de las chuletas por el criterio de las Operaciones de Beneficio (% del total)?

 

Me gustaría prohibir que el EA opere antes de las noticias importantes, pero no de forma manual y automática (y sin referirse a los sitios de noticias).

- ¿Cuáles son los indicios que podrían informar de forma más o menos fiable sobre posibles novedades? (ampliación significativa de los diferenciales, fuertes fluctuaciones de los precios en cortos periodos de tiempo), ...¿algo más?