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

 
Alexey Volchanskiy:
Voy a dar un paseo, luego escribiré el código del programa geométrico.

No soy nada bueno, debería sacar 0,5.


#define  LEN 5 // задали длину последовательности
double  start_lot=0.1;//начальный лот
int lot_5 =5;// номер искомой позиции
int start()
{
    int d = lot_5;    // это разность, любое значение
    int a[LEN];   // тут храним ариф. посл.
    a[0] = start_lot;     // любое стартовое значение, задаете сами
    Print(0, " начальный лот ", a[0]);

    for (int n = 1; n < 4; n++)
    {
       a[n] = a[0] + (n*d);
       Print(n, " лот позы№5 ", a[n]);
    }
}
 
mila.com:

No soy nada bueno, debería ser 0,5.


0,5 por una mujer :))

Mañana enviaréla geometría. Y lo que necesitas obtener, por favor escribe el lote de entrada y el valor final a la vez.

#define  LEN 5 // задали длину последовательности
double  start_lot=0.1;//начальный лот
double lot_5 = 0.1;   // это разность
int start()
{
    double a[LEN];   // тут храним ариф. посл.
    a[0] = start_lot;     // задаем стартовое значение 0.1
    Print(0, " начальный лот ", a[0]);

    for (int n = 1; n < LEN; n++)
    {
       a[n] = a[0] + (n*lot_5);
       Print(n, " лот позы №5 ", a[n]);
    }
}

2016.06.01 01:13:54.917 ChangeTimeFrame EURUSD.e,M1: 4 лот позы №5 0.5
2016.06.01 01:13:54.917 ChangeTimeFrame EURUSD.e,M1: 3 лот позы №5 0.4
2016.06.01 01:13:54.917 ChangeTimeFrame EURUSD.e,M1: 2 лот позы №5 0.3
2016.06.01 01:13:54.917 ChangeTimeFrame EURUSD.e,M1: 1 лот позы №5 0.2
2016.06.01 01:13:54.917 ChangeTimeFrame EURUSD.e,M1: 0 начальный лот 0.1
 
Alexey Volchanskiy:

0,5 por una mujer :)))

Mañana enviaré la geometría. Y allí lo que necesita para obtener, por favor escriba el lote de entrada y el valor final a la vez.

Gracias, perfecto )

Sí, también quiero saber la suma de los lotes de las futuras cuatro posiciones + el lote inicial, si es posible.

Insumos para la geometría:

_lot_x= ?

extern double  start_lot=0.1;//начальный лот
extern double  koef=2;//коэффициент умножения

extern int n_pos =5;// номер искомой позиции для определения её лота
//===
double _lot_x; // лот искомой позиции

double  _lot=0;// лот следующей позиции
//===
void OnTick()
{
if(OrdersTotal==1)
 {
 _lot = start_lot* koef;
 }

if(OrdersTotal>1)
 {
 _lot = _lot * koef;
 }
}
 

Saludos. ¿Alguien tiene una pista? Estoy tratando de entender la función de Webrequest. Necesito enviar una petición POST al servidor api para hacer un envío de prueba a través de sendpulse.com. Aquí dice cómo crear una solicitud para hacer el mailing: https://sendpulse.com/ru/api#push , donde "Crear un nuevo push mailing". He leído sobre las peticiones HTTP, pero no está claro cómo hacerlo a través de webrequest. Por favor, ayúdenme con un ejemplo de solicitud en forma de webrequest basado en el manual de https://sendpulse.com/ru/api#push y un ejemplo de solicitud Get del manual también, por ejemplo "Get list of pushed campaigns". Estará muy agradecido.

Sendpulse REST API - документация - Sendpulse
Sendpulse REST API - документация - Sendpulse
  • sendpulse.com
API интерфейс используется для того, чтобы интегрировать возможности сервиса рассылок SendPulse в личный проект клиента. API предназначен для разработчиков и сопровождается детальной документацией. Описание REST API сервиса SendPulse работает по протоколу HTTP и представляет собой набор методов, с помощью которых совершаются запросы и...
 

Por favor, avisa. Cuando se prueba un EA y se especifica un depósito inicial diferente, el probador da resultados de negociación diferentes con los mismos parámetros (excepto el tamaño del depósito) del probador y la configuración del EA. En la configuración del Asesor Experto no hay ajustes de gestión de dinero y gestión de riesgos, la prueba se hace para el comercio de un lote de futuros FORTS. Incluso el depósito más pequeño supera 1,5 veces el valor del lote, el drawdown al mismo tiempo es mucho menor que el tamaño del depósito, es decir, hay mucho margen. Pero parece que el Asesor Experto en algunos casos no se arriesga a entrar en algunas operaciones con un depósito menor y realiza menos operaciones y, por tanto, resultados diferentes. ¿Por qué?

Gracias de antemano por la respuesta.

Archivos adjuntos:
1.jpg  345 kb
2.jpg  358 kb
 
¡Hola camaradas! Por favor, aconseje cómo escribir una función que realice un cierto número de intentos para abrir una orden pendiente(o más bien su activación), o que envíe un valor booleano.
 
barudkinarseniy:
¡Hola camaradas! Por favor, aconseje cómo escribir una función que realice un cierto número de intentos para abrir una orden pendiente(o más bien su activación), o que envíe un valor booleano.
Si la orden ha cambiado su estado de pendiente a orden de mercado, debemos escribir el valor necesario en una variable. Algo así
//+------------------------------------------------------------------+
bool event_pending(int tiket)
  {
   if(OrderSelect(tiket,SELECT_BY_TICKET))
     {
      if(OrderType()<=1)return(true);
     }
   return(false);
  }
//+------------------------------------------------------------------+
 
Hola! Es posible prescribir en el código que cuando un determinado número de órdenes el asesor se reinicie, todos los contadores se pongan a cero, pero al probar el asesor con una parrilla de órdenes en un año muestra más de 1000 órdenes, e incluso el probador comienza a colgarse ( Y si se puede, por favor aconsejar cómo?
 
barudkinarseniy:
Hola, ¿Se puede prescribir en el código que cuando se llegue a un determinado número de órdenes, el EA se reinicie y se pongan a cero todos los contadores, porque durante las pruebas, el EA con la parrilla de órdenes muestra más de 1000 órdenes a lo largo de un año e incluso el probador empieza a colgarse ( Y si es posible, por favor, díganos cómo?

Existe una función

ExpertRemove

Termina el Asesor Experto y lo descarga del gráfico.

voidExpertRemove();

Pero no hay manera de ejecutarlo después. El Asesor Experto debe ser corregido, el problema no es con las órdenes sino con otra cosa. Una fuga de memoria en algún lugar, lo más probable.

 
Alexey Volchanskiy:

Existe una función

ExpertRemove

Termina el Asesor Experto y lo descarga del gráfico.

voidExpertRemove();

Pero no hay manera de ejecutarlo después. El Asesor Experto debe ser corregido, el problema no es con las órdenes sino con otra cosa. Una fuga de memoria en algún lugar, lo más probable.

No veo ningún problema, el EA acaba de abrir órdenes después de cerrar operaciones rentables o perdedoras y el número de ticket es muy grande en la impresión, por lo que pensé que no tendría que recargarlo manualmente. Gracias por la función, también será útil))