Preguntas de los principiantes MQL4 MT4 MetaTrader 4 - página 127

 
nsd63¿Es posible hacer con este indicador

Necesito el código fuente de MQ4

 

Ciudadanos, ¡por favor, aconsejen cómo expresar la lógica en el código!

Tengo en el gráfico la MA.... y necesito que se active la VENTA, si la vela cruzó la MA hacia arriba hacia abajo y la COMPRA, si la vela cruzó desde abajo hacia arriba....

Gracias de antemano.

 
sviter-pro:

Ciudadanos, ¡por favor, aconsejen cómo expresar la lógica en el código!

Tengo en el gráfico la MA.... y necesito que se active la VENTA, si la vela cruzó la MA hacia arriba hacia abajo y la COMPRA, si la vela cruzó desde abajo hacia arriba....

Gracias de antemano.

hay un Asesor Experto en el terminal, Moving Average.mq4 - ya está hecho allí. Funciona perfectamente

 

Saludos.

¿Pueden decirme cómo "colar" en el probador de MT4 un archivo histórico creado con un marco temporal que no está en el probador (u otras opciones)?

La cuestión es que hay un Asesor Experto, desde aquí http://tradelikeapro.ru/grafiki-renko/ que crea un archivo histórico en tiempo real en velas Renko con un marco de tiempo no estándar. Tenemos que probarlo utilizando el archivo creado. Sin embargo, cambiar el nombre del archivo de historia resultante con un marco de tiempo no estándar no ayuda. El probador muestra TestGenerator: no hay datos de historia 'GBPUSD5' de 2017.01.05 a 2017.06.14 Se crea en el tiempo real, no desde la historia, porque la historia no consigue un gráfico muy correcto. O bien, ajustar el propio indicador para que cree un gráfico con el marco temporal estándar, eliminando previamente el apropiado del historial. Hasta ahora sólo he conseguido corregirlo para que cree un archivo pero que esté vacío.

Торгуй с удовольствием! Свечи Ренко — построение графика «по кирпичику»
Торгуй с удовольствием! Свечи Ренко — построение графика «по кирпичику»
  • tradelikeapro.ru
Здравствуйте, друзья! На нашем сайте уже было несколько форекс стратегий для торговли по графикам Ренко (Renko), думаю стоит рассмотреть этот тип графиков отдельно, обсудить плюсы и минусы такого подхода к торговле. Также в рамках этого обзора мы познакомимся с альтернативным индикатором для построения графиков Ренко, т.к. часть старых утилит...
 
Andrey Sokolov:

Saludos.

¿Pueden decirme cómo "colar" en el probador de MT4 un archivo histórico creado con un marco temporal que no está en el probador (u otras opciones)?

La cuestión es que hay un Asesor Experto, desde aquí http://tradelikeapro.ru/grafiki-renko/ que crea un archivo histórico en tiempo real en velas Renko con un marco de tiempo no estándar. Tenemos que probarlo utilizando el archivo creado. Sin embargo, el cambio de nombre del archivo de historia resultante con un marco de tiempo no estándar no ayuda. El probador muestra TestGenerator: no hay datos de la historia 'GBPUSD5' de 2017.01.05 a 2017.06.14 Se crea en el tiempo real, no de la historia, porque la historia no consigue muy correctamente. O bien, ajustar el propio indicador para que cree un gráfico con el marco temporal estándar, eliminando previamente el apropiado del historial. Hasta ahora sólo he conseguido corregirlo para que cree un archivo pero que esté vacío.

El gráfico Renko es el resultado de la superposición de un filtro de paso bajo con retroceso en el historial. MA da una curva suave, pero Renko da una curva escalonada debido a la reacción. Guardar el resultado del filtrado en un array y seguir trabajando... Estaré libre en una o dos semanas y me pondré a ello

 

¿Podéis decirme cómo escribir en el código del Asesor Experto para abrir 3 operaciones a la vez con la posibilidad de fijar LS?

Esta es mi condición

if(MA_1>MA_2)
ticket=OrderSend(_Symbol,OP_BUY,Lots,Ask,0,Ask-SL*Point,Bid+TP*Point,NULL,0,0,clrGreen);
if(MA_1<MA_2)
ticket=OrderSend(_Symbol,OP_SELL,Lots,Bid,0,Bid+SL*Point,Ask-TP*Point,NULL,0,0,clrRed);

Me han aconsejado utilizar la función(OrdersTotal()), pero no se ajusta a mi caso. Lo escribí así

void OnTick()
  {
//---
   double MA_1;
   MA_1=iMA(_Symbol,0,1,0,1,0,0);
   double MA_2;
   MA_2=iMA(_Symbol,0,6,0,1,0,0);
   int ticket=0;
   if(OrdersTotal()<=3)
     {
      if(MA_1>MA_2)
         ticket=OrderSend(_Symbol,OP_BUY,Lots,Ask,0,Ask-SL*Point,Bid+TP*Point,NULL,0,0,clrGreen);
      if(MA_1<MA_2)
         ticket=OrderSend(_Symbol,OP_SELL,Lots,Bid,0,Bid+SL*Point,Ask-TP*Point,NULL,0,0,clrRed);
     }
//---
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }

Compila bien, sin errores, pero no es apropiado para mi caso.

 
Ciudadanos, por favor, aconsejen dónde encontrar un EA (flipper de pedidos)...
Es decir, su lógica es la siguiente:
¡¡¡La primera orden se abre por una condición, y cuando aparecen otras condiciones, se cierra la primera orden y se abre la segunda por otras condiciones!!! ¿Quizás haya algún sitio donde leer sobre ello?

Hice lo que pude! Pero los pedidos no se cierran Ayuda plz...

MA1_0 = iMA(_Símbolo, _Período, ma1, 0, ma1_método, ma1_Precio, 1);
MA1_1 = iMA(_Símbolo, _Período, ma1, 0, ma1_método, ma1_Precio, 2);

MA2_0 = iMA(_Símbolo, _Período, ma2, 0, ma2_método, ma2_Precio, 1);
MA2_1 = iMA(_Símbolo, _Período, ma2, 0, ma2_método, ma2_Precio, 2);

if(MA1_0 < MA2_0 && MA1_1 >= MA2_1) //vender
{
if(tp > 0) TP = NormalizeDouble(Bid - tp * _Point, _Digits); si no TP = NULL;
ticket = OrderSend(_Symbol, OP_SELL, lot, Bid, slippage, 0, TP, NULL, Magic, 0, clrRed); /vender
Print("Error al abrir una orden de venta");
}
si no
{
Print("Apertura exitosa de la orden de venta");
}
else if(MA1_0 > MA2_0 && MA1_1 <= MA2_1)//comprar
{
ticket_close = OrderClose (ticket, lote, Bid, deslizamiento, clrRed);
Print("Orden de venta cerrada con éxito");
}
si no
{
Print("Error al cerrar la orden de venta");
}
 
¿Puede indicar por qué el EA deja de ver sus órdenes (abre varias órdenes en lugar de una) si hay otras órdenes además de las suyas? Si sólo las órdenes de EA - no hay problemas. Al abrir una orden se establece el "Medjik" y sólo se seleccionan las órdenes con este "Medjik" según las condiciones de apertura de la orden.
 
sviter-pro:
Ciudadanos, por favor, aconsejen dónde encontrar un EA (flipper de pedidos)...
Es decir, su lógica es la siguiente:
¡¡¡La primera orden se abre por una condición, y cuando aparecen otras condiciones, se cierra la primera orden y se abre la segunda por otras condiciones!!! ¿Quizás haya algún sitio donde leer sobre ello?

Hice lo que pude! Pero los pedidos no se cierran Ayuda plz...

MA1_0 = iMA(_Símbolo, _Período, ma1, 0, ma1_método, ma1_Precio, 1);
MA1_1 = iMA(_Símbolo, _Período, ma1, 0, ma1_método, ma1_Precio, 2);

MA2_0 = iMA(_Símbolo, _Período, ma2, 0, ma2_método, ma2_Precio, 1);
MA2_1 = iMA(_Símbolo, _Período, ma2, 0, ma2_método, ma2_Precio, 2);

if(MA1_0 < MA2_0 && MA1_1 >= MA2_1) //vender
{
if(tp > 0) TP = NormalizeDouble(Bid - tp * _Point, _Digits); si no TP = NULL;
ticket = OrderSend(_Symbol, OP_SELL, lot, Bid, slippage, 0, TP, NULL, Magic, 0, clrRed); /vender
Print("Error al abrir una orden de venta");
}
si no
{
Print("Apertura exitosa de la orden de venta");
}
else if(MA1_0 > MA2_0 && MA1_1 <= MA2_1)//comprar
{
ticket_close = OrderClose (ticket, lote, Bid, deslizamiento, clrRed);
Print("Orden de venta cerrada con éxito");
}
si no
{
Print("Error al cerrar la orden de venta");
}

La orden de venta se cierra al precio Ask

 
Anatoliy Ryzhakov:
¿Puede indicar por qué el EA deja de ver sus propias órdenes (abre varias órdenes en lugar de una) si hay otras órdenes además de la suya? Si las órdenes son sólo las del EA, no hay problema. Al abrir una orden se establece el "Medjik" y sólo se seleccionan las órdenes con este "Medjik" según las condiciones de apertura de la orden.

Tiene una pausa y necesita continuar