Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 466

 
Rewerpool:
Es un bonito detalle. Eliminado del código.

El tope ahora se mueve con cada tic )))))

Añádelo.

          double    OOP = OrderOpenPrice(),
                    OSL = OrderStopLoss(),
                    OTP = OrderTakeProfit();
          if ((OSL!=0&&stoploss==0) && (OTP!=0&&takeprofit==0)) continue;
 

Buenas noches de nuevo. La esencia de la pregunta.

Estoy poniendo un EA (funcionando) en el Mercado. Plataforma MT4. Puedo mostrar un solo archivo. Un archivo del Asesor Experto. Debería pasar la validez, pero no puede porque es un EA sin indicadores. Están en archivos separados. El Asesor Experto trabaja con cuatro indicadores. Tienen que estar unidos de alguna manera al Asesor Experto. Tiene que especificar la ruta, es decir, escribirlas en el Asesor Experto. ¿Qué? y ¿Dónde? Por favor, indique qué forma y cómo hacerlo.

Por lo que tengo entendido, hay que utilizar los "Recursos" . No sé cómo registrarlo correctamente en el Expert Advisor. Quizá conozcas otras soluciones.

Gracias.

Esto es lo que dice cuando falla la validez

 2016.04.01 00:00:00 no se puede abrir el archivo 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' [2] 2016.04.01 00:00:00 no se puede abrir el archivo 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' [2]01 00:00:00 no puede abrir el archivo 'MQL4\indicators\MA en Color_wAppliedPrice.ex4' [2] 2016.04.01 00:00:00 no puede abrir el archivo 'MQL4\indicators\MA en Color_wAppliedPrice.ex4' [2] 2016.04.01 00:00:00 no puede abrir el archivo 'MQL4\indicators\HA_Smooth.ex4' [2] 2016.04.01 00:00:00 no puede abrir el archivo 'MQL4\indicators\HA_Smooth.ex4' [2] 2016.04.01 00:00:00 no puede abrir el archivo 'MQL4\indicators\TrendLord.ex4' [2] 2016.04.01 00:00:00 no puede abrir el archivo 'MQL4\indicators\TrendLord.ex4' [2] 2016.04.01 00:00:05 no se puede abrir el archivo 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' [2] 2016.04.01 00:00:05 no se puede abrir el archivo 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' [2] 2016.04.01 00:00:0504.01 00:00:05 no se puede abrir el archivo 'MQL4\indicators\MA en Color_wAppliedPrice.ex4' [2] 2016.04.01 00:00:05 no se puede abrir el archivo 'MQL4\indicators\MA en Color_wAppliedPrice.ex4' [2] 2016.04.0101 00:00:05 no puede abrir el archivo 'MQL4\indicators\HA_Smooth.ex4' [2] 2016.04.01 00:00:05 no puede abrir el archivo 'MQL4\indicators\HA_Smooth.ex4' [2] 2016.04.01 00:00:05 no puede abrir el archivo 'MQL4\indicators\TrendLord.ex4' [2] 2016.04.0101 00:00:05 no puede abrir el archivo 'MQL4\indicators\TrendLord.ex4' [2] 2016.04.01 00:00:10 no puede abrir el archivo 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' [2] 2016.04.01 00:00:10 no puede abrir el archivo 'MQL4\indicators\Heiken_Ashi_Smoothed1lime.ex4' [2] 2016.04.01 00:00:10 no se puede abrir el archivo 'MQL4\indicators\MA en Color_wAppliedPrice.ex4' [2] 2016.04.01 00:00:10 no se puede abrir el archivo 'MQL4\indicators\MA en Color_wAppliedPrice.ex4' [2]

 
Buenas noches, ¿cómo se hace un deslizamiento? He buscado por todo internet, no encuentro nada....
 
Oleksandr Kulibaba:

Buenas noches de nuevo. La esencia de la pregunta.

Estoy poniendo un EA (funcionando) en el Mercado. Plataforma MT4. Puedo mostrar un solo archivo. Un archivo del Asesor Experto. Debería pasar la validez, pero no puede porque es un EA sin indicadores. Están en archivos separados. El Asesor Experto trabaja con cuatro indicadores. Tienen que estar unidos de alguna manera al Asesor Experto. Tiene que especificar la ruta, es decir, escribirlos en el Asesor Experto. ¿Qué? y ¿Dónde? Por favor, indique qué forma y cómo hacerlo.

Por lo que tengo entendido, hay que utilizar los "Recursos" . No sé cómo registrarlo correctamente en el Expert Advisor. Quizá conozcas otras soluciones.

Gracias.

Esto es lo que dice si no se supera la validez

