Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 164

 
Sepulca:

En mi opinión, MQL4 y MQL5 han dividido a la gente en comerciantes y programadores. En MQL5 , puedes hacer un montón de cosas y luego venderlas en el MERCADO. Mientras que un comerciante normal sólo necesita MQL4 . Por no hablar de los que comercian a mano. Yo mismo lo probé, e incluso conseguí un poco de conocimiento de la OOP. Prueba y aprende. Te compensará)).

Creo que mql5 tiene un probador de estrategias muy potente, sin él no se puede comprobar a fondo las pruebas de avance. Optimizo los Asesores Expertos en mql4 y comienzo el análisis de los forwards, cada ejecución que vale la pena toma mucho tiempo, pero mql5 acaba de lanzar la optimización y me permite comprobar todos los forwards rentables. La cuestión es si este análisis en profundidad ayudará a hacer un EA rentable y estable. Será una pena perder el tiempo estudiando mql5 y luego descubrir que todo es en vano.
 
Forexman77:
Creo que mql5 tiene un probador de estrategias muy potente, sin él es imposible comprobar en detalle las pruebas de avance. Optimizo los Asesores Expertos en mql4 y empiezo a hacer análisis a futuro, cada corrida rentable toma mucho tiempo, pero en mql5 pongo la optimización y veo todos los forwards rentables. La cuestión es si este análisis en profundidad ayudará a hacer un EA rentable y estable. Será una pena perder el tiempo estudiando mql5 y luego descubrir que todo es en vano.

Si aprendes mql5 sólo para optimizar, es una tontería...

No, no lo es.

 
Forexman77:
Creo que mql5 tiene un probador de estrategias muy potente, sin él es imposible comprobar en detalle las pruebas de avance. Optimizo los Asesores Expertos en mql4 y empiezo a hacer análisis a futuro, cada corrida rentable toma mucho tiempo, pero en mql5 pongo la optimización y veo todos los forwards rentables. La cuestión es si este análisis en profundidad ayudará a hacer un EA rentable y estable. Será una pena perder el tiempo estudiando mql5 y luego descubrir que todo es en vano.

Estoy totalmente de acuerdo, el probador es potente, sobre todo si usas nubes y no escatimas en pagar un poco de dinero, será aún más rápido)). En cualquier caso, aprender algo nuevo no le vendrá mal. He probado el MQL5 MARKET para descargar versiones demo de los EAs más caros, y con los parámetros dados se filtran en el probador incluso como)))). Por Dios, escribe un EA básico, retoca el informe en Photoshop y vende)))))
 
He hecho un simple Asesor Experto basado en el indicador Ichimoku. Necesito abrir sólo una operación con una señal. Es decir, cuando hacemos una operación de venta, la vela negra cierra por debajo de la nube - abrimos la operación de venta. La siguiente operación de venta es posible sólo si el precio entra en la nube de nuevo y la vela negra cierra por debajo de la nube. Actualmente, se abre una operación si la vela negra cierra por debajo de la nube y en
   double Red_Line = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_TENKANSEN,1); // красная линия 
   double Blue_Line = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_KIJUNSEN,1); // синяя линия 
   double UpO = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANA,1); // верхняя граница облака 
   double DounO = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANB,1); // нижняя граница облака 

     
   if(Volume[0]>1) return;

    // продажа
   if (Open[1]>Close[1] && Close[1] < DounO && Close[1] < Red_Line && Close[1] < Blue_Line) // продажа
   {
     Price = NormalizeDouble(Bid, Digits); // округляем до нужного нам числа цифр после запятой
     if(StopLoss >= STOPLEVEL)
      {
       SL = iHigh(Symbol(),0,1)+200*Point; // вычисляем стоплос
       SL = NormalizeDouble(SL, Digits); // округляем до нужного нам числа цифр после запятой
      }
       else SL = 0;
      if(TakeProfit > 0)
      {
       TP = Price - TakeProfit*Point;
       TP = NormalizeDouble(TP, Digits); 
      }
       else TP = 0;

      { 
      ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL,TP,"Pattern_1",Magic,0,Red);
      return;
      }
    }

Se realiza otra transacción de venta. Hay que aplicar el principio: una señal - una operación.

Agradezco de antemano la ayuda.

 

Mira el faq, está ahí.

 
he mirado las faq pero no las he encontrado, si no te importa un enlace.
 

Profesionales, por favor aconsejen, hay un código como este

   double MA_M15_1 = iMA(NULL, PERIOD_M15, 14, 0, 0, 0, 1);
   double MA_M15_2 = iMA(NULL, PERIOD_M15, 28, 0, 0, 0, 1);
   
   int CmdType = -1;
   if (MA_M15_1 < MA_M15_2){
      CmdType = OP_BUY;
   }
   if (MA_M15_1 < MA_M15_2){
      CmdType = OP_SELL;
   }
   
   if (CmdType >= OP_BUY){
      
      for (i_try = 1; i_try <= 3; i_try++) {
            if (CmdType == OP_BUY) CurrPriceForOpen = NormalizeDouble(Ask, Digits);
            if (CmdType == OP_SELL) CurrPriceForOpen = NormalizeDouble(Bid, Digits);

            iTicket = _OrderSend(Symbol(), CmdType, LotOpen, CurrPriceForOpen, Slippage * (iDigitPoint / Point), 0, 0, EA_Comment, Magic, 0, CLR_NONE);

            if (iTicket >= 0) break;
            Sleep(1000);

         }
   }

Periódicamente da el error 4008 - ¿qué puede ser?

 
T-G:

Pro dime, hay un código como este

Periódicamente da el error 4008 - ¿qué puede ser?



ERR_NOT_INITIALIZED_STRING 4008 Cadena no inicializada. Para ser sincero, no me he encontrado con ese error. ¿Se declara EA_Comment de alguna manera? La única línea en el código...

Entonces, ¿qué es esto ????

 iTicket = _OrderSend(Symbol(), CmdType, LotOpen
 
Sepulca:


ERR_NOT_INITIALIZED_STRING 4008 Cadena no inicializada. Para ser sincero, no me he encontrado con ese error. ¿Se declara EA_Comment de alguna manera? La única línea en el código...

Entonces, ¿qué es esto ????


Esta variable se fija al principio y no la toco más.

cadena externa EA_Comment = "";

 
T-G:

Esta variable se fija al principio y no la toco más.

cadena externa EA_Comment = "";


Si el error se produce periódicamente, puede ser que su DC atribuya algo anormal a la cadena. La DC puede y tiene derecho a hacerlo.

¿Qué me dice?

Razón de la queja: