![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Ayuda con los comentarios de ordersend por favor
Necesito un poco de ayuda por favor Tengo un EA que tiene 4 criterios de entrada diferentes y me gustaría ser capaz de tener un comentario en ordersend para hacerme saber qué criterios de entrada se cumplió para cualquier posición en particular. he estado tratando de conseguir que esto funcione, pero todo lo que parece ser capaz de hacer es tener una lista es decir long1, long2, long3 etc. Sé que tengo que hacer algo diferente a lo que estoy haciendo actualmente, pero puedo pensar en lo que podría ser. He adjuntado una versión de la EA que estoy utilizando para experimentar con. así que cualquier ayuda en la solución de este sería grande. A continuación es lo que estoy viendo actualmente.
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Error al abrir la orden de COMPRA: valor del parámetro de la función no válido
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Señal Long4 tomada
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Señal Long3 tomada
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long2 señal tomada
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long1 señal tomada
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Short4 señal tomada
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Short3 señal tomada
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Short2 señal tomada
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Short1 señal tomada
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: cantidad de lotes no válida para la función OrderSend
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Señal Long4 tomada
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Señal Long3 tomada
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long2 señal tomada
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Long1 señal tomada
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Short4 señal tomada
2007.12.21 21:57:22 euroform V 2.1-exp EURJPY,H1: Short3 señal tomada
Saludos
Beno
Hola chicos,
Tengo una pregunta.
Me gustaría aprender a escribir mis propios indicadores, pero no tengo ni idea de por dónde debería empezar.
Tengo una idea en mi cabeza y lo básico de cómo debería funcionar, pero necesito un poco de ayuda.
Me gustaría crear un indicador que muestre la media de los máximos que se mueve una divisa desde la apertura cada día, lo mismo para los mínimos y lo mismo para el cierre.
Así que todos serían la distancia desde la apertura del día en términos de pips.
Me gustaría que el usuario pudiera especificar sobre cuántos días quiere calcular esa media.
Así que sería algo así como líneas dibujadas en la barra de los días actuales para representar el promedio de alta, baja y cierre de la moneda durante x días, y debe mantener las líneas dibujadas en el gráfico.
He intentado utilizar el indicador de media móvil como línea de base para empezar, pero todo parece bastante confuso. ¿Puede alguien simplificarlo para mí desglosando lo que debería añadir/eliminar y dónde, por favor?
saludos
steveEmpieza por el principio, es decir: aprende MQL4. Descargue los libros electrónicos de CodersGuru, imprímalos si usted es como yo - no es bueno para leer algo de la pantalla, luego léalos.
Léelos de nuevo si no entiendes la primera vez.
Haz la práctica.
Si sigues sin entender, revisa todos los EA que puedas, mira si hay alguna similitud con el tuyo. Busca la explicación de cada línea en el libro de CodersGuru, luego trata de escribir la tuya.
Puede tomar algunas veces para escribir su EA básico, pero una vez que lo hizo, perfeccionarlos es una cuestión de tratar y seguir tratando.
buena suerte.
¿qué pasa con estos?
Hola chicos
Mi EA al principio basaba su toma de beneficios en el trailing-stop. Luego agrego algunos puntos de fibo y comienzo a hacer trailing después de que se alcanza el último punto de fibo. Pero el probador de estrategias no funciona con el último desarrollo. Por favor, ayúdeme a encontrar mi propio error en el siguiente programa.
Gracias.
{
double highest = High;
double lowest = Low;
double p1u = NormalizeDouble((OrderOpenPrice()-lowest)*0.618,4);
double tpb1 = p1u*10000;
double p1d = NormalizeDouble((PrecioAperturaOrden())*0,618,4);
double tps1 = p1d*10000;
double p2u = NormalizeDouble((OrderOpenPrice()-más bajo)*1,4);
double tpb2 = p2u*10000;
double p2d = NormalizeDouble((más alto-PrecioDeAperturaDelOrden())*1,4);
double tps2 = p2d*10000;
double p3u = NormalizeDouble((OrderOpenPrice()-más bajo)*1,618,4);
double tpb3 = p3u*10000;
double p3d = NormalizeDouble((mayor-PrecioDeAperturaDelOrden())*1,618,4);
double tps3 = p3d*10000;
double p4u = NormalizeDouble((OrderOpenPrice()-más bajo)*2.382,4);
double tpb4 = p4u*10000;
double p4d = NormalizeDouble((PrecioAperturaOrden())*2,382,4);
double tps4 = p4d*10000;
double p5u = NormalizeDouble((OrderOpenPrice()-más bajo)*3.236,4);
double tpb5 = p5u*10000;
double p5d = NormalizeDouble((más alto-PrecioDeAperturaDelOrden())*3,236,4);
double tps5 = p5d*10000;
for(int i=0; i<TotalPedidos(); i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)
romper;
if(OrderMagicNumber()!=magic | OrderSymbol()!=Symbol())
continuar;
if(OrderType()<=OP_SELL)
{
if(OrderType()==OP_BUY && Bid>OrderOpenPrice())
{
if((Bid>=OrderOpenPrice()+Point*tpb1) && (OrderStopLoss()!=OrderOpenPrice()))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb1,0,0,CLR_NONE);
return(0);
}
if((Bid>=OrderOpenPrice()+Point*tpb2) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb1))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb2,0,0,CLR_NONE);
return(0);
}
if((Bid>=OrderOpenPrice()+Point*tpb3) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb2))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb3,0,0,CLR_NONE);
return(0);
}
if((Bid>=OrderOpenPrice()+Point*tpb4) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb3))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb4,0,0,CLR_NONE);
return(0);
}
if((Bid>=OrderOpenPrice()+Point*tpb5) && (OrderStopLoss()!=OrderOpenPrice()+Point*tpb4))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*tpb5,0,0,CLR_NONE);
return(0);
}
if((Bid>=OrderOpenPrice()+Point*(tpb5+ts)) && (OrderStopLoss()+Point*ts<Bid))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*ts,0,0,CLR_NONE);
return(0);
}
}
else if(OrderType()==OP_SELL && Ask<OrderOpenPrice())
{
if((Ask<=OrderOpenPrice()-Point*tps1) && (OrderStopLoss()!=OrderOpenPrice()))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps1,0,0,CLR_NONE);
return(0);
}
if((Ask<=OrderOpenPrice()-Point*tps2) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps1))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps2,0,0,CLR_NONE);
return(0);
}
if((Ask<=OrderOpenPrice()-Point*tps3) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps2))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps3,0,0,CLR_NONE);
return(0);
}
if((Ask<=OrderOpenPrice()-Point*tps4) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps3))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps4,0,0,CLR_NONE);
return(0);
}
if((Ask<=OrderOpenPrice()-Point*tps5) && (OrderStopLoss()!=OrderOpenPrice()-Point*tps4))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*tps5,0,0,CLR_NONE);
return(0);
}
if((AskAsk))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*ts,0,0,CLR_NONE);
return(0);
}
}
}
}
}¿Cómo se evita que esto ocurra? ????
El MACDI en el gráfico de 4 horas es positivo, pero si lo utilizo como indicador obtengo una venta porque el MACDI de 1 minuto puede ser negativo durante un breve período de tiempo, pero no se refleja en el gráfico de 4 horas. ¿Cómo puedo codificar esto para que mi programa reciba la media horaria y no los resultados de 1-Min.
Dave
¿qué baja?
Creo que te olvidaste de qué baja usas como baja actual. Mira, no puedo imaginar si te refieres al mínimo de la barra actual. Si te refieres a lo que creo que te refieres, intenta usar iLowest[]. Véalo en el diccionario de Metaeditor.
punto perdido
lo siento, no vi que pusiste currentlow = 1000;. Pero la sugerencia sigue siendo. Ver, currentlow = 1000; 1000 ¿qué? 1.0000 como en GBP/USD? 1000 punto, ¿de dónde? Así que, sigue siendo lo mismo, utilizar iLowest[] para currentlow. Creo que funcionaría bien.
iLowest
Hola Sendra,
Gracias por tu pronta respuesta.
Lo que estoy tratando de lograr no se basa en un alto o bajo de cualquier marco de tiempo, sino el punto más bajo antes de un Ret1 (75 pip) retracement. Me estoy centrando en el EUR/USD para empezar.
CurrentLow se supone que rastrea el punto más bajo antes del retroceso.
El siguiente es un ejemplo de lo que estoy tratando de lograr.
a) Digamos que abrimos el EA y el precio es 1,4000 y oscila entre 1,4030 y 1,3970 antes de ir a 1,4045. Quiero que CurrentLow sea 1.3970 (punto más bajo) y colocar la primera orden de venta en 1.4045 (Entry1) con un SL de 1.4195 (SL1 =150 pips) y un Take Profit (TPA = 75 pips) de 1.3970.
b) si el precio sigue subiendo hasta 1,4120 (Entrada2), querría una segunda orden de venta con Take Profit (TPB =76 pips) de 1,4044 y SL de 1,4195 (igual que en la primera orden).
Mi EA parece funcionar para la primera orden pero no parece llegar a la segunda orden. He conseguido que coloque la segunda orden pero el precio era el mismo que el de la primera orden y el SL estaba fastidiado.
Mi objetivo a largo plazo es que decida si debe ser una compra o una venta basada en indicadores de tendencia a largo plazo y por supuesto tener una compra configurada como esta venta configurada como se muestra aquí. No tengo ni idea de si será rentable pero estoy tratando de aprender y seguramente haré un millón de modificaciones antes de completarlo. He llegado a la conclusión de que para saber si cualquier estrategia funciona, es necesario automatizarla y eliminar el error humano de la toma de decisiones. Obviamente, hay que mirar los fundamentos pero eso vendrá después...quizás.
Cualquier ayuda de Sendra o de cualquier otra persona será muy apreciada.
Gracias
Putz
i Lowest y CurrentLow
Hola Sendra,
Para responder a tu pregunta sobre el CurrentLow, le he dado un valor de 1000 ya que siempre será mayor que cualquier precio E/U. Esto es para asegurar que toma el primer precio de la UE cuando se abre. Si lo pusiera a 0, el precio nunca sería más bajo y por lo tanto ninguna operación tendría lugar.
Nunca he visto iLowest, pero voy a comprobar en él para ver si funcionaría para mí.
Gracias
Putz
Código - Comercio una vez al día
¿Puede alguien ayudarme con un script o ea que obligue a realizar sólo 1 trade por día?
Gracias