[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 600

 
Craft:

El probador no informa de ningún error, sólo que no se realizan pedidos.

Por favor, señale el error. La lógica: si el valor de МА [0] de la barra es mayor que MA [1] debe comprar, por el contrario - vender (este código fue escrito como un ejemplo para tratar de hacer una condición compleja de una simple).


Este código no utiliza MA[0] y MA[1] sino MA[j] y MA[j+1];

Tras una pequeña revisión del código (muy pequeña), apareció el error 4107

Puedo hacer que funcione, pero será un EA totalmente diferente. Lo estoy simplificando al máximo. Y aquí el código puede reducirse a más de la mitad.

Si los Stops y Takeovers son iguales a cero, el Asesor Experto comienza a abrir operaciones

 
Vinin: Puedo hacer que funcione, pero será un EA completamente diferente. Lo simplifico al máximo. Y aquí el código puede reducirse a más de la mitad.
Vinin, si puedes hacerlo funcionar con el cierre en el stop o take profit, lo principal para mi es sentir la filosofía de mql en el abordaje de las diferentes barras del array.
 
Buenas noches! Los indicadores del MQL4 no funcionan cuando los saco en el gráfico, pero nada de nada! Por favor, ayuda!
respuesta


La cuestión es que los asesores trabajan y los indicadores no funcionan en absoluto.
 
Craft:
Vinin, si puedes hacerlo funcionar con cierre en stop o takeprofit, lo principal es sentir la filosofía de mql en el abordaje de diferentes barras en un array.

Lo he comprobado. Funciona. La señal es un cambio de dirección
Archivos adjuntos:
15.2_1.mq4  18 kb
 
Craft:
Bien, pero cómo funciona en código (lógica): Si MA150+20 > MA5 > MA150-20 y MA150+20 > MA21 > MA150-20 Entonces plano si no Tendencia.
La lógica está por aquí... Lo hice rápido, así que lo siento, si algo...


//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//------------------------------- Функция определения тренда по МАшкам ----------------------------
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
// Возврвщает 1 = тренд вверх, -1 = тренд вниз, 0 = флэт...
//------------------------------------------------------------
// -------------- Внешние переменные -------------
//============================================================
extern string  MATrendDetectorParameters = "Параметры детектора тренда";

extern double  Limit150 =20;
extern double  Limit21  =20;
extern double  Limit5   =20;

// ===============================================================
// ---------------------- Собственно сама функция ----------------
// ===============================================================
int   TrendDetectorMA (string sy, int tf)
{

double   MA150, MA150UP, MA150DN,
         MA21, MA21UP, MA21DN,
         MA5, MA5UP, MA5DN,
         
         pt;
// ---------------------------------------
   pt=Point;
   
   if (sy=="" || sy=="0") sy=Symbol();
      
   MA150    =iMA(sy,tf,150,0,MODE_SMA, PRICE_MEDIAN,1);
   MA21     =iMA(sy,tf,21,0,MODE_SMA, PRICE_MEDIAN,1);
   MA5      =iMA(sy,tf,5,0,MODE_SMA, PRICE_MEDIAN,1);
    
   MA150UP  =MA150+Limit150*pt;
   MA150DN  =MA150-Limit150*pt;
   
   MA21UP   =MA21+Limit21*pt;
   MA21DN   =MA21-Limit21*pt;
   
   MA5UP    =MA5+Limit5*pt;
   MA5DN    =MA5-Limit5*pt;
   
// --------------------------------------
// ------------- Рассчёт данных ---------

   if (
         MA5DN>MA21UP &&         // Если нижняя граница быстрой МАшки выше верхней границы средней МАшки и...
         MA21DN>MA150UP          // нижняя граница средней МАшки выше верхней границы медленной МАшки,
      )   
         return(1);              // значит тренд вверх, возвращаем 1
         
   if (
         MA5UP<MA21DN &&         // Если верхняя граница быстрой МАшки ниже нижней границы средней МАшки и...
         MA21UP<MA150DN          // верхняя граница средней МАшки ниже нижней границы медленной МАшки,
      )   
         return(-1);             // значит тренд вниз, возвращаем -1
         
   else  return(0);              // В остальных случаях у нас флэт, возвращаем 0
}

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
El reto es algo así:
int tr=TrendDetectorMA (NULL, 5);   // NULL, 0 = текущий символ, либо явно, напр. EURUSD
                                    // 5 = таймфрейм, можно 15, 30, 60, 240, 1440, 10080, 43200, хотя можно было 
                                    // и красивее сделать.
   
   Comment ("\n","Тренд = ", tr);
   return;
 

Quiero utilizar los volúmenes de Ramus en MT4, parecen tener volúmenes más realistas.


 
IgorM:


mi sistema está configurado para querer abrir siempre una orden y lo limito prohibiendo las señales, sólo las señales me dan permiso para operar = orden

Ahora tengo un pequeño problema - no hay operaciones tardías, pero hay problemas con las órdenes aleatorias en el piso de la noche - hasta ahora sueño con enseñar al EA a distinguir el piso, y no limitarlo a la hora del día para trabajar. Para la estimación de la tendencia estoy utilizando TF más alto en la lógica del EA, por lo que soy capaz de ponerlo por la noche en un TF horario y parece ser menos obstinado que en M15

¿Por qué restringir? Puede utilizar estrategias separadas para la tendencia y el plano. Que funcione siempre, mientras funcione... ;)
 
Gracias, Vinin, gracias, artmedia70.
 
Dimka-novitsek:

Buenas noches, no me funcionan los indicadores de MQL4, y nada en absoluto! Por favor, ayuda!
respuesta


El hecho de que los asesores de trabajo, y los indicadores no funcionan en absoluto!


Ayuda F1 - sección de indicadores técnicos
 

¿Cómo puedo utilizar la caja de objetos y el conjunto de objetos para dibujar una línea horizontal en una ventana estocástica, por ejemplo?