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

 
Igor Makanu:

Si se trata de aumentar el tamaño del lote de una nueva orden en relación con el tamaño máximo del lote de las órdenes ya abiertas, entonces al contar las órdenes, recuerde el tamaño máximo del lote de las órdenes

así:

Tengo los lotes contados. Me gustaría que el paso también aumentara con cada operación. Por coeficiente

 
Carcass77:

Tengo los lotes contados. Me gustaría que el tono aumentara con cada operación. Por el coeficiente.

Es la segunda vez que escribe sobre el "paso mágico" y tenemos que adivinar cuál es el paso. )))

Si estamos hablando de los precios de apertura de las órdenes "extremas" y quieres colocar nuevas órdenes en relación con los precios de apertura de estas órdenes, entonces el principio es el mismo, al recalcular las órdenes busca los precios de apertura máximos/mínimos por tipo de orden, aproximadamente:

int NumberOfOrders(int magic_,double &openpricemaxbuy_,double &openpriceminsell_)
  {
   int i,ot,buy_=0,sell_=0,k=OrdersTotal();
   openpricemaxbuy_=0.0; openpriceminsell_=0.0;
   for(i=0; i<k; i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         ot=OrderType();
         if((OrderMagicNumber()==magic_) && (OrderSymbol()==_Symbol))
           {
            if(ot==OP_BUY) { buy_++;  openpricemaxbuy_  = fmax(openpricemaxbuy_,OrderOpenPrice());  }
            if(ot==OP_SELL){ sell_++; openpriceminsell_ = fmin(openpriceminsell_,OrderOpenPrice()); }
           }
        }
     }
   return(buy_+sell_);
  }



ZZY: si se trata de órdenes cerradas, el código será diferente, y el principio de enumeración de las órdenes es ligeramente diferente - busque una orden con el tiempo máximo de cierre y recuerde sus parámetros

 

Hola a todos. Me pueden decir por qué la función de impresión no funciona en el indicador.

//+------------------------------------------------------------------+
//|                                                        test3.mq4 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
       Print("Hello");
       Print("---- First indicator -----");

   
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
Alexander Mikryukov:

Hola a todos. Me pueden decir por qué la función de impresión no funciona en el indicador.

no hay ninguna razón para que no funcione, vea el cuaderno de bitácora de los expertos para sus mensajes

 
Igor Makanu:

no hay razón para no trabajar, busque en el diario de los expertos sus mensajes

Sí, estúpido. Gracias.

 
¡Buenas noches! ¿Pueden decirme si es posible gestionar varias cuentas con un solo script? Gracias.
 
Maxim Voronin:
¡Buenas noches! ¿Pueden decirme si es posible gestionar varias cuentas con un solo script? Gracias.

Se puede, pero no con un guión, sino con un asesor. Las cuentas tienen que funcionar en diferentes terminales...

 
Vladimir Pastushak:

Se puede, pero no con un guión, sino con un asesor. Las cuentas deben ser ejecutadas en diferentes terminales...

Continúa si no te importa
 
Maxim Voronin:
Continúa si no te importa

Escribe un EA que pueda comunicarse con otros terminales, las fotocopiadoras son un ejemplo para ti.

Es sencillo, un EA transmite algo y lo recibe en otro terminal...

 

INIT_PARAMETERS_INCORRECT

Diseñado para indicar al programador un conjunto incorrecto de parámetros de entrada, la cadena de resultados con este código de retorno se resaltará en rojo en la tabla de optimización general.

La prueba no se realizará para este conjunto de parámetros del Asesor Experto.



Algo no está resaltado en rojo.

¿Es así para todos?


este es el código en OnInit:
int OnInit()
{

if (Koef2<=Koef) return(INIT_PARAMETERS_INCORRECT); 

return(INIT_SUCCEEDED);


Y en el registro escribe errores como este: