Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1508

 
Maxim Kuznetsov:

Non c'è bisogno di tirare fuori cazzate dal riferimento, scrivere il ciclo ovvio... dovrai conviverci dopo :-)

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

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

      DoChart(chartId);

   }

Ho bisogno di digerire anche questo...
 
Maxim Kuznetsov:

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

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

      DoChart(chartId);

   }

Maxim, non riesco a capire come applicare questo al mio problema(

 
MakarFX:

Si prega di aiutare a trovare o scrivere una funzione per cercare gli oggetti sui grafici aperti.

Cinque grafici aperti, l'EA è sul primo. MT4

questo codice dovrebbe funzionare:

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

controllare le criptovalute, lavorano nei fine settimana

L'unica cosa è monitorare l'apertura (e la chiusura?) di nuovi grafici e poi aggiornare la lista
 
Igor Makanu:

questo codice dovrebbe funzionare:

controllare le criptovalute, lavorano nei fine settimana

Grazie)))

 
MakarFX:

È accettabile eseguire l'indicatore con codice minimo su ogni grafico? È possibile farlo con un modello predefinito.

 
Aleksei Stepanenko:

È accettabile eseguire un indicatore o un EA con codice minimo su ogni grafico? È possibile farlo con un modello predefinito.

L'EA sul primo grafico esegue la DLL

quindi c'è solo un

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

Se un tale indicatore è messo su ogni grafico desiderato, allora qualsiasi cambiamento di oggetti nell'area controllata (grafico) invierà un evento al grafico con l'esperto.

//идентификатор графика с советником
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);
   }
Esempio come idea.
 
Aleksei Stepanenko:

Se metti tale indicatore su ogni grafico desiderato, allora qualsiasi cambiamento di oggetti nell'area controllata (grafico) invierà un evento al grafico con l'Expert Advisor.

Esempio come idea

Grazie, ma ho controllato il mio codice su crypto, tutto funziona come volevo.

Grazie a tutti per il vostro aiuto!

 
MakarFX:

Ecco il mio problema con Chart_ID()

L'ha fatto così

Ma non si può controllare nel tester(.

...devo aspettare così tanto per lunedì(

Durante l'inizializzazione, tutto sembra funzionare

Ma come funzionerà nella vita reale?

Mentre ero via .........

A prima vista sembra tutto a posto. Puoi controllare lo script in qualsiasi giorno. Ma qui nella documentazione non mi piace l'esempio. Ecco come consiglio di scrivere

#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:

Se un tale indicatore viene messo su ogni grafico desiderato, allora qualsiasi cambiamento negli oggetti nell'area controllata (grafico) invierà un evento al grafico con l'esperto.

Esempio come idea.

Per questo compito

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Tutte le domande dei neofiti su MQL4 e MQL5, aiuto e discussione di algoritmi e codici

MakarFX, 2021.06.19 21:21

Per essere onesto Alexey, con le mie conoscenze sembra spaventoso...

Se vuoi entrare nel mercato come nel mercato Forex, devi essere molto attento al tuo questionario e sapere come gestirlo.


l'indicatore non è adatto.
Motivazione: