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
Mntiwana, en Bar to Use si pones cero estará tomando señales en la barra aún abierta (peligroso para un EA, IMHO) si es mayor que cero el EA estará recibiendo señales de barras cerradas de vuelta de la barra abierta, así que si tienes BarToUse = 2, entonces tu EA estará revisando 2 barras de vuelta.
hola mladen....por favor ayúdame....ı se publicó pero ı supongo que no se puede ver...ok...ı tienen un indicador de got ...ı necesitan histo version.thank you very much
hola mladen....por favor ayudame....ı fue publicado pero ı supongo que no puedes ver...ok...ı tengo un indicador conseguido ...ı necesito su versión.muchas gracias
aress
¿Tienes el código fuente original (sin descompilar) del indicador? Si es así, por favor publique el archivo original mq4 para que se pueda trabajar en él
_________________
PD: también puedes consultar este https://www.mql5.com/en/forum/174961/page4 Por lo que veo es este
Hola chicos,
Por favor, eche un vistazo a mi código.
Este indicador llama a otro indicador con la función icustom.
El problema que estoy teniendo es que, a veces, incluso cuando las condiciones para las señales no se cumplen,
este indicador sigue produciendo falsas alertas sonoras y estas falsas alertas no muestran flechas.
No sé dónde está el problema. Lo he intentado (con mis limitados conocimientos) pero sin éxito.
¿Cómo puedo asegurarme de que la falsa alerta se detenga? ¿Cómo puedo asegurarme de que la alerta sonora sólo se produzca si hay una flecha?
Por favor, ayuda.
Gracias.
int inicio()
{
int barras_contadas=IndicadorContado();
//----
if(counted_bars>0) counted_bars--;
int limit=Barras_contadas;
int j;
for(int i=límite; i>=0; i--)
{
arr_up = EMPTY_VALUE; arr_dn = EMPTY_VALUE;
j=i;
double var1 = 0;
double var2 = 0;
for (j = i; j <= i + 9; j++) var2 += MathAbs(High[j] - Low[j]);
var1 = var2 / 10.0;
double sellprevious = iCustom(NULL,0, "MA-Repaint", FastEMA,SlowEMA,SlowEMA,signal,price,0,i);
double buyprevious = iCustom(NULL,0, "MA-Repaint", FastEMA,SlowEMA,SlowEMA,signal,price,1,i);
static datetime LastAlert;
datetime curbar = Time[0];
if (buyprevious !=EMPTY_VALUE )
{
arr_up=iLow(Symbol(),0,i) - (var1/2);
DrawLine("EntryLine11",iHigh(Symbol(),0,i+1),EntryLineColor);
if ( LastAlert != curbar && !upalert){
Alert (Symbol()," ",Period(), "BUY");
upalert=true;
downalert=false;
LastAlert =curbar;
}
}
else if(sellprevious !=EMPTY_VALUE )
{
arr_dn=iHigh(Symbol(),0,i) + (var1/2);
DrawLine("EntryLine11",iLow(Symbol(),0,i+1),EntryLineColor);
if ( LastAlert != curbar && !downalert){
Alert (Symbol()," ",Period(), "SELL");
downalert=true;
upalert=false;
LastAlert = curbar;
}
}
}
Hola chicos,
Por favor, eche un vistazo a mi código.
Este indicador llama a otro indicador con la función icustom.
El problema que estoy teniendo es que, a veces, incluso cuando las condiciones para las señales no se cumplen,
este indicador sigue produciendo falsas alertas sonoras y estas falsas alertas no muestran flechas.
No sé dónde está el problema. Lo he intentado (con mis limitados conocimientos) pero sin éxito.
¿Cómo puedo asegurarme de que la falsa alerta se detenga? ¿Cómo puedo asegurarme de que la alerta sonora sólo se produzca si hay una flecha?
Por favor, ayuda.
Gracias.
int inicio()
{
int barras_contadas=IndicadorContado();
//----
if(counted_bars>0) counted_bars--;
int limit=Barras_contadas;
int j;
for(int i=límite; i>=0; i--)
{
arr_up = EMPTY_VALUE; arr_dn = EMPTY_VALUE;
j=i;
double var1 = 0;
double var2 = 0;
for (j = i; j <= i + 9; j++) var2 += MathAbs(High[j] - Low[j]);
var1 = var2 / 10.0;
double sellprevious = iCustom(NULL,0, "MA-Repaint", FastEMA,SlowEMA,SlowEMA,signal,price,0,i);
double buyprevious = iCustom(NULL,0, "MA-Repaint", FastEMA,SlowEMA,SlowEMA,signal,price,1,i);
static datetime LastAlert;
datetime curbar = Time[0];
if (buyprevious !=EMPTY_VALUE )
{
arr_up=iLow(Symbol(),0,i) - (var1/2);
DrawLine("EntryLine11",iHigh(Symbol(),0,i+1),EntryLineColor);
if ( LastAlert != curbar && !upalert){
Alert (Symbol()," ",Period(), "BUY");
upalert=true;
downalert=false;
LastAlert =curbar;
}
}
else if(sellprevious !=EMPTY_VALUE )
{
arr_dn=iHigh(Symbol(),0,i) + (var1/2);
DrawLine("EntryLine11",iLow(Symbol(),0,i+1),EntryLineColor);
if ( LastAlert != curbar && !downalert){
Alert (Symbol()," ",Period(), "SELL");
downalert=true;
upalert=false;
LastAlert = curbar;
}
}
}
luffy
¿Puedes publicar el indicador llamado también, para que se pueda probar?
Mntiwana, en Bar to Use si pones cero estará tomando señales en la barra aún abierta (peligroso para un EA, IMHO) si es mayor que cero el EA estará recibiendo señales de las barras cerradas desde la barra abierta, así que si tienes BarToUse = 2, entonces tu EA estará revisando 2 barras atrás.
Estimado MLADEN y MRTOOLS,
gracias por la ayuda, así que lo siento por tomar mucho de su tiempo, pidiendo tanto ....... .......so en el caso de este EA, lo que es más mejor y adecuado, que la barra debe ser added.....i quieren que cuando la línea de MA lento cruzado completamente por la línea de MA rápido (de cualquier manera) ......... en la segunda barra siguiente, el comercio debe ser ejecutado, podemos código de esta manera que después de cruzar, cuántas barras más tarde el comercio podría ser ejecutado, por ejemplo, después de cruzar en la primera barra, después de cruzar en la segunda o tercera barra? imágenes se adjuntan para explicar mejor la cuestión, gracias
saludos
Aquí están los indicadores.
Gracias.
Mntiwana, en Bar to Use si pones cero estará tomando señales en la barra aún abierta (peligroso para un EA, IMHO) si es mayor que cero el EA estará recibiendo señales de barras cerradas de vuelta de la barra abierta, así que si tienes BarToUse = 2, entonces tu EA estará revisando 2 barras de vuelta.
Estimado MRTOOLS,
¿quieres decir .... bar para usar = 2 ...... 2 bar después de cruzar ... no 2 N bares, cuando se escribe Bares Volver, me confundí, mi culpa....por favor, me corrija . gracias.
saludos
Estimado MRTOOLS,
¿quieres decir .... bar para usar = 2 ...... 2 bar después de cruzar...no 2 N bares , cuando escribes Bars BACK, me confundí, mi culpa....por favor corrígeme . gracias.
saludosmntiwana
No, pero cuando barras a usar == 2, entonces el cruce se comprobará a 2 barras de la barra actual - no comprobará el cruce en la barra actual. Así que, con un retraso de 2 barras
mntiwana No, pero cuando las barras a utilizar == 2, entonces el cruce se comprobará a 2 barras de la barra actual - no comprobará el cruce en la barra actual. Así que, con un retraso de 2 barras
Estimado MLADEN,
gracias jefe, entonces en este caso, el código podría ser así? por favor corrígeme,
saludos
===================================================================
código original "simple MA cross EA
//
#define _doNothing 0
#define _doBuy 1
#define _doSell 2
int inicio()
{
int doWhat = _doNothing
double diffc = iMA(NULL,0,Ma1Period,0,Ma1Method,Ma1Price,BarToUse) -iMA(NULL,0,Ma2Period,0,Ma2Method,Ma2Price,BarToUse);
double diffp = iMA(NULL,0,Ma1Period,0,Ma1Method,Ma1Price,BarToUse+1)-iMA(NULL,0,Ma2Period,0,Ma2Method,Ma2Price,BarToUse+1);
si ((diffc*diffp)<0)
si (diffc>0)
doWhat = _doBuy;
si no, doWhat = _doSell;
si (doWhat==_doNothing) return(0);
//
================================================
alterado de esta manera
#define _doNothing 0
#define _doBuy 1
#define _hacerVenta 2
int inicio()
{
int doWhat = _doNothing;
double diffc = iCustom(NULL,0, "Hull parabolic 2.1",PERIOD_CURRENT,Ma1Period,Ma1Price,2,0 ,0,BarToUse)
-iCustom(NULL,0, "Hull parabolic 2.1",PERIOD_CURRENT,Ma2Period,Ma2Price,2,0 ,0,BarToUse);
double diffp = iCustom(NULL,0, "Hull parabolic 2.1",PERIOD_CURRENT,Ma1Period,Ma1Price,2,0 ,0,BarToUse==2)
-iCustom(NULL,0, "Hull parabolic 2.1",PERIOD_CURRENT,Ma2Period,Ma2Price,2,0 ,0,BarToUse==2);
if ((diffc*diffp)<0)
si (diffc>0)
doWhat = _doBuy;
si no, doWhat = _doSell;
si (doWhat==_doNothing) return(0);
//
=====================================