Errori, bug, domande - pagina 1878

 
Sergey Dzyublik:

Come si chiama allora questa operazione?

Questa operazione non ha più un nome (1589+). Penso che quando si capisce da dove viene Warning

template <typename T>
T Func(){
  T Res;
  return(Res);
}

template <typename T>
void Func( T Value ){
  T Res = (int)Value; // implicit conversion from 'number' to 'string'
}

void OnStart()
{
  Func<string>(); 

  Func(0);
}

capirete di quale problema stiamo parlando.

 

Si prega di mostrare nei log dell'ottimizzatore la gamma e il passo dei parametri da ottimizzare.

Anche nei registri degli agenti tali stringhe

NS      0       14:11:00.853    Tester  756 : passed in 0:00:04.789
MJ      0       14:11:03.447    Tester  757 : passed in 0:00:02.574
RM      0       14:11:05.860    Tester  758 : passed in 0:00:02.340

accompagnare con informazioni sulla corsa corrispondente - il nome dell'Expert Advisor e i suoi parametri di input.

 
Se rimuoviamo la linea qui
#define  TYPETOBYTES_FULL_SLOW

allora vengono abilitate nuove unioni, raddoppiando il tempo di compilazione.

'TypeToBytes_ExampleScript.mq5' TypeToBytes_ExampleScript.mq5
'TypeToBytes.mqh'       TypeToBytes.mqh
0 error(s), 0 warning(s), compile time: 3195 msec

Sono normali tre secondi per un piccolo codice?

Nel frattempo, la versione di debug

0 error(s), 0 warning(s), compile time: 108 msec

viene compilato 30 volte più velocemente.

È possibile compilare rapidamente nella versione di debug senza lanciare il debug stesso - solo per il gusto di auto-testarsi?

 

Non so come sia successo, ma è andata così:


 
Комбинатор:

Non so come sia successo, ma è andata così:

Bisogna scrivere a qualcuno. Devi farlo e basta, non c'è altro modo)))
 
Andrey Khatimlianskii:
Bisogna scrivere a qualcuno. Devi farlo e basta, non c'è altro modo )))
Non è abbastanza. Dopo una cosa del genere ci si deve sposare, altrimenti)))
 
Nella realtà di oggi, è normale?
void OnStart()
{
  MqlTick Tick;
  
  Tick = (MqlTick)Tick; // cannot cast 'MqlTick' to 'MqlTick'
}
 

Saluti molto calorosi!

aiutarmi a risolvere un problema.

Ho questo codice, cioè apriamo un nuovo grafico sulla revisione del mercato e disegniamo un oggetto su di esso.

Non vedo alcun problema quando ci sono solo pochi tickers nel grafico.

Quando il grafico raggiunge il tempo di apertura, l'oggetto sarà disegnato nella finestra successiva.

quando il tempo di apertura del grafico raggiunge 3000ms!!! = 3s, ChartOpen restituisce 0, anche se il grafico viene aperto alla fine, ma !!! abbiamo una condizione - disegnare un oggetto in un nuovo grafico, se ChartOpen restituisce 0, non possiamo ottenere l'ID del grafico, quindi basta disegnare un oggetto in esso, anche se il grafico si è aperto alla fine, ma non sappiamo il suo ID.

Provato a risolvere il problema vasyanskim modo, stupidamente girando Sleep 4s, ma ancora, con una serie di grafici circa 60, anche non funziona. Ed è anche ho tagliato allegare modello con tacchini, come all'inizio previsto.

Se si zammenut Sleep, allora thrash, mayhem e sodomia, inizieranno molto prima.

2017.04.29 12:50:12.563 открытие множества чартов с созданием объектов (EURUSD,H1)      Чарт 131379294082473728 открывался = 2480.0
2017.04.29 12:50:12.563 открытие множества чартов с созданием объектов (EURUSD,H1)      Раз тут открылся чарт #Wheat_N7  должен нарисовать объект 
2017.04.29 12:50:12.673 открытие множества чартов с созданием объектов (EURUSD,H1)      На символе номер = 57 #Wheat_N7  создано объектов = 1
2017.04.29 12:50:12.673 открытие множества чартов с созданием объектов (EURUSD,H1)      На символе номер = 57 #Wheat_N7  на самом деле создано объектов = 1
2017.04.29 12:50:19.753 открытие множества чартов с созданием объектов (EURUSD,H1)      Не удалось открыть чарт № = 58 тикер = #AUS200  за время = 3003.0
2017.04.29 12:50:26.623 открытие множества чартов с созданием объектов (EURUSD,H1)      Чарт 131379294223977200 открывался = 2794.0
2017.04.29 12:50:26.623 открытие множества чартов с созданием объектов (EURUSD,H1)      Раз тут открылся чарт #Belgium20  должен нарисовать объект 

Memoria gorate terminale circa 700mb, altri 1300 liberi, cioè non è nelle risorse. Le barre di Kolvo sul grafico impostano 5000.

Не удалось открыть чарт № = 58 тикер = #AUS200

Tuttavia, il grafico si è aperto, ma il suo ID è sconosciuto.

//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property strict
#property script_show_inputs
input string nametemplate="zz.tpl";
input int    limit=1000;
int symopen,objquant;
double close[];
datetime time[];
string namesym;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   ArrayInitialize(time,0);
   ArrayInitialize(close,0);
   long chart_id=ChartFirst(),chart_id_prev;
   for(int c2=0; c2<SymbolsTotal(true)-1; c2++)
     {
      int Q=0;
      objquant=0;
      chart_id_prev=chart_id;
      ArrayFree(close);
      ArrayFree(time);
      ArrayResize(close,limit);
      ArrayResize(time,limit);
      int время=CopyTime(namesym,0,1,limit,time);
      int цена=CopyClose(namesym,0,1,limit,close);
      namesym=SymbolName(c2,true);
      ulong start=GetMicrosecondCount();
      chart_id=ChartOpen(namesym,0);
      ulong finish=GetMicrosecondCount();
      Sleep(4000);
      if( chart_id==0 )
        {
         Print("Не удалось открыть чарт № = ",c2," тикер = ",namesym," за время = ",
               NormalizeDouble((finish-start)/1000,3));
         continue;
        }
      Print("Чарт ",chart_id," открывался = ",NormalizeDouble((finish-start)/1000,3));
      symopen=1;
      //      ChartApplyTemplate(chart_id,nametemplate);
      Print("Раз тут открылся чарт ",namesym," должен нарисовать объект ");
      //Sleep(100);
      ResetLastError();
      bool objcreated=ObjectCreate(chart_id,"name"+namesym+string(c2),OBJ_RECTANGLE,0,time[5],close[5],time[15],close[15]);
      if(objcreated==true) objquant++;
      else Print("Ошибка создания объекта = ",GetLastError());
      Print("На символе номер = ",c2," ",namesym," создано объектов = ",objquant);
      int total=ObjectsTotal(chart_id,0,-1);
      Print("На символе номер = ",c2," ",namesym," на самом деле создано объектов = ",total);
     }
   return;
  }

//+------------------------------------------------------------------+
 
kaus_bonus:

aiutare a risolvere un problema.

Scrivere GetNewChartID().
 
fxsaber:
Scrivere GetNewChartID().


ChartOpen dovrebbe restituire un nuovo ID grafico, ma non lo fa

potete aiutarmi con questo?