Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1172

 
Hola a todos, ¿alguien tiene un archivo .exe para metatrader 4? Exactamente de los desarrolladores, no vinculados a ningún dc
 
a.lxrn:
Hola a todos, ¿alguien tiene un archivo .exe para metatrader 4? Exactamente de los desarrolladores, sin estar atado a ninguna dc

el archivo no está vinculado, tome metatrader.exe y metaeditorium.exe de cualquier dtz y ejecútelo desde una carpeta separada y configure la cuenta. No hay ningún instalador de 4ka en el sitio web. ¿Pero para qué sirve?

 
Igor Makanu:

Coloque un indicador fractal y un Asesor Experto de prueba con esta función en el gráfico

y reimprimir los valores encontrados pasándolos a mi funciónMODE_UPPER y MODE_LOWER

Es necesario recordar la hora de la barra, al aparecer una nueva barra la numeración cambiará, y la hora de apertura de la barra es siempre constante

Es decir, cuando ejecutes mi código, recuerda la hora de la barra en la que se detectó el fractal, luego ejecútalo de nuevo, encuentra la barra y compara la hora de la barra con la recordada - la hora es diferente, significa un nuevo fractal

Lo hice así:

if((Hour()>=9 && Minute()==15) && Hour()<23)
   {
    Fun_New_Bar();
    if(New_Bar)      
     {
     barfrup_1 = GetLastFractals(1,MODE_UPPER);Alert("barfrup_1 = ",barfrup_1);
     barfrup_2 = GetLastFractals(barfrup_1+1,MODE_UPPER);Alert("barfrup_2 = ",barfrup_2);
     if(barfrup_1==3)
     {
      secondtime1=iTime(NULL,0,barfrup_1);;Alert("secondtime1 = ",secondtime1);
      secondprice1=iHigh(NULL,0,barfrup_1);Alert("secondprice1 = ",secondprice1);
      firsttime1=iTime(NULL,0,barfrup_2);Alert("firsttime1 = ",firsttime1);
      firstprice1=iHigh(NULL,0,barfrup_2);Alert("firstprice1 = ",firstprice1);
      //рисуем трендовую линию High
      ObjectCreate("HighLine",OBJ_TREND,0,firsttime1,firstprice1,secondtime1,secondprice1);
     }}}

Dibuja una línea. Si añado:

if(barfrup_1>3)  ObjectsDeleteAll();

Borra esta línea y ya está. ¿Qué ocurre?

 
novichok2018:

Lo hice así:

Dibuja una línea. Si añado:

borra esa línea y ya está. ¿Qué pasa?

En uno de sus mensajes anteriores, se quejaba de que no le habían contestado. Por favor, recuerde cuántas veces se le dijo que leyera la documentación y las preguntas elementales desaparecerán por sí solas. Esta pregunta es de nuevo de la serie de "fuma la documentación", fuma con cuidado sin perder una palabra o incluso una frase.

¿Crees que tienes un nombre completo? Así que completa que tu año y tu fecha de nacimiento coincidan, por no hablar de tus apellidos, tu nombre y tu patronímico.

ObjectCreate - Графические объекты - Справочник MQL4
ObjectCreate - Графические объекты - Справочник MQL4
  • docs.mql4.com
[in]  Индекс окна, в которое будет добавлен объект. Окно должно существовать (индекс окна должен быть большим или равным 0 и меньшим, чем WindowsTotal()), иначе функция возвратит false. При использовании функции на собственном графике осуществляется прямой доступ к графику (как это всегда было в MQL4) и возврат true означает успешное создание...
 
novichok2018:

Lo hice así:

Dibuja una línea. Si añado:

borra esa línea y ya está. ¿Qué pasa?

leer mi primer post, que dará a la línea un nombre diferente? o mover la línea

esbozado, rápidamente, dibuja algo, no entiendo, trate de usar este código para hacer su trabajo

//+------------------------------------------------------------------+
//|                                                 FractalTrend.mq4 |
//|                                                            IgorM |
//|                              https://www.mql5.com/ru/users/igorm |
//+------------------------------------------------------------------+
#property copyright "IgorM"
#property link      "https://www.mql5.com/ru/users/igorm"
#property version   "1.00"
#property strict
#include <ChartObjects\ChartObjectsLines.mqh>
CChartObjectTrend *UPLine, *DNLine;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
   delete UPLine;
   delete DNLine;
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
   static datetime bar1 = 0;
   if(bar1 != Time[1])
   {
      delete UPLine;
      delete DNLine;
      int last_fractal = GetLastFractals(0, MODE_UPPER);
      int prev_fractal = GetLastFractals(last_fractal + 1, MODE_UPPER);
      UPLine = DrawTrendLine(MODE_UPPER, "UPLineFractal", prev_fractal, last_fractal, clrRed);
  
      last_fractal = GetLastFractals(0, MODE_LOWER);
      prev_fractal = GetLastFractals(last_fractal + 1, MODE_LOWER);
      DNLine = DrawTrendLine(MODE_LOWER, "DNLineFractal", prev_fractal, last_fractal, clrYellowGreen);
      bar1 = Time[1];
   }

}
//_______________________________________________________________________
CChartObjectTrend* DrawTrendLine(const int MODE, const string obj_name, const int bar2, const int bar1, const color clr)
{
   CChartObjectTrend *obj = new CChartObjectTrend;
   obj.Create(0, obj_name, 0, Time[bar2], MODE == MODE_UPPER ? High[bar2] : Low[bar2], Time[bar1], MODE == MODE_UPPER ? High[bar1] : Low[bar1]);
   obj.Color(clr);
   return obj;
}
//_______________________________________________________________________
int GetLastFractals(int bar, int mode) // bar - с какого бара начинать поиск, mode = MODE_UPPER или MODE_LOWER , результат № бара где найден фрактал
{
   int i = bar;
   while(i < Bars && iFractals(NULL, 0, mode, i) < _Point) i++;
   return(i);
}
//_______________________________________________________________________
 
Alexey Viktorov:

En uno de sus mensajes anteriores se quejaba de no haber recibido respuesta. Por favor, recuerde cuántas veces se le envió a leer la documentación y las preguntas elementales desaparecerán por sí solas. Esta pregunta vuelve a ser de una serie de "fúmate la documentación", fúmate con cuidado sin saltarte palabras y más aún sin saltarte frases.

¿Crees que tienes un nombre completo? Tan completo que su año y su fecha de nacimiento son los mismos, por no hablar de su apellido, su nombre y su patronímico.

Sí, hace tiempo que entendí por tus primeros "consejos" a mis preguntas que eres el tipo más duro de aquí, y rebajarte a explicar lo que te parece elemental está "fuera de lugar" para ti. Pero no puedes evitar esponjar tu cola. ¿Dónde más sino en el hilo de los recién llegados?

 
Igor Makanu:

leer mi primer post, que dará a la línea un nombre diferente? o mover la línea

esbozado, apresuradamente, algo dibuja, no entendió, intente este código para hacer su tarea

Gracias. Seguiré investigando.

 
novichok2018:

Desde tus primeros "consejos" a mis preguntas, hace tiempo que entendí que eres el más duro de aquí, y que está "fuera de lugar" que te rebajes a explicar lo que te parece elemental. Pero no puedes evitar esponjar tu cola. ¡En qué otro lugar sino en un hilo para recién llegados!

Mira, no puedes ser tan ignorante que incluso estas palabras

Nombre único del objeto.

en la documentación no puede ver o entender. Eso es exactamente lo que he tratado de decirte. Pero, aparentemente, sin éxito. La próxima vez me esforzaré por decir todo lo que pienso de ti en un susurro. Algunos novatos siguen siendo novatos para siempre. Ese debe ser tu destino. Saw, Shura, saw...

 

Señores compañeros@novichok2018 y@Alexey Viktorov, ¡no se emocionen! Son perjudiciales para el diálogo constructivo! ....

)))))))))))

 
Igor Makanu:

leer mi primer post, que dará a la línea un nombre diferente? o mover la línea

esbozado, rápidamente, algo dibuja, no entendió, pruebe este código para hacer su tarea

Lo hizo:

Fun_New_Bar();
    if(New_Bar)      
     {
     barfrup_1 = GetLastFractals(1,MODE_UPPER);Alert("barfrup_1 = ",barfrup_1);
     barfrup_2 = GetLastFractals(barfrup_1+1,MODE_UPPER);Alert("barfrup_2 = ",barfrup_2);
     if(barfrup_1==3)
     {
      secondtime1=iTime(NULL,0,barfrup_1);
      secondprice1=iHigh(NULL,0,barfrup_1);
      firsttime1=iTime(NULL,0,barfrup_2);
      firstprice1=iHigh(NULL,0,barfrup_2);
      //рисуем трендовую линию High
      ObjectCreate("HighLine",OBJ_TREND,0,firsttime1,firstprice1,secondtime1,secondprice1);
     }
      if(barfrup_1>3)  ObjectsDeleteAll();
      if(TimeCurrent()>secondtime1)
      {
      datetime Nsecondtime1=iTime(NULL,0,barfrup_1);
      double  Nsecondprice1=iHigh(NULL,0,barfrup_1);
      datetime Nfirsttime1=iTime(NULL,0,barfrup_2);
      double  Nfirstprice1=iHigh(NULL,0,barfrup_2);
      //рисуем новую трендовую линию High
      ObjectCreate("HighLine",OBJ_TREND,0,Nfirsttime1,Nfirstprice1,Nsecondtime1,Nsecondprice1);
      }
      }
 

En mi opinión, es más sencillo. Funciona bien en el historial. Comprobaré en internet la demo, creo que también funcionará. ¿Funcionará de verdad desde su experiencia?

Razón de la queja: