Redactaré un asesor de forma gratuita - página 167

 
Yuriy Bykov #:

No, es una forma diferente de escribir el número 10000000000, así que no tienes que escribirlo así

double minOpenPriceBuy = 10000000000;

...

Lo tengo. Y hasta cierto punto.
 
Yuriy Bykov #:

No, es una forma diferente de escribir el número 10000000000, así que no tienes que escribirlo así

double minOpenPriceBuy = 10000000000;

...

Muchas gracias, ¡es bueno ser inteligente! Si no te importa, como estoy probando la estrategia, puedo compartir matices o ideas, donde quizás haya que añadir o retocar algo, SI TE INTERESA. Ya sea aquí o en persona...
 
Las preguntas de este tipo deben publicarse en este hilo: hay más oportunidades de editar el texto de los mensajes en el foro que en los mensajes privados. Y más gente podrá responder.
 
Yuriy Bykov #:
Las preguntas de este tipo es mejor escribirlas en este hilo - hay más oportunidades de editar el texto de los mensajes en el foro que en los mensajes privados. Y más personas tendrán la oportunidad de responder.

Si es posible hacer lo siguiente en este EA: - el EA comercia, tiene un beneficio y siempre tiene una corriente menos. Tan pronto como el menos actual sea menor que el beneficio, por ejemplo, en la siguiente proporción: 150% de beneficio, 100% de menos (o digamos, claramente el beneficio ganado 300 divisas del depósito, y el menos actual 200 divisas del depósito), entonces todo se cierra (todas las órdenes y operaciones). Es evidente que el conjunto de operaciones necesita tiempo para cerrar todo el conjunto, es probablemente un minuto, por lo que hasta que todo no se cierra, por supuesto, nada nuevo no debe abrir. Para estar seguro, después de cerrar todas las operaciones pendientes y actuales, deja que espere un minuto más y no abras nada. Entonces comienza la siguiente "carrera". Comienza la pregunta, ¿a partir de qué cantidad de beneficios para contar esta relación 1:1,5 (por cierto esta relación debe ser variable en la configuración), lo que cerraría todo? - No sé, me parece que CUANDO consigamos esa proporción, podremos actuar. ¿Qué te parece eso?

 

Aquí hay un ejemplo de código que puede cerrar todas las órdenes abiertas por el EA.

La función TryCloseAll() intenta cerrar todas las órdenes, pero para estar seguros, debe ser utilizada en un bucle, que se ejecutará hasta que devuelva True.

Un ejemplo de este tipo de bucle se encuentra en la función OnDeinit() que se llama cuando el EA se elimina del gráfico.

//+------------------------------------------------------------------+
//| Закрыть все рыночные и отложенные ордера                         |
//| на текущем символе с нужными магическими номерами                |
//+------------------------------------------------------------------+
bool TryCloseAll() {
   bool res = true;
   for(int i = OrdersTotal(); i >= 0; i--) {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
         if(OrderSymbol() != Symbol()) {
            continue;
         }
         int magic = OrderMagicNumber();
         if((magic == MagicBuy || magic == MagicSell)) {
            int type = OrderType();
            int ticket = OrderTicket();
            if((type > 1)) {
               Print("Close pending order #", ticket);
               res &= OrderDelete(ticket);
               if(!res) {
                  Print ("Error closing pending order ", ticket, ": ", GetLastError());
               }
            } else {
               double price = (type == OP_BUY ? Bid : Ask);
               Print("Close market order #", ticket);
               res &= OrderClose(ticket, OrderLots(), price, 1000);
               if(!res) {
                  Print ("Error closing pending order ", ticket, ": ", GetLastError());
               }
            }
         }
      }
   }

   return res;
}
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {
   bool res = false;
   Print("Start closing all orders");
   while(!res && !IsStopped()) {
      res = TryCloseAll();
   }
}
//+------------------------------------------------------------------+

Aquí tienes un martillo, y puedes decidir por ti mismo dónde y cuándo clavar clavos con él )

Archivos adjuntos:
Pending.mq4  13 kb
 
Yuriy Bykov #:

Aquí hay un ejemplo de código que puede cerrar todas las órdenes abiertas por el EA.

La función TryCloseAll() intenta cerrar todas las órdenes, pero para estar seguros, debe ser utilizada en un bucle, que se ejecutará hasta que devuelva True.

Un ejemplo de este tipo de bucle se encuentra en la función OnDeinit() que se llama cuando el EA se elimina del gráfico.

Aquí tienes un martillo, decide por ti mismo dónde y cuándo martillar).

Gracias

 

Hola a todos, ayúdenme a escribir un robot de forex para mt5. ya que no puedo pagar por el servicio en mql5 debido a la prohibición de las sanciones. la remuneración escribirá a la tarjeta.

 
Tipo . Se necesita un programador que promocione y venda un inductor MQL 5. no dibuja. Funciona en todos los pares . Recompensar el porcentaje de las ventas Porcentaje de ventas del indyuk.
 
Roman251117 #:
Tipo . Se necesita un programador que promueva y venda un MQL 5. no dibuja. Funciona en todos los pares . Recompensa de porcentaje de ventas e intereses por la venta de un indyuk.

Un programador programa - un programador.

Un vendedor vende; un promotor promociona.

 
Anton Yakovlev:
Si tienes una buena estrategia y estás dispuesto a compartirla, puedo escribir un asesor.
Hey Anton ¿puedes ayudarme a hacer que mi On Balance Volume Divergence EA sea más consistentemente rentable? El código está funcionando completamente pero no estoy satisfecho con los resultados que estoy obteniendo de él.