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

 
Hola :
¿Puede un EA abrir órdenes pendientes a precios de órdenes cerradas?
 
Anton Yakovlev:
Si tienes una buena estrategia y estás dispuesto a compartirla, puedo escribir un EA.


¿Cómo puedo añadir un tamaño de orden de apertura dependiente del saldo a mi EA?

Por ejemplo

Lote de 100 dólares 0,05
200 $ lote 0,1
Lote de 500 dólares 0,25
$1000 lote 0.5
$1200 lote 0.6
$1500 lote 0.75
$2000 lote 1.0
$3000 lote 1.5
5000 dólares lote 2,5
$10000 lote 5

 
liljon:


¿Cómo puedo añadir al EA un tamaño de orden dependiente del saldo?

Por ejemplo,

$100 lote 0.05
$200 lote 0.1
$500 lote 0.25
$1000 lote 0.5
$1200 lote 0,6
$1500 lote 0,75
$2000 lote 1,0
$3000 lote 1,5
$5000 lote 2,5
$10000 lote 5

Puede especificar el porcentaje de saldo Porcentaje=5, por ejemplo:

double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED);//Valor. 1 lote

double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT);//Tamaño de lote mínimo

double Step =MarketInfo(Symbol(),MODE_LOTSTEP);// Tamaño del cambio de paso

double Free =AccountFreeMargin();

lotes=MathFloor(Free*Percent/100/One_Lot/Step)*Step;

if (lotes<Min_Lot) lotes=Min_Lot;

 
kim9622:
Hola a todos.
Hay varios gráficos en MT4 (3-6, pueden ser diferentes pares de divisas) cada uno con su propio EA.

Tarea:
No hay órdenes abiertas. Cuando se abre una orden(es) por cualquier EA (1 o 2, preferiblemente por elección de cantidad), todos los demás EAs deben desactivar el auto-trading. Una vez cerradas todas las órdenes abiertas, se debe habilitar la negociación automática para todos los demás Asesores Expertos. Si las condiciones permiten un máximo de 2 EAs, entonces la negociación automática para todos los EAs desactivados se iniciará cuando cualquiera de los 2 (o ambos) cierren sus órdenes.
Por favor, aconséjeme cómo resolver este problema. Tal vez ya exista un software similar.

puede resolverse mediante variables globales
y cada EA que se ejecuta debe ser modificado en consecuencia en el código

Por ejemplo: si hay una orden en el mercado, se activa una variable global,

cada EA que ve esto no comercia
 

Hola a todos.

¡Alguien por ahí que pueda escribir un simple EA no-sindicador ! ?

 
volodymyr67:

Hola a todos.

¡Alguien por ahí que pueda escribir un simple EA no-sindicador ! ?

No hay problema. Un EA abre una posición de COMPRA o VENTA con un volumen determinado:

//+------------------------------------------------------------------+
//|                                            Open One Position.mq5 |
//|                              Copyright © 2018, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2018, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.001"
//---
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>  
CTrade         m_trade;                      // trading object
CSymbolInfo    m_symbol;                     // symbol info object
//--- input parameters
input double               InpLots     = 10.0;              // Lots
input ENUM_POSITION_TYPE   InpPosType  = POSITION_TYPE_BUY; // Open position 
input ulong                InpMagic    = 208060783;         // Magic number
//---
ulong  ExtSlippage=10;                // Slippage
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   m_trade.SetExpertMagicNumber(InpMagic);
   m_trade.SetMarginMode();
   m_trade.SetTypeFillingBySymbol(m_symbol.Name());
   m_trade.SetDeviationInPoints(ExtSlippage);
//---
   if(InpPosType==POSITION_TYPE_BUY)
      m_trade.Buy(InpLots);
   else if(InpPosType==POSITION_TYPE_SELL)
      m_trade.Sell(InpLots);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//---

  }
//+------------------------------------------------------------------+
Archivos adjuntos:
 

Estoy dispuesto a pagar una suma simbólica de unpar de cientos de rublos.


El Asesor Experto abre2 órdenes dirigidas de forma diferente simultáneamente(1 para cada par de divisas) sólo cuando el spread especificado paraAMBOS pares es menor o igual que el especificado en los ajustes para ambos pares de divisas. Si la condición funcionó para un par de divisas y no funcionó para el otro,NO SE ABRE NADA.

No abre nuevas órdenes después de que se hayan abierto las órdenes, sino que sólo espera el beneficio total de dos órdenes especificadas en la configuración del robot.SÓLO SE ABREN SIEMPRE2 ÓRDENESDIRIGIDAS DE FORMA DIFERENTE

Unavez cerradas las órdenes, el robot vuelve a monitorizar los spreads de ambos pares de divisas y abre de nuevo cuando el spread esYA inferior o igual al especificado en los ajustes.

Si se puede establecer el tiempo de funcionamiento (comenzando el martes 00-00 y terminando el jueves 23-59) será genial.

Así es como funciona:el EA(cuando aparece el spread requerido en ambos pares)abre una orden de compra, la segunda de venta (o viceversa no es importante), espera el beneficio, luego cierra ambas órdenes y vuelve a empezar. Si hay dos órdenes abiertas, no se abrirán otras nuevas. El Asesor Experto está esperando el beneficio establecido en los ajustes.


Independientemente del par de divisas en el que esté configurado el asesor, sólo funcionará con los dos pares de divisas especificados en su configuración:

Parámetros:

1. Nombre del primer par de divisas (EURUSD)

2. Lote para el primer par (0,1)

3. Tipo de orden para el primero (Compra)

4. Spread mínimo para el primer En PIPS 5. en el que el Asesor Experto se activará (2)

5. Nombre del segundo par de divisas (GBPUSD)

6. Lote dos (0,1)

7. Tipo de orden segunda (Venta)

8. Spread mínimo para la segunda En PIPSAH 5 señal en la que el asesor se activará (2)

9. Beneficio total de ambos pares enla moneda de depósito(o porcentaje. si es más fácil) para cerrar ambas órdenes a la vez

10. Hora de inicio de la negociación Martes 00-00

11. Hora de cierre del jueves 23-59

 
Vladimir Karputov:

¡Fácil! El Asesor Experto abre una posición de COMPRA o VENTA con un volumen determinado:

Muchas gracias por la rapidez.

Pero lo necesito para abrir una orden en la apertura de una barra, tomar un beneficio y esperar a la apertura de una nueva barra.

Archivos adjuntos:
image.png  68 kb
 

Hola queridos programadores, les pido que escriban un EA basado en el indicador para abrir una orden, pero hay un inconveniente, necesitamos que el EA abra una orden no sólo en el indicador de señal, sino también en ciertos momentos (por ejemplo, si el indicador dio una señal al comienzo de la formación de la vela, digamos de 15:00 a 15:01 entonces esta señal se considera válida y el EA abre la orden) (si el indicador de señal recibió 15:02 entonces la señal NO es válida y el Consejo no abre la orden)

Archivos adjuntos:
 
¡Buen tiempo queridos codificadores! Serías tan amable de escribir un EA para este indicador. El asesor experto abre una orden en una señal de la flecha, es decir, en la siguiente vela, el tiempo de ejecución de la orden es una vela, es decir, se abre y se cierra en la siguiente vela. La parada no es necesaria. Y todos losajustes de los indicadores han sido colocados en el EA. Gracias de antemano.
Archivos adjuntos: