Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1419

 
lynxntech #:

Maxim, ¿cuándo comprobaste las variables globales del terminal?

Estoy siendo demasiado insistente, quizás no deberías usarlo, pero ¿por qué puede ser tan lento? 1kb de texto no es ningún problema para tener

este mismo matiz era como una pregunta a los desarrolladores, pero no hay nadie allí para decir cómo funciona todo. sólo pueden prohibir rápidamente.

cuando utilicé :-) una vez que lo puse en un temporizador frecuente y luego tomó mucho tiempo para averiguar por qué la carga y todo se ralentiza ... Y si usted no marca la casilla de verificación temporal, pueden incluso hacer un agujero en el SSD.

Pueden parecerse a Atomic, pero no se parecen en nada.

No es que no debas usarlas en absoluto, pero deberías pensártelo tres veces y escribirte una nota explicativa del estilo de "estando con la mente sobria y la memoria sana, sin coacciones externas, decidí usar GlobalVars con el propósito de XXX y nada más".

 
Maxim Kuznetsov #:

cuando usaba :-) una vez lo puse en el temporizador frecuente y luego tuve que averiguar durante mucho tiempo por qué la carga y todo se ralentiza ... Y si no marca la casilla de verificación temporal, incluso pueden hacer un agujero en el SSD.

Parecen Atomic, pero no lo son.

No es que no debas usarlas en absoluto, pero deberías pensártelo tres veces y escribirte una nota explicativa del estilo "estando en mi sobria mente y sana memoria, sin coacciones externas, decidí usar GlobalVars con el propósito de XXX y nada más".

El desarrollador dice que la grabación es óptima, y que hay una función que escribe inmediatamente en un archivo.

Por supuesto Renat ha mencionado a menudo que los ssd cuestan centavos hoy en día, probablemente se olvidó de su nivel de ingresos, y los ciudadanos de a pie

 

Hola a todos

Estoy interesado en esta pregunta. ¿Es posible obtener datos del indicador al Asesor Experto. ¿Excepto los que están almacenados en el buffer?

Digamos que hay un indicador, y tiene un valor de una variable, que necesito conseguir en el Asesor de Expertos para realizar más operaciones con esta variable en el Asesor de Expertos.

 
Alexey Belyakov #:

¡Hola a todos!

Estoy interesado en esta pregunta. ¿Es posible obtener datos del indicador al Asesor Experto. ¿Excepto los almacenados en el buffer?

Digamos que hay un indicador, y tiene un valor variable, que necesito para obtener en el Asesor de Expertos para realizar más operaciones con esta variable en el Asesor de Expertos.

Se puede hacer a través de una variable global o escribiendo yo mismo en un archivo - esto es si se utilizan medios estándar.

 

He intentado resolver el problema dando rodeos, pero sólo he conseguido complicarlo más y perder tiempo. Por favor, ayúdenme:

Hay un indicador (adjunto). Estoy intentando sumar todas las distancias entre los vértices y las bases para hallar la serie media en los puntos y luego en las velas.

Es decir, hallar la suma de las distancias, y las cantidades.

Lo único que he podido hacer es meterme en el propio indicador, e insertar esto:

Pero es muy inconveniente . Porque da lo siguiente:


Es decir, da el mismo valor repetidamente (cada tick). ¿Cómo puedo hacer para que dé un resultado listo una vez (por ejemplo: Número medio de velas entre máximos y bases, o Suma total de distancias en puntos/velas entre máximos y bases)?

Archivos adjuntos:
 

Hola a todos,

La pregunta es la siguiente.

Tengo un archivo csv con señales de compra y venta 1 y 0. ¿Podéis recomendarme un código de un EA sencillo para backtest, de forma que sólo tenga que atornillar TP SL y este fichero? Realmente no quiero aprender MQL5 para una tarea tan simple.

Gracias de antemano.

 
Hola, no soy un principiante, pero me sorprendió, como principiante, por la gestión extraña de mis pérdidas trailing stop en la terminal de comercio MT5. Yo comercio de forma manual, con la configuración de trailing stop y cuando me familiaricé con MetaQuotes terminal de comercio, en la cuenta demo, mi sistema de comercio, que se ha trabajado durante mucho tiempo con otros corredores, comenzó a cerrar las operaciones de forma independiente.... todo en orden aleatorio, sin regularidad. Ya he repasado los parámetros, imaginando los saltos de cotización, cuando el servidor de trading está flojo. Esperando en la emboscada, a la espera de un cierre no programado de trailing stoploss, también no funciona, la bestia era más astuto que yo) Si alguien de los comerciantes más experimentados, esto es familiar, iluminar por favor? O sugerir lo que podría ser ? No hay tantos corredores con MT5, y el sistema en sí no es comparable con MT4, quiero dominar el terminal de comercio MT5 y este corredor. GRACIAS.
 
