Ayuda a la codificación - página 223

 
daniel1983:
Gracias Mladen, hice los cambios, el indicador se ve así, pero aún no hace nada en el gráfico...

//------------------------------------------------------------------

#property copyright "www.forex-tsd.com"

#property link "www.forex-tsd.com"

//------------------------------------------------------------------

//+------------------------------------------------------------------+

//| Función de inicialización del indicador personalizada ||

//+------------------------------------------------------------------+

int init()

{

//----

return(0);

}

int deinit() {

Comentario("");

ObjectDelete("KeyLine");

return(0);

}

//+------------------------------------------------------------------+

//| Función de iteración del indicador personalizada ||.

//+------------------------------------------------------------------+

int inicio()

{

double number = (iOpen(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/3;

Comentario("Línea clave: ",número);

ObjectDelete("KeyLine");

ObjectCreate("KeyLine", OBJ_HLINE,1, CurTime(),number);

ObjectSet("KeyLine",OBJPROP_COLOR,Orange);

ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID);

ObjectsRedraw();

return(0);

}

¿Qué estoy haciendo mal ahora?

Gracias

Hazlo así :

#property indicator_chart_window

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int init() { return(0); }

int deinit()

{

Comment("");ObjectDelete("KeyLine");

return(0);

}

int start()

{

double number = (iOpen(NULL,PERIOD_D1,1)+iHigh(NULL,PERIOD_D1,1)+iLow(NULL,PERIOD_D1,1))/3;

Comment("Key Line: ",number);

ObjectDelete("KeyLine");

ObjectCreate("KeyLine", OBJ_HLINE,0, CurTime(),number);

ObjectSet("KeyLine",OBJPROP_COLOR,Orange);

ObjectSet("KeyLine",OBJPROP_STYLE,STYLE_SOLID);

return(0);

}
Archivos adjuntos:
test.mq4  1 kb
 

Ok Mladen, muchas gracias por tu tiempo, voy a ver lo que puedo hacer, ya que hay algún problema con el código de la matemática, ya que todavía no toma los precios de la primera vela para hacer la ecuación matemática. gracias de nuevo, tendrá un vistazo a esto durante el fin de semana.

Daniel1983

 
daniel1983:
Ok Mladen, muchas gracias por tu tiempo, veré lo que puedo hacer, ya que hay algún problema con el código de las matemáticas, ya que todavía no toma los precios de la primera vela para hacer la ecuación matemática. gracias de nuevo, voy a echar un vistazo a esto durante el fin de semana. Daniel1983

Daniel1983

Para traducir ese código mql al lenguaje cotidiano: el número es igual a la apertura del día anterior + el máximo del día anterior + el mínimo del día anterior dividido por 3. De esta manera los valores de diferentes marcos de tiempo no se mezclan y no habrá ningún cambio en los valores hasta que el día actual cambie

 

Hola Mladen,

He descargado el indicador de soporte y resistencia deThread: How to use Support and Resistance Effectively Pero cuando lo pongo en un gráfico aparece el soporte y la resistencia. Pero si borro el indicador el soporte y la resistencia permanecen en el gráfico. ¿Sabéis cómo puedo hacer para borrarlo completamente?

¡Muchas gracias de antemano!

Un saludo, MGM

 
MGM:
Hola Mladen,

He descargado el indicador de Soporte y Resistencia deThread: Cómo utilizar el soporte y la resistencia de manera efectiva

Pero cuando lo pongo en un gráfico aparece el soporte y la resistencia. Pero si borro el indicador el soporte y la resistencia permanecen en el gráfico. ¿Sabéis cómo puedo hacer para eliminarlo completamente?

¡Muchas gracias de antemano!

Un saludo, MGM

MGM

¿Qué indicador exactamente (que post No)?

 
mladen:
MGM ¿Qué indicador exactamente (qué post No)?

Lo siento, Maladen lo he descargado deThread:How to use Support and Resistance Effectivelypage44. Y ahora funciona bien. Disculpe la pregunta.

¡Muchas gracias de todos modos!

MGM

 

Estimado Mladen

Quiero escribir un EA que abra dos órdenes, la primera de venta o compra y la segunda pendiente.

Si la primera orden alcanza el objetivo, el EA elimina la pendiente y repite el ciclo.

He creado una estructura preliminar. Podría revisarla amablemente.

//+-------------------------------------------------------+

//| Main Function |

//+-------------------------------------------------------+

int start()

{

if (Counter() == 0)

{

Long ();

Short();

}

if (Counter() == 1)

{

PendingRemover();

}

return(0);

}

//+-------------------------------------------------------+

//| Complementary Functions |

//+-------------------------------------------------------+

//---- Order Counter

int Counter()

{

int Pending = 0;

int Trading = 0;

for (int i=0; i<OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == False) break;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)

{

if(OrderType() == Buy or Sell Order) Trading++;

if(OrderType() == Pending Order) Pending++;

}

}

return(Trading+Pending);

}

//---- Pending Remover

void PendingRemover()

{

for (int i=0; i<OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == False) break;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == Pending Order);

OrderDelete(Pending);

}

}

//---- Long Position Handler

void Long()

{

int Ticket1;

int Ticket2;

if (X > 0)

{

Ticket1 = OrderSend(Trading);

Ticket2 = OrderSend(Pending);

}

}

//---- Short Position Handler

void Short()

{

int Ticket1;

int Ticket2;

if (X < 0)

{

Ticket1 = OrderSend(Trading);

Ticket2 = OrderSend(Pending);

}

}

Un saludo,

 
-IXI-:
Estimado Mladen

Quiero escribir un EA que abra dos órdenes, la primera de venta o compra y la segunda pendiente.

Si la primera orden alcanza el objetivo, el EA elimina la pendiente y repite el ciclo.

He creado una estructura preliminar. ¿Podría usted amablemente comprobarlo.

//+-------------------------------------------------------+

//| Main Function |

//+-------------------------------------------------------+

int start()

{

if (Counter() == 0)

{

Long ();

Short();

}

if (Counter() == 1)

{

PendingRemover();

}

return(0);

}

//+-------------------------------------------------------+

//| Complementary Functions |

//+-------------------------------------------------------+

//---- Order Counter

int Counter()

{

int Pending = 0;

int Trading = 0;

for (int i=0; i<OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == False) break;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)

{

if(OrderType() == Buy or Sell Order) Trading++;

if(OrderType() == Pending Order) Pending++;

}

}

return(Trading+Pending);

}

//---- Pending Remover

void PendingRemover()

{

for (int i=0; i<OrdersTotal(); i++)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == False) break;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == Pending Order);

OrderDelete(Pending);

}

}

//---- Long Position Handler

void Long()

{

int Ticket1;

int Ticket2;

if (X > 0)

{

Ticket1 = OrderSend(Trading);

Ticket2 = OrderSend(Pending);

}

}

//---- Short Position Handler

void Short()

{

int Ticket1;

int Ticket2;

if (X < 0)

{

Ticket1 = OrderSend(Trading);

Ticket2 = OrderSend(Pending);

}

}

Lo mejor,

-IXI-

Por lo que veo todo está bien

 

Estimado Mladen

Muchas gracias.

He añadido algunos códigos para hacer un simple EA.

¡Es extraño que el EA abre órdenes de compra y venta al mismo tiempo! ¿Alguna idea?

//---- Long Position Handler

void Long()

{

int Ticket1;

int Ticket2;

if (iMA(Symbol(),Period(),10,0,1,0,1)

> iMA(Symbol(),Period(),10,0,1,0,2))

{

Ticket1 = OrderSend(Symbol(),OP_BUY ,...);

Ticket2 = OrderSend(Symbol(),OP_SELLSTOP,...);

}

}

//---- Short Position Handler

void Short()

{

int Ticket1;

int Ticket2;

if (iMA(Symbol(),Period(),10,0,1,0,1)

< iMA(Symbol(),Period(),10,0,1,0,2))

{

Ticket1 = OrderSend(Symbol(),OP_SELL ,...);

Ticket2 = OrderSend(Symbol(),OP_BUYSTOP,...);

}

}

Mejor.

 

Hola,Mladen.Si probablemente para agregar en Momentum-Atr el indicador de filtro ema +? Pero sólo que EMA fue demasiado normalizado? Será probablemente mejor añadir otro promedio, SMA maybe.Frankly, no sé qué hacer. Quiero recibir en este indicador una cruz con MA.Es necesario para que el impulso cruza cero-entrada. Cruza un MA -salida

Por favor, ayuda.

Gracias.

Archivos adjuntos:
Razón de la queja: