Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1508

 
Maxim Kuznetsov:

Vous n'avez pas besoin de sortir des conneries de l'aide, d'écrire le cycle évident... vous devrez vivre avec plus tard :-)

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

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

      DoChart(chartId);

   }

J'ai besoin de digérer ça aussi...
 
Maxim Kuznetsov:

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

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

      DoChart(chartId);

   }

Maxim, je n'arrive pas à trouver comment appliquer cela à mon problème(

 
MakarFX:

Veuillez m'aider à trouver ou à écrire une fonction permettant de rechercher des objets sur des graphiques ouverts.

Cinq graphiques ouverts, l'EA est sur le premier. MT4

ce code devrait fonctionner :

#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);
   }
}
//+------------------------------------------------------------------+

vérifier les crypto-monnaies, ils travaillent les week-ends

La seule chose à faire est de surveiller l'ouverture (et la fermeture ?) des nouveaux graphiques et de mettre à jour la liste.
 
Igor Makanu:

ce code devrait fonctionner :

vérifier les crypto-monnaies, ils travaillent les week-ends

Merci)))

 
MakarFX:

Est-il acceptable d'exécuter l'indicateur avec un code minimal sur chaque graphique ? Est-il possible de faire cela avec un modèle par défaut ?

 
Aleksei Stepanenko:

Est-il acceptable d'exécuter un indicateur ou une EA avec un code minimal sur chaque graphique ? Est-il possible de faire cela avec un modèle par défaut ?

EA sur le premier graphique exécute la DLL

donc il n'y a qu'un seul

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

Si un tel indicateur est placé sur chaque graphique souhaité, tout changement d'objet dans la zone contrôlée (graphique) enverra un événement au graphique avec l'expert.

//идентификатор графика с советником
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);
   }
Exemple en tant qu'idée.
 
Aleksei Stepanenko:

Si vous placez un tel indicateur sur chaque graphique souhaité, alors tout changement d'objet dans la zone contrôlée (graphique) enverra un événement au graphique avec le conseiller expert.

L'exemple en tant qu'idée

Merci, mais j'ai vérifié mon code sur crypto, tout fonctionne comme je le voulais.

Merci à tous pour votre aide !

 
MakarFX:

Voici mon problème avec Chart_ID()

Je l'ai fait comme ça

Mais vous ne pouvez pas le vérifier dans le testeur(.

...je dois attendre si longtemps pour lundi(

Pendant l'initialisation, tout semble fonctionner

Mais comment cela fonctionnera-t-il dans la vie réelle ?

Pendant mon absence .........

À première vue, tout semble aller bien. Vous pouvez enregistrer le scénario n'importe quel jour. Mais ici, dans la documentation, je n'aime pas l'exemple. Voici comment je conseille d'écrire

#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 un tel indicateur est placé sur chaque graphique souhaité, tout changement dans les objets de la zone contrôlée (graphique) enverra un événement au graphique avec l'expert.

Exemple en tant qu'idée.

Pour cette tâche

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Toutes questions des débutants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes.

MakarFX, 2021.06.19 21:21

Pour être honnête Alexey, avec mes connaissances, ça semble effrayant...

Si vous voulez entrer sur le marché de la même manière que sur le marché Forex, vous devez être très attentif à votre questionnaire et savoir comment le traiter.


l'indicateur n'est pas adapté.