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

 
Alexey Viktorov:

L'array viene scritto solo in un file .bin e per aprirlo in lettura a occhio... Non conosco una tale applicazione, è improbabile che esista. Per poter leggere ciò che è stato scritto, deve essere scritto in formato .csv o .txt, rispettivamente, con altre funzioni in un ciclo, non con FileWriteArray().

Grazie.
 
come correggere l'errore?
File:
 
come correggere l'errore?
File:
Screenshot_6.png  106 kb
 
02031986dima:
come correggere l'errore?

Fate così.

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 07.10.2006                                                     |
//|  Описание : Возвращает экстремум ЗигЗага по его номеру.                    |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (NULL или "" - текущий символ)          |
//|    tf - таймфрейм                  (      0     - текущий ТФ)              |
//|    ne - номер экстремума           (      0     - последний)               |
//|    dp - ExtDepth                                                           |
//|    dv - ExtDeviation                                                       |
//|    bs - ExtBackstep                                                        |
//+----------------------------------------------------------------------------+
double GetExtremumZZPrice(string sy="", int tf=0, int ne=0, int dp=12, int dv=5, int bs=3) {
  if (sy=="" || sy=="0") sy=Symbol();
  double zz;
  int    i, k=iBars(sy, tf), ke=0;

  for (i=0; i<k; i++) {
    zz=iCustom(sy, tf, "ZigZag", dp, dv, bs, 0, i);
    if (zz!=0) {
      ke++;
      if (ke>ne) return(zz);
    }
  }
  Print("GetExtremumZZPrice(): Экстремум ЗигЗага номер ",ne," не найден");
  return(0);
}
 

Ciao.

Domanda: In MT4, è possibile far coincidere il colore del buffer EZ con il grafico, se il colore dell'indicatore sul grafico è cambiato?

Nel codice

#proprietà indicatori_color1 clrYellow

***

***

ObjectCreate(.......);

ObjectSetInteger(... indicators_color1);


Problema; quando si cambia colore nell'indicatore, il colore della linea del buffer cambia, ma nel grafico è lo stesso di #proprietà. Ha bisogno di corrispondenza.

Finora risolto attraverso il colore di ingresso, MA sono due voci nel codice, due modifiche nelle impostazioni, e vorrei una sola impostazione attraverso il buffer.


Grazie per qualsiasi feedback.

Diagrammato da uno smartphone.


 
kopeyka2:

Ciao.

Domanda: In MT4, è possibile far coincidere il colore del buffer EZ con il grafico, se il colore dell'indicatore sul grafico è cambiato?

Nel codice

#proprietà indicatori_color1 clrYellow

***

***

ObjectCreate(.......);

ObjectSetInteger(... indicators_color1);


Problema; quando si cambia colore nell'indicatore, il colore della linea del buffer cambia, ma nel grafico è lo stesso di #proprietà. Ha bisogno di corrispondenza.

Finora risolto attraverso il colore di ingresso, MA sono due voci nel codice, due modifiche nelle impostazioni, e vorrei una sola impostazione attraverso il buffer.


Grazie per qualsiasi feedback.

Diagrammato da uno smartphone.

Dovrebbe funzionare. Cancellate l'oggetto in OnDeinit() per crearne uno nuovo quando cambiate i parametri di input, con il colore che volete?

 
Taras Slobodyanik:

Se sapete come creare il nome esatto di un oggetto, non ha senso passare attraverso tutti gli oggetti del grafico.
Basta passare attraverso questi nomi (presunti).

Grazie.

 

@Vitaly Muzichenko


Colore diverso

Il codice è Magenta.

I punti sono un buffer. La linea è un grafico, questo è il problema. Il colore dalla variabile globale alla lineaObjectSetInteger(...indicators_color1) NON si ottiene quando si cambia!!!! Penso che la#proprietà indicators_color1 clrMagenta cambi nel grafico allegato si riferisce SOLO al buffer... Il resto del valore è usato nel codice come variabile globale....


Correggere se sbagliato. SPS

 
Vitaly Muzichenko:

Dovrebbe funzionare. Stai cancellando un oggetto in OnDeinit() per crearne uno nuovo quando i parametri di input sono cambiati, con il colore che vuoi?

Cancello DUE volte; 1)OnDeinit 2) una volta nel corpo del codice.
 
kopeyka2:

Ciao.

Domanda: In MT4, è possibile coordinare il colore del buffer con il grafico, se il colore dell'indicatore viene cambiato nel grafico?


NO, NON PUO'...

è divertente, ma NON è possibile ottenere ciò che l'utente ha selezionato nella scheda "Colori" all'interno dell'indicatore