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
Hola Pro-Coders,
Me aparece la advertencia "compruebe la precedencia de los operadores para un posible error; utilice paréntesis para aclarar la precedencia"
if ((STC115)||(STC185)&&(Ask>emaFilter && ADXmain>25))
{
OpenBuy();
}
Parece que la declaración ..AND (Ask>emaFilter) también es ignorada por MT4.
¿Podría alguien aconsejarme?
¡Gracias de antemano!probablemente deberías escribirlo así :
if (((STC115) | (STC185)) && (Ask>emaFilter && ADXmain>25) )
Pero depende sobre todo de lo que se quiera comprobar exactamente. La advertencia viene porque antes la precedencia de && (y) y || (o) era diferente - lo invirtieron y ahora todas esas comparaciones lógicas deben ser comprobadas
probablemente deberías escribirlo así :
if (((STC115) | (STC185)) && (Ask>emaFilter && ADXmain>25) )
Pero depende principalmente de lo que quieras probar exactamente. La advertencia viene porque antes la precedencia de && (and) y || (or) era diferente - la invirtieron y ahora todas esas comparaciones lógicas deben ser comprobadasHola Mladen
muchas gracias por tu sugerencia. Lo probaré. ¡Siempre eres muy útil!
En palabras simples habladas, los tres paréntesis deben hacerse verdaderos antes de que el EA abra una operación.
Supongo que su código proporcionará esta funcionalidad.
Saludos cordiales,
T.
Codificadores,
¿Podría alguien ayudarme con lo siguiente?
Estoy utilizando un script de ondas de Elliot para etiquetar manualmente las ondas. El script coloca 8 objetos diferentes en el gráfico (i,ii,iii,iv,v,a,b,c).
Todo funciona bien, pero borrar los objetos es mucho trabajo. Porque tengo que hacer clic en cada objeto (i,ii,iii,iv,v,a,b,c), para borrarlos. Me gustaría añadir algo al código que me permita resaltar todos los objetos (i,ii,iii,iv,v,a,b,c) con un solo clic en los objetos. Ya he buscado pero no he podido encontrar la función que necesito.
(No estoy buscando un script que borre todos los objetos del gráfico. )
Gracias de antemano
//+------------------------------------------------------------------+
#property version "1.00"
#property strict
#include
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
extern string Text1 = "(i)"; // Enter Text to place on screen
extern string Text2 = "(ii)"; // Enter Text to place on screen
extern string Text3 = "(iii)"; // Enter Text to place on screen
extern string Text4 = "(iv)"; // Enter Text to place on screen
extern string Text5 = "(v)"; // Enter Text to place on screen
extern string Text6 = "(a)"; // Enter Text to place on screen
extern string Text7 = "(b)"; // Enter Text to place on screen
extern string Text8 = "(c)"; // Enter Text to place on screen
extern string Text_font="Arial Bold"; // font of text
extern int Text_fontsize = 14; // size of text
extern color Text_color = Red; // color of text
int TextBarsAhead2 = 7; // # bars to space 2nd letter from first
int TextBarsAhead3 = 14; // # bars to space 3rd letter from first
int TextBarsAhead4 = 21; // # bars to space 4th letter from first
int TextBarsAhead5 = 28; // # bars to space 5th letter from first
int TextBarsAhead6 = 35; // # bars to space 6th letter from first
int TextBarsAhead7 = 42; // # bars to space 7th letter from first
int TextBarsAhead8 = 49; // # bars to space 8th letter from first
//+------------------------------------------------------------------+
//+-----------------------------SCRIPT CODE--------------------------+
int OnStart(){
double price = WindowPriceOnDropped(); // find the price point where dropped
datetime Time1 = WindowTimeOnDropped(); // find the time point where dropped
datetime TimeNow = TimeCurrent(); // get the current time ( makes name unique)
datetime Time2 = (int)Time1+TextBarsAhead2*(int)Period()*60;
datetime Time3 = (int)Time1+TextBarsAhead3*(int)Period()*60;
datetime Time4 = (int)Time1+TextBarsAhead4*(int)Period()*60;
datetime Time5 = (int)Time1+TextBarsAhead5*(int)Period()*60;
datetime Time6 = (int)Time1+TextBarsAhead6*(int)Period()*60;
datetime Time7 = (int)Time1+TextBarsAhead7*(int)Period()*60;
datetime Time8 = (int)Time1+TextBarsAhead8*(int)Period()*60;
string gap=" "; // spacing between text characters
string text=Text1+gap+Text2+gap+Text3+gap+Text4+gap+Text5; // put the text in a line
TextToPrint ("Wave labels 1 " + (string)TimeNow, Text1, Text_fontsize, Text_font, Text_color, Time1, price); //print 1st letter
TextToPrint ("Wave labels 2 " + (string)TimeNow, Text2, Text_fontsize, Text_font, Text_color, Time2, price); //print 1st letter
TextToPrint ("Wave labels 3 " + (string)TimeNow, Text3, Text_fontsize, Text_font, Text_color, Time3, price); //print 1st letter
TextToPrint ("Wave labels 4 " + (string)TimeNow, Text4, Text_fontsize, Text_font, Text_color, Time4, price); //print 1st letter
TextToPrint ("Wave labels 5 " + (string)TimeNow, Text5, Text_fontsize, Text_font, Text_color, Time5, price); //print 1st letter
TextToPrint ("Wave labels 6 " + (string)TimeNow, Text6, Text_fontsize, Text_font, Text_color, Time6, price); //print 1st letter
TextToPrint ("Wave labels 7 " + (string)TimeNow, Text7, Text_fontsize, Text_font, Text_color, Time7, price); //print 1st letter
TextToPrint ("Wave labels 8 " + (string)TimeNow, Text8, Text_fontsize, Text_font, Text_color, Time8, price); //print 1st letter
return(0);
}
//+------------------------------------------------------------------+
void TextToPrint(string TextName,string LabelText,int FontSize,string FontName,color TextColor,datetime Time0,double Price0)
{
if(StringLen(LabelText)>1){
ObjectCreate(TextName,OBJ_TEXT,0,Time0,Price0);
ObjectSetText(TextName,LabelText,FontSize,FontName,TextColor);
}
}
//+------------------------------------------------------------------+Coders,
¿Podría alguien ayudarme con lo siguiente?
Estoy utilizando un script de ondas de Elliot para etiquetar manualmente las ondas. El script coloca 8 objetos diferentes en el gráfico (i,ii,iii,iv,v,a,b,c).
Todo funciona bien, pero borrar los objetos es mucho trabajo. Porque tengo que hacer clic en cada objeto (i,ii,iii,iv,v,a,b,c), para borrarlos. Me gustaría añadir algo al código que me permita resaltar todos los objetos (i,ii,iii,iv,v,a,b,c) con un solo clic en los objetos. Ya he buscado pero no he podido encontrar la función que necesito.
(No estoy buscando un script que borre todos los objetos del gráfico. )
Gracias de antemano
//+------------------------------------------------------------------+
#property version "1.00"
#property strict
#include
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
extern string Text1 = "(i)"; // Enter Text to place on screen
extern string Text2 = "(ii)"; // Enter Text to place on screen
extern string Text3 = "(iii)"; // Enter Text to place on screen
extern string Text4 = "(iv)"; // Enter Text to place on screen
extern string Text5 = "(v)"; // Enter Text to place on screen
extern string Text6 = "(a)"; // Enter Text to place on screen
extern string Text7 = "(b)"; // Enter Text to place on screen
extern string Text8 = "(c)"; // Enter Text to place on screen
extern string Text_font="Arial Bold"; // font of text
extern int Text_fontsize = 14; // size of text
extern color Text_color = Red; // color of text
int TextBarsAhead2 = 7; // # bars to space 2nd letter from first
int TextBarsAhead3 = 14; // # bars to space 3rd letter from first
int TextBarsAhead4 = 21; // # bars to space 4th letter from first
int TextBarsAhead5 = 28; // # bars to space 5th letter from first
int TextBarsAhead6 = 35; // # bars to space 6th letter from first
int TextBarsAhead7 = 42; // # bars to space 7th letter from first
int TextBarsAhead8 = 49; // # bars to space 8th letter from first
//+------------------------------------------------------------------+
//+-----------------------------SCRIPT CODE--------------------------+
int OnStart(){
double price = WindowPriceOnDropped(); // find the price point where dropped
datetime Time1 = WindowTimeOnDropped(); // find the time point where dropped
datetime TimeNow = TimeCurrent(); // get the current time ( makes name unique)
datetime Time2 = (int)Time1+TextBarsAhead2*(int)Period()*60;
datetime Time3 = (int)Time1+TextBarsAhead3*(int)Period()*60;
datetime Time4 = (int)Time1+TextBarsAhead4*(int)Period()*60;
datetime Time5 = (int)Time1+TextBarsAhead5*(int)Period()*60;
datetime Time6 = (int)Time1+TextBarsAhead6*(int)Period()*60;
datetime Time7 = (int)Time1+TextBarsAhead7*(int)Period()*60;
datetime Time8 = (int)Time1+TextBarsAhead8*(int)Period()*60;
string gap=" "; // spacing between text characters
string text=Text1+gap+Text2+gap+Text3+gap+Text4+gap+Text5; // put the text in a line
TextToPrint ("Wave labels 1 " + (string)TimeNow, Text1, Text_fontsize, Text_font, Text_color, Time1, price); //print 1st letter
TextToPrint ("Wave labels 2 " + (string)TimeNow, Text2, Text_fontsize, Text_font, Text_color, Time2, price); //print 1st letter
TextToPrint ("Wave labels 3 " + (string)TimeNow, Text3, Text_fontsize, Text_font, Text_color, Time3, price); //print 1st letter
TextToPrint ("Wave labels 4 " + (string)TimeNow, Text4, Text_fontsize, Text_font, Text_color, Time4, price); //print 1st letter
TextToPrint ("Wave labels 5 " + (string)TimeNow, Text5, Text_fontsize, Text_font, Text_color, Time5, price); //print 1st letter
TextToPrint ("Wave labels 6 " + (string)TimeNow, Text6, Text_fontsize, Text_font, Text_color, Time6, price); //print 1st letter
TextToPrint ("Wave labels 7 " + (string)TimeNow, Text7, Text_fontsize, Text_font, Text_color, Time7, price); //print 1st letter
TextToPrint ("Wave labels 8 " + (string)TimeNow, Text8, Text_fontsize, Text_font, Text_color, Time8, price); //print 1st letter
return(0);
}
//+------------------------------------------------------------------+
void TextToPrint(string TextName,string LabelText,int FontSize,string FontName,color TextColor,datetime Time0,double Price0)
{
if(StringLen(LabelText)>1){
ObjectCreate(TextName,OBJ_TEXT,0,Time0,Price0);
ObjectSetText(TextName,LabelText,FontSize,FontName,TextColor);
}
}
//+------------------------------------------------------------------+xtractalpha
En el procedimiento deinit() añade la parte de limpieza
En tu caso sería ObjectDelete(objectName) para cada objeto que tu código haya creado
Hola Mladen
¿Podría ayudar con los errores de compilación en el siguiente
Hola Mladen ¿Podría ayudar con los errores de compilación en el siguiente
Compruébelo ahora : genie_stoch_rsittt_1.mq4
Estimado Mladen
Gracias por este gran indy
¿Es posible la versión del histograma?
Estimado Mladen
Thanx para este gran indy
¿Es posible la versión del histograma?Es posible comprar entonces las dos líneas de señal debe ser completamente ignorado y cortado
Es posible comprar entonces las dos líneas de señal debe ser completamente ignorado y cortado
No hay problema.... sólo necesito esta línea rojo-verde
(línea rojo-verde como histograma)
Gracias por adelantado
Hola Mladen,
He añadido un código para trailing stop a la EA. Estoy recibiendo dos errores de compilación. Las instrucciones sobre la adición del código fueron:
¿Cómo utilizar?
Muy simple. coloque el código de abajo en cualquier parte de su programa de Asesor Experto y llame a la función trail2(#ticket) en la función Start().ticket = es su ticket de orden, puede ser una orden de compra o de venta. Pero tiene que ser una orden viva, no una orden pendiente.
Por ejemplo
{...(su código)
ticket=ordenend(...)
...
}
..
trail2(ticket)
o trail2(ticket, 300, 40, 250, 100)
..