Rustam Ayupov terminal de comercio MT5. Yo comercio de forma manual, con la configuración de trailing stop y cuando me familiaricé con MetaQuotes terminal de comercio, en la cuenta demo, mi sistema de comercio, que se ha trabajado durante mucho tiempo con otros corredores, comenzó a cerrar las operaciones de forma independiente.... todo en orden aleatorio, sin regularidad. Ya he repasado los parámetros, imaginando los saltos de cotización, cuando el servidor de trading está flojo. Esperando en la emboscada, a la espera de un cierre no programado de trailing stoploss, también no funciona, la bestia era más astuto que yo) Si alguien de los comerciantes más experimentados, esto es familiar, iluminar por favor? O sugerir lo que podría ser ? No hay tantos corredores con MT5, y el sistema en sí no es comparable con MT4, quiero dominar el terminal de comercio MT5 y este corredor. GRACIAS .

3. prohibir DLL y eliminar todos los indicadores y asesores que no entiende.

2. en el gabinete personal DC, desconectarse de todos los grupos, señales, asesores, y todo lo similar.

1. cambie las contraseñas de su cuenta de trading

 

¿Cuál es la forma correcta de utilizar OnSetColorBackground para un objeto CButton? Necesito colorear el botón desde OnTick dependiendo de las condiciones. No se espera que se haga clic en el botón.

Declaro y uso la función "colorear" así:


public:
bool              OnSetClrButtonMA(void);

---------------

bool CControlsDialog::OnSetClrButtonMA(void)
  {
   if(CL>MA)
      m_button_MA.ColorBackground(colBtn_Pos);
   else
      m_button_MA.ColorBackground(colBtn_Neg);
     return(true);
  }

void OnTick{
................

	 OnSetClrButtonMA();

}

¿Hay algún ejemplo donde se implemente esto en el código? No lo he encontrado en la librería.

Документация по MQL5: Стандартная библиотека / Панели и диалоги / CButton / OnSetColorBackground
Документация по MQL5: Стандартная библиотека / Панели и диалоги / CButton / OnSetColorBackground
  • www.mql5.com
OnSetColorBackground - CButton - Панели и диалоги - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

¡Hola!

¿Pueden decirme por qué el script para cambiar el stop loss no funciona y da error 4756?

Al mismo tiempo, el mismo script para cambiar el take profit funciona bien.

//+------------------------------------------------------------------+
//|                                                    Modify SL.mq5 |
//|                                                                  |
//+------------------------------------------------------------------+
#property description "Скрипт"
#property script_show_inputs
input  int Magic_Number = 0;
input double Price_of_New_Stop_Loss = 0.0;
//--------------------------------------------------------------------
MqlTick tick;
MqlTradeRequest request;
MqlTradeResult result;
MqlTradeCheckResult check;
MqlDateTime tm;
//--------------------------------------------------------------------
void OnStart()
{  
   double Position_SL;
   ulong  Position_Magic = 0;
   for(int i=0; i<PositionsTotal(); i++)
   {
      if(_Symbol == PositionGetSymbol(i))
      {
         Position_Magic = PositionGetInteger(POSITION_MAGIC);
         if(Position_Magic == Magic_Number)
         {
            ZeroMemory(request);
            ZeroMemory(result);
            request.position = PositionGetInteger(POSITION_TICKET);
            Position_SL = PositionGetDouble(POSITION_SL);

            if (Position_SL != Price_of_New_Stop_Loss)
            {
               request.action = TRADE_ACTION_SLTP;
               request.sl = NormalizeDouble(Price_of_New_Stop_Loss,_Digits);
               Print(TimeToString(TimeCurrent()), " Modify ", request.position,
                     " with Position_Magic ", IntegerToString(Position_Magic));
               Print("  SL ", DoubleToString(Position_SL,_Digits),
                     " -> ", DoubleToString(request.sl,_Digits));
               if(!OrderSend(request,result)) Print("error ",GetLastError());
            }
         }
      }  
   }
   //--- cycle until the script is not halted
   while(!IsStopped()) Comment("Сделано");
   Comment("");
}
// End OnStart()
//+------------------------------------------------------------------+