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
modificación rápida de EA
Hola,
Necesito un poco de ayuda, traté de cambiar el código de abajo, pero el EA seguía estrellándose MT4.
Quiero que la orden se cierre cuando la barra actual (la barra donde se ejecutó la orden) se cierre. Básicamente el comercio de una barra.
Este es el código original, opera de señal a señal.
//| Signal Begin(Exit Buy) |
//+------------------------------------------------------------------+
if (signaldown!=EMPTY_VALUE&&signaldown!=0) Order = SIGNAL_CLOSEBUY;
//+------------------------------------------------------------------+
//| Signal End(Exit Buy) |
//+------------------------------------------------------------------+
if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
continue;
}
//Trailing stop
if(UseTrailingStop && TrailingStop > 0) {
if(Bid - OrderOpenPrice() > Point * TrailingStop) {
if(OrderStopLoss() < Bid - Point * TrailingStop) {
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
} else {
//Close
//+------------------------------------------------------------------+
//| Signal Begin(Exit Sell) |
//+------------------------------------------------------------------+
if (signalup!=EMPTY_VALUE&&signalup!=0) Order = SIGNAL_CLOSESELL;
//+------------------------------------------------------------------+
//| Signal End(Exit Sell) |
//+------------------------------------------------------------------+
if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange);
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell");
if (!EachTickMode) BarCount = Bars;
IsTrade = False;
continue;
}
//Trailing stop
if(UseTrailingStop && TrailingStop > 0) {
if((OrderOpenPrice() - Ask) > (Point * TrailingStop)) {
if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {
OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange);
if (!EachTickMode) BarCount = Bars;
continue;
}
}
}
}
}
}
//+------------------------------------------------------------------+
//| Signal Begin(Entry) |
//+------------------------------------------------------------------+
//if (timeprev!=Time[0]){
// timeprev = Time[0];
if (signalup!=EMPTY_VALUE&&signalup!=0)
{
Order = SIGNAL_BUY;
}
if (signaldown!=EMPTY_VALUE&&signaldown!=0){
Order = SIGNAL_SELL;
}
// }
//+------------------------------------------------------------------+
//| Signal End |
//+------------------------------------------------------------------+
//Buy
if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (100 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("BUY order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy");
} else {
Print("Error opening BUY order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}
//Sell
if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (100 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", MagicNumber, 0, DeepPink);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("SELL order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
} else {
Print("Error opening SELL order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}
if (!EachTickMode) BarCount = Bars;
return(0);
}
//+------------------------------------------------------------------+¿Alguien puede ayudarme?
¡¡¡¡¡Por favor, ayuda!!!!!
Necesito un ea que haga lo siguiente
en un momento determinado establecer una orden de compra o venta de 4 piezas
funciones:
orden de apertura (variable 00-24)
orden1 vender o comprar lote (0.01 .0,02... 1) TP (+ xx pips desde oppen) SL (- xx pips desde open)
orden2 vender o comprar lote (0.01 .0,02... 1) TP (+ xx pips desde oppen) SL (- xx pips desde open)
orden3 vender o comprar lote (0.01 .0,02... 1) TP (+ xx pips desde oppen) SL (- xx pips desde open)
orden4 vender o comprar lote (0.01 .0,02... 1) TP (+ xx pips desde oppen) SL (- xx pips desde open)
GRACIAS
Necesito añadir a mi EA un código para desactivarlo a cierto nivel de precios
Hola,
Necesito añadir a mi EA un código para desactivarlo y activarlo en determinados niveles de precio.
He buscado y he encontrado que puedo hacerlo con
# iclude<WinUser32mqh
extern bool Disable Ea = true // desde X (examply1.4420) hasta Y(examply1.4380) y desde Z (examply1.4480) hasta N(examply1.4520) //
extern bool Habilitar Ea = true // de R(examply -1.4420) a T(examply -1.4480)
Agradeceré que me ayuden a traducir estas condiciones en un código, para que en el cuadro de diálogo del EA pueda introducir el nivel de precios para desactivar/activar el EA.
Después de buscar y estudiar un poco encontré que escribiendo en la función de inicio del EA un código lo iniciaría en ciertas condiciones.
Así que en la función de inicio del experto escribí lo siguiente
if(PRICE_MEDIAN (SellLevel-Point*BufferPips))
return (0)
------------------------------------------------------------------------------------------------------------------
BufferPips he añadido en el doble externo por lo que en el cuadro de diálogo podría cambiar su valor.
No sé si PRICE_MEDIAN es una buena opción.
Estoy recibiendo un error de compilación - paréntesis izquierdo desequilibrado.
Se agradece la ayuda
ayúdame a hacer auto trading
¡Hola, Sr. Gurú!
¡tengo auto trading pero no funciona, por favor ayúdeme!
Hola Mario,
Creo que esta condición if(current_shortEma == current_longEma)
nunca es verdadera. normalmente para detectar un cruce hay que hacer lo siguiente
if(current_shortEma > current_longEma && last_shortEma < last_longEma){
//cruce desde abajo
}
if(current_shortEma last_longEma){
//cruzar desde arriba
}
Información más detallada aquí:
https://www.mql5.com/en/forum/trading_systems
Gracias
MIkhail
Tengo una solicitud de codificación también ---- necesita un codificador (tarea muy simple)
Sabemos que HA -- henki ashi raramente se equivoca
durante la consolidación, o casi la vuelta en U, se acorta cada vez más
mientras que cuando la tendencia es todavía fuerte, HA para esa barra será LARGA
POR LO TANTO
sería bueno si tenemos un indicador que nos diga la fuerza de la tendencia
la idea es fácil
--- primero, debe ser cualquier HA va a hacer (adjunto mi ex4 sólo, pero tienen que encontrar una MQ4 - para HA) y modificarlo (tarea sencilla supongo)
sólo hay 2 colores para HA , uno azul * arriba ---- + ---- y uno rosa / violeta * abajo
-- Segundo, cuando la HA tiene que dibujar las cosas de la HA en el gráfico, hay LENGTH - longitud de la HA.
--- tercero, cuando se acerca a la vuelta en U, la barra de HA se acorta cada vez más
Supongamos que cuando la longitud de la barra de HA (por ensayo y error) sea inferior a 0,4 cm, la dibujaremos de color NEGRO (es decir, no azul / rosa)
nos avisará de que NO ENTRAMOS y saldremos pronto
De esta manera, sólo tenemos que entrar (sin miedo) de acuerdo con la fuerza de la tendencia de HA --- al igual que mi otra idea, muy SIMPLE, extremadamente útil
coder -- por favor no uses el ex4 que adjunto, solo dale a [BUSCAR] en el foro y escribe henki ashi , busca algún MQ4 con todo el código
------
cuando lo hayas completado o después de cambiarlo a 3 a 4 colores (podría ser 3 colores , en lugar de 4 colores)
por favor, envíame un mensaje privado PM, con el LINK, para que pueda subirlo, después de que empieces, si quieres, podría darte otro indicador que te diga cual es el mejor momento para cambiar el color a NEGRO también -- el negro es una especie de color de advertencia
----- es decir, puedes DESCARGAR el ex4 que te adjunto, pero utiliza otro MQ4 pls ---
gracias, será un buen indicador para todos nosotros, y la codificación debe ser bastante simple, y sencillo
el código es en el principio, similar al diagrama anterior
si mi suposición es correcta, g_ibuf_## controlar la longitud de la barra de HA
sólo tenemos que imprimir todo el valor g_ibuf con la función llamada "comentario"
luego ejecutar el gráfico durante unos días, y echar un vistazo al valor g_ibuf, cuando se hace pequeño, y anotar el VALOR de esa variable
entonces cuando tengamos un espacio de tiempo para codificar, simplemente codificamos de 1 a 2 colores -- digamos , negro y gris oscuro en la codificación, cuando el histograma g_ibuf es MENOR que cierto valor anotado
se supone que es simple -- de lo contrario, podría tratar de prueba y error para encontrar el mejor valor de ajuste (para ser más pequeño que)
sinceramente
xx3xxx -- He subido mi MQ4 para la versión 4 allí, supongo que puede utilizar este, esto parece ser más largo y más grueso que el otro HA que tengo
El indicador Trix necesita una alerta
Coder Guru o cualquier otra persona, puede programar un sonido, alerta de notificación y t3_trix_x2roc_clr_nrp_mtf.mq4t3_trix_x2roc_clr_nrp_mtf.mq4e alerta de correo en este indicador Trix cada vez que la línea Trix a largo plazo o a corto plazo cambia de color de rojo a verde o viceversa. Gracias