Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 114
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
R ¿Qué objetos no son diferentes? y ¿qué significa cambiar el tipo de objeto, las propiedades se colapsan?
Esto significa que si reemplazo el objeto línea horizontal por una línea de tendencia o una línea vertical en la vela actual en mi código actual, un objeto seguirá funcionando y será rojo independientemente de los parámetros del otro objeto.
El propósito de todas estas manipulaciones es combinar el indicador y el EA, ahora estoy tratando de encontrar el error en sí.
Es decir, crea movimientos y borra con total normalidad, pero necesito el azul cuando compro, no el rojo cuando vendo de cualquier manera.Saludos. ¿Puedes decirme cuál es la entrada del paréntesis () después de "double bb" y cuál es la entrada del paréntesis {} para"double bb(int buff,int shift)" en este caso?
También aquí. Comprar y Vender tienen el tipo bool. ¿Cómo puedo averiguar qué se les asigna cuando se utiliza "< , &&, >"? ?
{
if(!UseHTF){
Buy = (bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
if(UseHTF){
Buy = (bbh(0,1) < bbh(1,1) && bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bbh(0,1) > bbh(1,1) && bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
Saludos. ¿Puedes decirme cuál es la entrada del paréntesis () después de "double bb" y cuál es la entrada del paréntesis {} para"double bb(int buff,int shift)" en este caso?
También aquí. Comprar y Vender tienen el tipo bool. ¿Cómo puedo averiguar qué se les asigna cuando se utiliza "< , &&, >"? ?
{
if(!UseHTF){
Buy = (bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
if(UseHTF){
Buy = (bbh(0,1) < bbh(1,1) && bb(0,1) < bb(1,1) && bb(0,2) > bb(1,2));
Sell = (bbh(0,1) > bbh(1,1) && bb(0,1) > bb(1,1) && bb(0,2) < bb(1,2));}
2) Las variables booleanas se asignan con el resultado de la expresión lógica completa, siguiendo el signo de asignación (=). Si todas las condiciones son verdaderas, la variable se asigna como verdadera, de lo contrario - falsa
Esto significa que si reemplazo el objeto línea horizontal por una línea de tendencia o una línea vertical en la vela actual en mi código actual, un objeto seguirá funcionando y será rojo independientemente de los parámetros del otro objeto.
El propósito de todas estas manipulaciones es combinar el indicador y el EA, ahora estoy tratando de encontrar el error en sí debido a lo que está causando.
Es decir, se mueve y borra con total normalidad, pero necesito el azul cuando compro, no el rojo cuando vendo de cualquier manera.Así que estás configurando mal los parámetros del objeto gráfico de nuevo.
lo más probable.
Parece de manual, pero el resultado no es el mismo, por eso he lanzado el código aquí.
No puedo entender por qué hay una Variable Global de Terminal de Cliente en la terminal si no la he creado(GlobalVariablesTotal() muestra "1"). ¿Quizás haya algún preajuste por parte del terminal? Entonces por qué cuando quiero saber su nombre y llamo a la función GlobalVariableName(0) o GlobalVariableName(1), no se muestran los nombres. Por favor, dígame cuál puede ser el problema.
Saludos. Necesito obtener los datos de la línea roja del indicador que no se superpone al gráfico de precios, sino que se muestra por separado debajo de él. Estoy intentando hacerlo como con los indicadores que se superponen al gráfico, pero algo falla. ¿En qué me equivoco?
Este es el indicador propiamente dicho
#property link "yuriytokman@gmail.com"
//ну если проще запулить в одно окно три мульти с настройками
//1 EUR-USD
//2 EURGBP
//3 EURJPY
//если все три в состоянии перекупленности значит Бай и наоборот
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 Yellow
#property indicator_level1 0
#property indicator_level2 5
#property indicator_level3 -5
extern string Symbol_1 = "EURUSD";
extern string Symbol_2 = "EURGBP";
extern string Symbol_3 = "EURJPY";
extern int RSI_1_Period = 14;//период первого индикатора РСИ
extern int RSI_2_Period = 28;//период второго индикатора РСИ
extern int applied_price = 0;//используемая цена 0-6
extern int ma_period = 14;//период сглаживания
extern int ma_method = 0;//метод сглаживания 0-3
double buf[];
double MA_buf[];
double buf2[];
double MA_buf2[];
double buf3[];
double MA_buf3[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(0, buf);
SetIndexStyle(4,DRAW_NONE);
SetIndexBuffer(4,MA_buf);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(1, buf2);
SetIndexStyle(3,DRAW_NONE);
SetIndexBuffer(3,MA_buf2);
SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(2, buf3);
SetIndexStyle(5,DRAW_NONE);
SetIndexBuffer(5,MA_buf3);
IndicatorShortName("ytg_Def_RSI_3_Symbol");
Comment("yuriytokman@gmail.com");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Comment("");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
double RSI_1, RSI_2, RSI_12, RSI_22, RSI_13, RSI_23;
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
for(int i=limit; i>=0; i--)
{
RSI_1 = iRSI(Symbol_1,0,RSI_1_Period,applied_price,i);
RSI_2 = iRSI(Symbol_1,0,RSI_2_Period,applied_price,i);
MA_buf[i] = (RSI_1-RSI_2);
RSI_12 = iRSI(Symbol_2,0,RSI_1_Period,applied_price,i);
RSI_22 = iRSI(Symbol_2,0,RSI_2_Period,applied_price,i);
MA_buf2[i] = (RSI_12-RSI_22);
RSI_13 = iRSI(Symbol_3,0,RSI_1_Period,applied_price,i);
RSI_23 = iRSI(Symbol_3,0,RSI_2_Period,applied_price,i);
MA_buf3[i] = (RSI_13-RSI_23);
}
for(i=limit; i>=0; i--)
{
buf[i] = iMAOnArray(MA_buf,0,ma_period,0,ma_method,i);
buf2[i] = iMAOnArray(MA_buf2,0,ma_period,0,ma_method,i);
buf3[i] = iMAOnArray(MA_buf3,0,ma_period,0,ma_method,i);
}
//----
return(0);
}
Saludos. Necesito obtener los datos de la línea roja del indicador que no se superpone al gráfico de precios, sino que se muestra por separado debajo de él. Estoy intentando hacerlo como con los indicadores que se superponen al gráfico, pero algo falla. ¿En qué me equivoco?
Este es el indicador propiamente dicho
extern string Symbol_2 = "EURGBP";
extern string Symbol_3 = "EURJPY";
extern int RSI_1_Period = 14;//период первого индикатора РСИ
extern int RSI_2_Period = 28;//период второго индикатора РСИ
extern int applied_price = 0;//используемая цена 0-6
extern int ma_period = 14;//период сглаживания
extern int ma_method = 0;//метод сглаживания 0-3
Se abre la ventana de parámetros de entrada y se enumeran eniCustom por orden.
Te faltan los tres primeros valores de la línea: