![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
thx pero puedes explicarme por qué
BuyCondition = BuyValueCurrent1 != EMPTY_VALUE
¿por qué empty_value?
de todas formas no funciona y no entiendo ni averiguo por qué..
aquí están mis variables
and here is the statement
[PHP] BuyCondition = (BuyValueCurrent != EMPTY_VALUE && BuyValueCurrent2 != EMPTY_VALUE);da resultados totalmente difusos incluso cuando el indicador (Braintrend2stop y BrainTrend1Stop) son SELL
Tengo un EA que abre y gestiona la posición, pero a veces el indicador da la misma señal múltiple y el EA abre cada vez que esta señal sale una nueva posición - pero no quiero una segunda o tercera y así sucesivamente posición, sólo la primera - ¿es posible que el EA compruebe la posición abierta por la base del número mágico y el par para evitar tales entradas múltiples?
Esta es la idea:
{
int count=0;
int oficios;
int operaciones=Total de pedidos();
for(trade=0;trade<trades;trade++) {
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber() != MagicNumber) continue;
if(OrderType()==OP_BUY) count++;
} //---- para
return(count);
}
int CuentaCortos()
{
int cuenta=0;
int operaciones
int operaciones=Total de órdenes();
for(trade=0;trade<trades;trade++) {
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber() != MagicNumber) continue;
if(OrderType()==OP_SELL) count++;
} //---- para
return(count);
}Y en la función start()
if(CountLongs() == 0 && CountShorts() == 0) {
Su condición de entrada aquí
}Espero que eso ayude.
FerruFx
de todas formas no funciona y no entiendo ni averiguo por qué..
aquí están mis variables
and here is the statement
[PHP] BuyCondition = (BuyValueCurrent != EMPTY_VALUE && BuyValueCurrent2 != EMPTY_VALUE);No conozco sus indic Braintrend1 y 2, simplemente he supuesto que cuando se cumple una condición de compra, dibujan una flecha en el gráfico. En MT4, el valor del buffer por defecto es una constante llamada "EMPTY-VALUE", por lo que si no hay flecha el valor devuelto por iCustom() es esta constante, y si hay flecha el valor devuelto es el precio donde se pone la flecha.
Según he entendido, quieres comprar cuando los dos indicadores muestren una flecha, ¿no es así?
sí es exactamente lo que quiero hacer
sí es exactamente lo que quiero hacer
Así que, por favor, revisa la sintaxis de tu iCustom().
¿qué tengo que comprobar? tal vez me pierda algo
Bueno, por lo que supongo que si hay una señal de compra que se almacena en el búfer 0 de lo contrario está vacío y el búfer 1 tiene la señal de venta
¿Qué tengo que comprobar? tal vez me pierda algo
Postee su indic aquí, voy a mirar.
¡ok thx!
y por favor explique
ok thx! y por favor explique
Abre BrainTrend1Stop.mq4.
Al principio del archivo puedes encontrar :
extern int EnableAlerts=0;
extern int SignalID=0;[/PHP]This means that you have to fill those three parameters as arguments in the iCustom() call, like this:
[/PHP]About the buffer's number, you can see this:
#property indicator_color2 Aqua[/PHP]So the buffer 0 is Magenta and the buffer 1 is Aqua.
Thus if the Buy arrow's color is Aqua, the buffer's number is 1 and the iCustom call is:[PHP]BuyValueCurrent = iCustom(NULL,0,"BrainTrend1Stop",NumBars,EnableAlerts,SignalID,1,1); // braintrend1This means that the default empty value for the buffer 1 is set to 0.0; so when there is no arrow, the value returned by the iCustom() call will be 0.0.
So you should know the presence of the arrow checking its value against 0, like this (if the second indic follows the same behavior):[PHP]BuyCondition = (BuyValueCurrent > 0 && BuyValueCurrent2 > 0);Sobre la segunda indicación, creo que deberías ser capaz de hacer el mismo análisis por ti mismo.