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

 
законопослушный гражданин:

Según tengo entendido, el autor del código sugirió lo siguiente:

si owl abre una operación de compra con stop y take, entonces su trozo de código abre una operación de venta al mismo tiempo en el mismo lugar (teniendo en cuenta el spread) con stop y take en lugar de una operación de compra.

Por lo tanto, la lógica de búsqueda de un punto de entrada del EA no cambia, y sólo cambia la dirección con el spread tomado en cuenta.

esto es exactamente lo que necesito

Si quieres invertir todas las operaciones, sólo tienes que intercambiar

vOrderOpenSell y vOrderOpenBuy


//+-----------------------------------------------------------------------------------------------+
void OnTick()
  {
// Получим значение индикатора
   dMA = iMA(Symbol(), 0, iPeriodMA, 0, MODE_SMA, PRICE_CLOSE, 0);

// Если нет открытых ордеров, то входим в условие
   if(bCheckOrders() == true)
     {
      // Если появился сигнал на покупку, то откроем ордер на покупку
      if(bSignalBuy() == true)
         vOrderOpenSell();

      // Если появился сигнал на продажу, то откроем ордер на продажу
      if(bSignalSell() == true)
         vOrderOpenBuy();
     }
  }
 
SGarnov:

Por ejemplo, he colocado una orden pendiente para el EURUSD, el EA ha seguido el algoritmo (comprar a 1,18901, abrir una operación, poner el stop en 1,18751, tomar beneficios en 1,19051 y una orden de venta en 1,18751) todo está bien según los planes.

Pero ahora es el momento de abrir una operación en GBPUSD donde los precios son diferentes y el EA está haciendo todo bien, excepto por establecer una orden pendiente. Una orden de venta a 1,39393 se ha disparado y el EA intentó abrirla, establecer un stop en 1,39633 y tomar 1,39153 pero la orden de compra a 1,39633 se duplicó desde el EURUSD y la orden de venta se estableció en 1,18751)

Acabo de encontrar otro problema: en el EURUSD se abrió un stop en 1,18751 y una orden pendiente de venta en 1,18901 y toma 1,18595. El Asesor Experto no añadió el stop activado a la toma que está en el historial.

Estos son los problemas.

He encontrado un error en los pedidos y estoy trabajando en las adiciones

 
MakarFX:

Si necesita invertir todas las operaciones, sólo tiene que cambiar aquí

vOrderOpenSell y vOrderOpenBuy


No, no necesito la inversión sino "reflejar" las operaciones con pérdidas a otro terminal teniendo en cuenta el spread.

pero los probadores no dan esas posibilidades, necesito que los búhos en el probador "reflejen" las operaciones con spread como si se abrieran en otro terminal pero según la lógica de este búho, digamos, a través de un copiador de rewrder.

Lo necesito para probar el TS

 
Alexey Viktorov:

Makar señaló correctamente OrderMagicNumber(), pero entendió mal el error. Lea la documentación para conocer la sintaxis de esta función... debe ser un índice en la lista de órdenes o un ticket de una orden específica, pero no un magik. Y OrderTicket() no ayudará aquí. No intentes ponerlo ahí.

Tiene sentido. Lo he compilado y lo he sustituido por OrdersHistoryTotal, y en la configuración del terminal he hecho el historial de los últimos tres días. Lo probaré.

 
законопослушный гражданин:

No necesito la inversión, sino "reflejar" las operaciones con pérdidas en otro terminal, teniendo en cuenta el spread, como en el tema del autor del código.

Pero los probadores no proporcionan tales posibilidades, para ello necesito búhos en el probador que "reflejen" las operaciones con spread, como si se abrieran en otro terminal pero según la lógica de este búho, digamos, a través de un copiador con reponderación.

Lo necesito para comprobar el TS.

Si el problema con las órdenes de entrada en el mercado tratar de reemplazar este

///////////////
if (cmd==OP_SELL) // Переворачиваем ордера OP_SELL
{
Ret=OrderSend (symbol,OP_BUY,volume,Ask,slippage,takeprofit-sprd,stoploss-sprd,comment,magic,expiration,arrow_color);
}
if (cmd==OP_BUY) // Переворачиваем ордера OP_BUY
{
Ret=OrderSend (symbol,OP_SELL,volume,Bid,slippage,takeprofit+sprd,stoploss+sprd,comment,magic,expiration,arrow_color);
}

Y si el problema es con todas las órdenes, entonces compruebe el NIVEL DE PARADA

 
MakarFX:

........................., y trabajando con la adición

He llegado a la conclusión de que es difícil de implementar, tu código es mucho más sencillo, claro y lógico, pero ..... por alguna razón tampoco aporta. Lo principal es no rendirse.

 
SGarnov:

He llegado a la conclusión de que es difícil de implementar, tu código es mucho más sencillo, claro y lógico, pero ..... de alguna manera tampoco cuadra. Lo principal es no rendirse.

¡Sirvo a la Unión Soviética!
 
SGarnov:

He llegado a la conclusión de que es difícil de implementar, tu código es mucho más sencillo, claro y lógico, pero ..... de alguna manera tampoco cuadra. Lo principal es no rendirse.

MakarFX:
¡Sirvo a la Unión Soviética!

Tal vez también debería tener en cuenta el número de paradas activadas. Por ejemplo, el EA encontrará un stop en el historial, y si hay dos, debería añadir tanto tres como cuatro, todo depende de la configuración externa "número de stop losses".

 
SGarnov:

Tal vez debería tener en cuenta también el número de paradas activadas. Por ejemplo, el EA encontrará un stop en el historial, y si hay dos, debería añadirlos tanto tres como cuatro, todo depende de la configuración externa "número de stop losses".

Hay una contabilidad del número de paradas activadas y si el "Número de órdenes perdedoras" es mayor que el especificado en los ajustes, entonces las órdenes pendientes no se colocan más (ya se ha comprobado).
 

Hola a todos, ¡ayuda por favor!

Tengo un problema de este tipo. Compré un vpc de mql5 todo funciona bien, me instalé un experto, configuré 8 gráficos y configuré un experto. Y he transferido todo a Vpc.

He tenido que desinstalar metatrade de mi ordenador porque no era mío.

Y ahora cuando entro desde mi ordenador.

Todo funciona, el experto. Funciona, pero no puedo verlo para hacer ningún cambio en la configuración. ¿Cómo puedo devolver el EA y los horarios para poder gestionarlos desde mi ordenador?

Gracias.