Me parece triste que hayas escrito un EA y no puedas añadirle indicadores.

 
Vladislav Andruschenko:

Es triste que hayas escrito un EA y no puedas añadirle indicadores para que funcione.

 
Oleksandr Kulibaba:
Estoy trabajando en ello. Espero que funcione. Su respuesta no me ayudó en absoluto. Y no estoy triste en absoluto, al contrario, estoy emocionado. Y lo haré.
 
//+------------------------------------------------------------------+
//|                                                        temp1.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

extern int    Slippage=29;

int Slippage1;

int OnInit()
  {
//---
   Slippage1=Slippage;
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  if(Slippage1!=Slippage){Slippage1=Slippage; Print("Параметры изменены");}
//---
   Comment(Slippage1);
  }
//+------------------------------------------------------------------+

Saludos.

Un nuevo tic debería asignar el valor del parámetro de entradaDeslizamiento a la variableDeslizamiento1,mostrarel valor deDeslizamiento1 en un comentario y mostrar"Parámetros cambiados"en el registro.

Lo que no funciona: CuandoSlippage1!=Slippage, la opción"Parámetros cambiados" no se imprime en el registro.

Pregunta: ¿Qué estoy haciendo mal?

 
Andrey Sokolov:

Saludos.

Un nuevo tic debería asignar el valor del parámetro de entradaDeslizamiento a la variableDeslizamiento1,emitirel valor deDeslizamiento1 en un comentario y mostrar"Parámetros cambiados"en el diario.

Lo que no funciona: CuandoSlippage1!=Slippage, la opción"Parámetros cambiados" no se imprime en el registro.

Pregunta: ¿Qué estoy haciendo mal?

Si se cambia un parámetro de entrada, se asigna a la variableSlippage1 el valor de Slippag en OnInit.En consecuencia, no pueden ser desiguales.

extern int    Slippage=29;

int Slippage1 = 0;

int OnInit()
  {
//---
   //Slippage1=Slippage;
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  if(Slippage1!=Slippage){Slippage1=Slippage; Print("Параметры изменены");}
//---
   Comment(Slippage1);
  }

 
Alexey Viktorov:

Si se cambia el parámetro de entrada, la variable Slippage1 se pone en Slippag en OnInit.En consecuencia, no pueden ser desiguales.

Sí, gracias. Acabo de recibirlo.

 

Hola, por favor, ayúdenme con el error que se produce en el probador cuando intento modificar una orden (transferir a Breakeven): pongo la función OrderOpenPrice() en lugar de SL, pero el probador muestra el error1 (según la documentación significa que hay un intento de pasarvalores no modificados como parámetros a la función). ¡Adjunto el código! Gracias de antemano.

void DeleteOrderFunction2() //función que borra la segunda orden pendiente y guarda la segunda orden en Breakeven en una noche determinada

{

bool flag = false;

if (FlagDeleteSecondOrder2 == true)

{

if(DayOfWeek() == DAYOFWEEK && //si se selecciona un día de la semana

Hora() == 22 //si es de noche

)

{

if(BuyCount() == 1 && if(hay una orden de compra abierta

SellStopCount() == 1 //y hay una orden de venta pendiente

)

{

for( int i = 0; i < OrdersTotal(); i++) //pasar las órdenes

{

OrderSelectX(i, SELECT_BY_POS, MODE_TRADES;)

switch(Tipo de pedido())

{

case OP_BUY: if(OrderProfit() > 0 &&

Oferta > OrderOpenPrice()

)

{

OrderModifyX(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(),0,Arrow_Color);

flag =true;

}

romper;

case OP_SELLSTOP: if(flag==true)

{

OrderDeleteX(OrderTicket(), Arrow_Color);

}

romper;

}

}

}

if(SellCount() == 1 && // si hay una orden de venta abierta

BuyStopCount() == 1 //y hay una orden de compra pendiente

)

{ Print("IS!!!!");

for( int i = 0; i < OrdersTotal(); i++) //crear pedidos

{

OrderSelectX(i, SELECT_BY_POS, MODE_TRADES;)

switch(Tipo de pedido())

{

case OP_SELL: if (OrderProfit() > 0 &&

Ask < OrderOpenPrice()

)

{

OrderModifyX(OrderTicket(), OrderOpenPrice(),OrderTakeProfit(),0, Arrow_Color);

flag = true;Print("flag =", flag);

}

romper;

case OP_BUYSTOP: if(flag == true)

{

Print("bandera =", bandera);

OrderDeleteX(OrderTicket(), Arrow_Color);

}

romper;

}

}

}


}


}

}

Razón de la queja: