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

 
Maxim Kuznetsov:

No hace falta que tires de la mierda de la referencia, escribe el ciclo obvio... tendrás que vivir con ello después :-)

   for(long chartId=ChartNext(0);chartId>0 &&!IsStopped();chartId=ChartNext(chartId)) {

      if (ChartSymbol(chartId)=="") continue;

      DoChart(chartId);

   }

Yo también necesito digerir esto...
 
Maxim Kuznetsov:

   for(long chartId=ChartNext(0);chartId>0 &&!IsStopped();chartId=ChartNext(chartId)) {

      if (ChartSymbol(chartId)=="") continue;

      DoChart(chartId);

   }

Maxim, no sé cómo aplicar esto a mi problema(

 
MakarFX:

Por favor, ayuda a encontrar o escribir una función para buscar objetos en los gráficos abiertos.

Cinco gráficos abiertos, el EA está en el primero. MT4

este código debería funcionar:

#property strict
#include <Arrays\ArrayLong.mqh>
CArrayLong ChartsID;
//+------------------------------------------------------------------+
int OnInit()
{
   FindChartsBySymbol(_Symbol, ChartsID);
   for(int i = ChartsID.Total() - 1; i >= 0; i--)
   {
      long chart_id = ChartsID.At(i);
      Print("ChertID = ", chart_id, " , symbol = ", ChartSymbol(chart_id));
   }
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void FindChartsBySymbol(string symbol, CArrayLong &charts)
{
   for(long currChart = ChartFirst(); currChart >= 0; currChart = ChartNext(currChart))
   {
      if(ChartSymbol(currChart) == symbol) charts.Add(currChart);
   }
}
//+------------------------------------------------------------------+

comprobar las criptomonedas, trabajan los fines de semana

Lo único que hay que hacer es controlar la apertura (¿y el cierre?) de nuevos gráficos y luego actualizar la lista
 
Igor Makanu:

este código debería funcionar:

comprobar las criptomonedas, trabajan los fines de semana

Gracias)))

 
MakarFX:

¿Es aceptable ejecutar el indicador con un código mínimo en cada gráfico? ¿Es posible hacer esto con una plantilla por defecto?

 
Aleksei Stepanenko:

¿Es aceptable ejecutar un indicador o EA con un código mínimo en cada gráfico? ¿Es posible hacer esto con una plantilla por defecto?

El EA en el primer gráfico ejecuta la DLL

por lo que sólo hay una

C# DLL MQ4 построение формы общения
C# DLL MQ4 построение формы общения
  • 2021.04.02
  • www.mql5.com
Еще неделю назад я не знал что такое C#...теперь я знаю что это читается "си шарп"))) Прочитав статьи https://www.mql5...
 

Si tal indicador se pone en cada gráfico deseado, entonces cualquier cambio de objetos en el área monitoreada (gráfico) enviará un evento al gráfico con el experto.

//идентификатор графика с советником
long ID=1;

int OnInit() 
   {
   //установка флага получения событий создания объектов графика 
   ChartSetInteger(ChartID(),CHART_EVENT_OBJECT_CREATE,true); 
   //установка флага получения событий удаления объектов графика 
   ChartSetInteger(ChartID(),CHART_EVENT_OBJECT_DELETE,true); 
   return(INIT_SUCCEEDED); 
   } 

void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) 
   {
   //если объект удалён или создан, или изменён
   if(id==CHARTEVENT_OBJECT_DELETE || id==CHARTEVENT_OBJECT_CREATE || id==CHARTEVENT_OBJECT_CHANGE)
      {
      EventChartCustom(ID,1,lparam,dparam,sparam); 
      }
   }

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
   {
   return(rates_total);
   }
Ejemplo como idea.
 
Aleksei Stepanenko:

Si usted pone tal indicador en cada gráfico requerido, entonces cualquier cambio de objetos en el área controlada (gráfico) enviará un evento al gráfico con el Asesor Experto.

Ejemplo como idea

Gracias, pero he comprobado mi código en crypto, todo funciona como quería.

Gracias a todos por su ayuda.

 
MakarFX:

Este es mi problema con Chart_ID()

Lo hizo así

Pero no se puede comprobar en el probador(.

...tengo que esperar tanto para el lunes(

Durante la inicialización, todo parece funcionar

¿Pero cómo funcionará en la vida real?

Mientras estaba fuera .........

A primera vista parece estar bien. Puede comprobar el guión en cualquier día. Pero aquí en la documentación no me gusta el ejemplo. Así es como aconsejo escribir

#property strict

/********************Script program start function*******************/
void OnStart()
 {
  long chart = ChartFirst();
  while(chart >= 0 && !IsStopped())
   {
    if(ObjectFind(chart, "00") >= 0)
     Print("Symbol ", ChartSymbol(chart), " Period ", EnumToString(ChartPeriod(chart)));
    chart = ChartNext(chart);
   }
 }/******************************************************************/

/*****************************End program****************************/
 
Aleksei Stepanenko:

Si tal indicador se pone en cada gráfico deseado, entonces cualquier cambio de objetos en el área monitoreada (gráfico) enviará un evento al gráfico con el experto.

Ejemplo como idea.

Para esta tarea

Foro sobre comercio, sistemas de comercio automatizados y prueba de estrategias de comercio

Cualquier pregunta de los novatos en MQL4 y MQL5, ayuda y discusión de algoritmos y códigos

MakarFX, 2021.06.19 21:21

Para ser honesto Alexey, con mis conocimientos suena a miedo...

Si aún no ha entrado en el mercado, no puede volver a él y comprar a un corredor de divisas, o comprar a una cobertura.


el indicador no es adecuado.
Razón de la queja: