¡Pide! - página 145

 

Llamada a un servicio web con MQL

¿Alguien sabe cómo llamar a servicios web externos desde un asesor experto?

 
 

Supongo que esto es algo básico, sólo que no sé cómo acceder a ello. ¿Puede alguien decirme cómo recuperar la apertura/cierre diario de varios días atrás si estoy en un gráfico que no sea el diario? Tal vez proporcionar un código de ejemplo, sería útil.

Gracias

ET

 

Mira en la ayuda del MetaEditor para iopen y iclose

Lux

 
luxinterior:
Mira en la ayuda del MetaEditor para iopen y iclose Lux

Muchas gracias, ha funcionado...

ET

 

Solicitud de corrección de código

Hola,

Estoy tratando de modificar el indicador adjunto para realizar lo siguiente

1) hacer que la fecha de inicio coincida con el color1, ahora el indicador traza el segundo color (color2) de la serie en la fecha de inicio y no el primero

2) imprimir la fecha, el color, la apertura, el máximo, el mínimo y el cierre de cada línea trazada en la serie. El archivo se añadiría a medida que se disponga de nuevos datos.

Gracias por su ayuda de antemano.

Saludos,

Archivos adjuntos:
 

Calc lowest low/use higher time frame trend/evit spread problem

Estoy tratando de encontrar algunos ejemplos de codificación que podrían proporcionar para los siguientes requisitos:

Para calcular la colocación de un stop me gustaría ver la codificación que para cualquier marco de tiempo dado el EA podría ser dicho el BAJO más bajo (o el alto más alto) durante el último número X de barras... y luego usar ese precio menos (o más en el caso del alto más alto) X número de pips para establecer un nivel de parada.

Para que cualquier nueva orden de marco de tiempo corto sea colocada en la misma dirección que la tendencia de un marco de tiempo mayor, me gustaría ver una codificación que permitiera colocar nuevas órdenes en el gráfico de marco de tiempo corto SÓLO en la misma dirección que la tendencia del gráfico de marco de tiempo mayor. Como un simple ejemplo, supongamos que un EA adjunto a un gráfico de 15 minutos quiere colocar una orden de compra en el cruce hacia arriba de la MA1 sobre la MA2 (con un stop colocado según la pregunta anterior a 5 pips por debajo del mínimo de las últimas 5 barras) PERO estoy buscando una codificación que sólo coloque esa nueva orden siempre que en el gráfico de una hora para ese mismo par, el precio actual esté por encima (o por debajo en los casos de una venta) de una MA de período X.

Para evitar falsas aperturas/cierres de órdenes debido a spreads inusualmente amplios, me gustaría ver una codificación que sólo activara la acción de la orden basada en el CIERRE de la barra actual (o incluso podría considerarse la barra anterior) en lugar de activarse mientras una barra está todavía abierta. Con IBFX, por ejemplo, he visto spreads que normalmente son de 5 pips y que a menudo son de 20 pips (¡y una vez incluso vi 53 pips!). Parece que esta acción de spreads tan amplios a menudo abre una nueva orden porque durante la formación de la barra las MA's se han cruzado temporalmente... pero en el momento en que la barra se cierra NO se han cruzado, dejándome con una orden de compra en su lugar que no era deseada.

Cualquier ejemplo de código para abordar estas cosas sería muy apreciado.

 
Archivos adjuntos:
 

Estimado coderguru,

Es puede ser el trabajo más fácil en la codificación para cambiar el color.......Yo soy incapaz de hacerlo............

Sólo cambiar el apoyo en un color y la resistencia en un color diferente de este código.......

Aquí la resistencia y el soporte están en un color similar.....................

Y los objetos no se borran cuando se borra el indicador.............

Gracias de antemano.............

Archivos adjuntos:
 

Ayuda con Trailling Stop / 1 Riesgo o Posición M

Hola a todos

He intentado buscar en el foro una solución para mi problema:

Al principio de mi EA:

//---- buy conditions

if(Ask > mybuyconditions)

{

ticket=OrderSend(Symbol(),OP_BUY,LotsLong(),Ask,Spread,Bid-(Ask-lowestof10bars),((BBupper-BBlower)/(Ask-lowestof10bars))*1000,"Einstieg 1",magic+1,0,Green);

}

//---- sell conditions

if(Bid < mysellconditions)

{

ticket=OrderSend(Symbol(),OP_SELL,LotsShort(),Bid,Spread,Ask+(highestof10bars-Bid),((BBupper-BBlower)/(highestof10bars-Bid))/100,"Einstieg -1",magic-1,0,Red);

}

//----[/CODE]

Stopploss: its easy 10 bars hi/lo

Takeprofit: here i write my formula for my Trailingstop, and that is:

Take the differenz of BBupper - BBlower at the order open time. Then divide by StopLoss in Pips and you have an Factor. Then take the actual BB differenz and divide it by this Faktor. NOW WE HAVE OUR VOLA BB TRAILINGSTOPP!!!!!

SO, my big problem is now to save this FAKTOR!!!! I saved it in th Takeprofit of Ordersend, it works but it is not right!!!!!

And know the 2te Question:

Position Management:

so my order is open and i have my trailing stopp that trails : So and now if the trailingstop is > orderopenprice send next ORDER!!! It's logical because so i can always sicure to risk just my 1 R Risk.

.... if Trailingstopp is > orderopenprice of secondOrder send 3te order.

HERE MY EXAMPLES:

for(int i = (OrdersTotal()-1); i >= 0; i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

{

if(OrderType()==OP_BUY && OrderMagicNumber() == magic+1)

if(OrderStopLoss()< Bid-(oben-unten)/(OrderTakeProfit()/1000))

{

OrderModify(OrderTicket(),OrderOpenPrice(),High-(oben-unten)/(OrderTakeProfit()/1000),OrderTakeProfit(),0,Indigo);

return;

}

if(OrderStopLoss() > OrderOpenPrice() && CalculateCurrentOrders(Symbol()) == 1)

{

ticket1=OrderSend(Symbol(),OP_BUY,LotsLong(),Ask,Spread,Bid-(Ask-Low),((oben-unten)/(Ask-Low))*1000,"Einstieg 2",magic+2,0,Green);

return;

}

}

{

if(OrderType()==OP_BUY && OrderMagicNumber() == magic+2 && CalculateCurrentAfterOrders(Symbol()) <= 1)

{

if(OrderStopLoss()<Bid-(oben-unten)/(OrderTakeProfit()/1000))

{

OrderModify(OrderTicket(),OrderOpenPrice(),High-(oben-unten)/(OrderTakeProfit()/1000),OrderTakeProfit(),0,Indigo);

return;

}

if(OrderStopLoss() > OrderOpenPrice() && CalculateCurrentOrders(Symbol()) == 2)

{

ticket2=OrderSend(Symbol(),OP_BUY,LotsLong(),Ask,Spread,Bid-(Ask-Low),((oben-unten)/(Ask-Low))*1000,"Einstieg 3",magic+3,0,Green);

return;

}

}

{

if(OrderType()==OP_BUY && OrderMagicNumber() == magic+3 && CalculateCurrentAfterOrders(Symbol()) <= 2)

{

if(OrderStopLoss()< Bid-(oben-unten)/(OrderTakeProfit()/1000))

{

OrderModify(OrderTicket(),OrderOpenPrice(),High-(oben-unten)/(OrderTakeProfit()/1000),OrderTakeProfit(),0,Indigo);

return;

}

}

}

}

[CODE] if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

{

if(OrderType()==OP_BUY && OrderMagicNumber() == magic+1)

{

{

OrderModify(OrderTicket(),OrderOpenPrice(),High-(oben-unten)/(OrderTakeProfit()/1000),OrderTakeProfit(),0,Indigo);

return;

}

if(OrderStopLoss() >= OrderOpenPrice() && CalculateCurrentOrders(Symbol()) == 1)

{

ticket1=OrderSend(Symbol(),OP_BUY,LotsLong(),Ask,Spread,0,0,"Einstieg 2",magic+2,0,Green);

return;

}

}

if(OrderType()==OP_BUY && OrderMagicNumber() == magic+2)

{

if(OrderStopLoss() >= OrderOpenPrice() && CalculateCurrentOrders(Symbol()) == 2)

{

ticket2=OrderSend(Symbol(),OP_BUY,LotsLong(),Ask,Spread,0,0,"Einstieg 3",magic+3,0,Green);

return;

}

}

}

{

if(OrderType()==OP_BUY && OrderMagicNumber() == magic+2)

{

if(CalculateCurrentOrders(Symbol()) == 0)

{

OrderClose(ticket1,OrderLots(),Ask,Spread,Red); return;

}

}

}

if(OrderType()==OP_BUY && OrderMagicNumber() == magic+3)

{

OrderClose(i,OrderLots(),Ask,Spread,Red); return;

}

¡¡¡¡¡Espero que alguien me pueda ayudar con este problema!!!!! Gracias a todos.