Bienvenido al curso MQL4 - página 8

 

Tratar con los errores

Sigo recibiendo en OrderModify el error 1 con una nueva buil 208-210

stringo dice

Debe insertar en su fuente la comprobación de parámetros antes de llamar a la función ModifyOrder.

¿es esto cierto? no me fío de este tipo.

Saludos cordiales

Aquilez

cnt=Total de Pedidos()-1;

while(cnt>=0)

{

if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==false) break;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) // && Reversed==False)

{

Print("Billete ",OrderTicket()," modificado");

if (OrderType()==OP_SELL)

{

if (ExitWithOpenOrdersBasedON && myOrderTypetmp==2)

{

PreviousOpenOrders=OpenOrders+1;

ContinueOpening=False;

text = text +"\NCerrando todos los pedidos .";

Print("Cerrando todas las órdenes.");

//return(0)

}

si (TrailingStop>0)

{

if ((OrderOpenPrice()-OrderClosePrice())>=(TrailingStop*Point+Pips*Point))

{

if (OrderStopLoss()>(OrderClosePrice()+TrailingStop*Point))

{

result=OrderModify(OrderTicket(),OrderOpenPrice(),OrderClosePrice()+TrailingStop*Point,OrderClosePrice()-TakeProfit*Point-TrailingStop*Point,0,Purple);

if(result!=TRUE) Print("LastError = ", GetLastError());

si no, OrderPrint();

return(0);

}

}

}

}

if (OrderType()==OP_BUY)

{

if (ExitWithOpenOrdersBasedON && myOrderTypetmp==1)

{

PreviousOpenOrders=OpenOrders+1;

ContinueOpening=False;

text = text +"\NCerrando todos los pedidos.";

Print("Cerrando todas las órdenes.");

//return(0);

}

si (TrailingStop>0)

{

if ((OrderClosePrice()-OrderOpenPrice())>=(TrailingStop*Point+Pips*Point))

{

if (OrderStopLoss()<(OrderClosePrice()-TrailingStop*Point))

{

result=OrderModify(OrderTicket(),OrderOpenPrice(),OrderClosePrice()-TrailingStop*Point,OrderClosePrice()+TakeProfit*Point+TrailingStop*Point,0,ArrowsColor);

if(result!=TRUE) Print("LastError = ", GetLastError());

si no, OrderPrint();

return(0);

}

}

}

}

}

cnt--;

}

 

novato

Gracias por la introducción... quizás hace unos años que la creaste pero sigue siendo muy útil.

saludos

fiaraz

 

Se necesita ayuda - Se necesita un experto en EA

Hola,

Me preguntaba si alguien puede ayudarme - Estoy haciendo un EA utilizando un indicador personalizado llamado " slope-direction-line.mq4 " el indicador representa la tendencia por 2 colores Cal para la tendencia alcista y Rojo para la tendencia a la baja - Así que cómo identificar la EA para vender o comprar de acuerdo a los dos colores. He intentado lo siguiente, pero no está funcionando - Así que si usted puede ayudarme por favor.

if (iCustom(NULL, 0, "slope-direction-line",0) < iCustom(NULL, 0, "slope-direction-line",0))

y aquí está el enlace para el indicador https://www.mql5.com/en/forum

Gracias de antemano

 
 

Muchas gracias.

 

Muchas gracias a Coderguru, NewDigital y a todos los amigos por enseñarme una educación muy útil, espero que algún día con todo lo que me he permitido, haga mi propio programa de Mql. Dios los bendiga a todos

Saludos,

Spanar.

 

cómo pasar el parámetro de color

Estimado señor,

Tengo un problema : como pasar el parámetro a la función difine del usuario:

ejemplo :

CreateObject("Test1",Verde);

CreateObject("Test2",C'236,130,0')

CreateObject("Test3",32768 )

void CreateObject(cadena Nombre1,int DefinirColor)

{

ObjectCreate(Name1,OBJ_LABLEL,WindowFind("Indicato r1"),0,0);

ObjectSetText(Name1, "Testing",12, "Arial Bold:,DefineColor);

1. cómo pasar el Color para el Verde, C'235,130,0,' o 32768

2. En la función de definición del usuario, ¿cuál es el tipo de color? ¿puede ser una cadena? ¿Int? ¿doble o color? Lo he intentado pero no lo he conseguido

3. ¿Cuál es el tipo de variable para el color, o se puede convertir de interger, string en variable de tipo color?

4. ¿puede mostrarme la url para este tipo de problema?

gracias por la ayuda

rgds bob

 

ayuda.....ayuda.........ayuda...............ayuda

hola

me pueden ayudar a utilizar este código de indicador

iMAOnArray(?????,?????,?????,????,??????,i);

por favor con el ejemplo

gracias por ti

 
mercury_man:
hola

me pueden ayudar a utilizar este código de indicador

por favor con el ejemplo

gracias por tu ayuda

Hola,

He movido tu post a este hilo. Echa un vistazo a los post 20#.

Mientras tanto:

double iMAOnArray( double array[], int total, int period, int ma_shift, int ma_method, int shift)Cálculo de la Media Móvil sobre los datos almacenados en un array numérico. A diferencia de iMA(...), la función iMAOnArray no toma los datos por nombre de símbolo, marco temporal, el precio aplicado. Los datos del precio deben ser preparados previamente. El indicador se calcula de izquierda a derecha. Para acceder a los elementos del array como a un array de series (es decir, de derecha a izquierda), hay que utilizar la función ArraySetAsSeries. Parámetros:

array[] - Array con datos. total - El número de elementos a contar. 0 significa array entero. period - Periodo de promediación para el cálculo. ma_shift - Desplazamiento MA ma_method - Método MA. Puede ser cualquier valor de la enumeración del método de media móvil. shift - Índice del valor tomado del buffer del indicador (desplazamiento relativo a la barra actual la cantidad dada de períodos atrás). Ejemplo:

double macurrent=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,0);

double macurrentslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,0);

double maprev=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,1);

double maprevslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,1);

//----

if(maprev=macurrentslow)

Alert("cruzando hacia arriba");

 

iMAOnArray

¡iMAOnArray no es un indicador sino una función que calcula la media móvil de un array!

Si buscas en mis lecciones encontrarás la respuesta y más detalles sobre el iMAOnArray.

mercury_man:
hola

¿pueden ayudarme a utilizar el código de este indicador?

por favor con un ejemplo

gracias por su ayuda
Razón de la queja: