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

 
Artyom Trishkin:

Fallo. Poi il codice qui.

A proposito, Artem.

Il compito da svolgere solleva una domanda interessante.

Per controllare TUTTO, avete bisogno di una procedura di "importazione di dati".

Vale a dire, gli array dinamici dovrebbero essere caricati con i propri dati dinamici da fonti terze.

Non so se MT4/MT5 hanno questa procedura - o no?

Come importare i dati in MT4/MT5?

Ma è possibile?

-------------------------------------------------------------------

Mi interessa importare dati dinamici, non solo leggere dati da un array.

---------------------------------------------------------------------------------------------------------------

A proposito, qui è dove http://tol64.blogspot.com/2015/12/easy-and-fast-gui-mql.html questa importazione dovrebbe essere per costruzione.

Semplicemente non c'è modo di farlo senza.

------------------------------------------------------------------------------------------

Non vedo l'importazione in MT4/MT5 o nelle loro estensioni.

Datemi l'importazione!!!

Библиотека "Easy And Fast GUI" для создания графических интерфейсов на MQL
  • tol64.blogspot.com
С этой статьи я начинаю еще одну серию, относящуюся к разработке графических интерфейсов. На текущий момент нет ни одной библиотеки кода, которая позволяла бы легко и быстро создавать качественные графические интерфейсы в MQL-приложениях. Я имею в виду графические интерфейсы, к которым мы все привыкли в известных операционных системах. Цель проекта — дать конечному пользователю такую возможность и научить это делать с помощью моей библиотеки. Я постарался сделать ее максимально понятной в изучении, с возможностями дальнейшего развития.
 
Aleksey Lebedev:

Questa è una feroce sciocchezza, degna di entrare negli annali del forum.

"Ah, la moussa, sappiate che è forte,
"Che abbaia all'elefante!"

https://ru.wikisource.org/wiki/%D0%A1%D0%BB%D0%BE%D0%BD_%D0%B8_%D0%9C%D0%BE%D1%81%D1%8C%D0%BA%D0%B0_(%D0%9A%D1%80%D1%8B%D0%BB%D0%BE%D0%B2)

Alexey!

Ti farò una braciola, sul forum!!!

Scusa!

 

Buon pomeriggio!

Potreste consigliarmi come implementare correttamente il riempimento del buffer dell'indicatore con i dati copiando dal buffer di un altro indicatore chiamato tramite iCustom? L'idea è quella di poter chiamare lo stesso indicatore, costruito sulla base dei dati di un altro strumento nella finestra dello strumento corrente.

Come risultato, il buffer dei dati è vuoto, il grafico non viene tracciato. Il buffer di colore non è importante.

//---- indicator settings
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots   1
#property indicator_type1   DRAW_COLOR_HISTOGRAM
#property indicator_color1  Green,Red
#property indicator_style1  0
#property indicator_width1  3

//--- input data
input string OtherSymbol=""; //Название символа, по которому считать. Если пусто - текущий символ
//---- indicator buffers
double                    DataBuffer[];
double                    ColorsBuffer[];
//---- external indicator handle
int                       CustomHandle=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {  
   SetIndexBuffer(0,DataBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,ColorsBuffer,INDICATOR_COLOR_INDEX);
   IndicatorSetString(INDICATOR_SHORTNAME,"PercentChangeHistogram");
   IndicatorSetInteger(INDICATOR_DIGITS,2);
//----
   if (OtherSymbol!="") //если есть имя другого символа, рекурсивно вызываем индикатор через iCustom 
      { 
      CustomHandle=iCustom(OtherSymbol,_Period,"PercentChangeHistogram","");
     if (CustomHandle==-1)
         {Alert ("iCustom function initialization failed!");
         return (INIT_FAILED);}
     }
   return (INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|  OnCalculate                                                     |
//+------------------------------------------------------------------+
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[])
  {
   if(rates_total<2)
      return(0);
   int start=prev_calculated-1;
   if(start<1) start=1;
   //---
   if (OtherSymbol=="")// если input переменная содержит пустую строку, заполняем индикаторный массив через простой расчет функцией CalculateData
                       // если input переменная содержит не пустую строку, пытаемся заполнить индикаторный массив копированием данных другого индикатора
   CalculateData(start,rates_total,open,close);
   else
   CopyBuffer(CustomHandle,0,start,rates_total-prev_calculated,DataBuffer);
   //---
   return(rates_total);
  }
  
...
 
Aleksey Lebedev:

È un mucchio di stronzate, degne di entrare negli annali del forum.

Alexey!

Da quanto tempo sei un trader? -

- Nessuno?

I commercianti ragionavano in modo semplice?

- Che conto hai, Alexey - in più o in meno, e quanti anni?

- O non hai nessun conto di trading?

- Oppure, sei semplicemente senza cervello e hai deciso di insegnare ad altri trader?

- Ce ne sono molti.

--------------------------------------------------------------------------------------

- Ho un conto da trader, ed è un conto decente. Molto tempo, 20 anni, e non ho intenzione di insegnare a nessuno.

- Questo è il paradosso.

 
neverness:

Alexey!

Da quanto tempo sei un trader? -

- Nessuno?

I commercianti ragionavano in modo semplice?

- Che conto hai, Alexey - in più o in meno, e quanti anni?

- O non hai nessun conto di trading?

- Oppure, sei semplicemente senza cervello e hai deciso di insegnare ad altri trader?

- Ce ne sono molti.

--------------------------------------------------------------------------------------

- Ho un conto da trader, ed è un buon conto. Molto tempo, 20 anni, e non ho intenzione di insegnare a nessuno.

- Questo è il paradosso.

Ti è stata data una risposta sul lato tecnico della moneta, e non dovrebbe essere affatto collegata alla qualità del trading.

 
Vitaly Muzichenko:

Ti è stata data una risposta sul lato tecnico della moneta, e non dovrebbe essere affatto legata alla qualità del trading.

Perché?

O pensa che i commercianti siano "idioti analfabeti" che giocano e scommettono sul mercato?

Allora sono uno di loro.

Solo io prendo l'integrale di dx senza difficoltà. E tu? - Che c'è, hai un problema?

Ovviamente non sei un trader, così come molti altri "esperti" su questo forum!

Per un trader, il mercato FOREX è una "vacca sacra", che è SEMPRE GIUSTO.

Se riesci a spingere la tua idea attraverso questo mercato - sei un eroe!

Se il mercato ti rovescia, allora sai cosa ti aspetta!

--------------------------------------------------------------------------------------------------------

Ma nessuno viene bandito nel mercato Forex - un altro paradosso!!!

Che tu abbia ragione o torto - non importa, tutto è pagato!!!

 
Artyom Trishkin:

Di nuovo. Guardate attentamente l'immagine:


Grazie per l'indizio.

 
neverness:

Perché?

O pensa che i commercianti siano "idioti analfabeti" che giocano e scommettono sul mercato?

Allora sono uno di loro.

Solo io prendo l'integrale di dx senza difficoltà. E tu? - Che c'è, hai un problema?

Ovviamente non sei un trader, così come molti altri "esperti" su questo forum!

Per un trader, il mercato FOREX è una "vacca sacra", che è SEMPRE GIUSTO.

Se riesci a spingere la tua idea attraverso questo mercato - sei un eroe!

Se il mercato ti rovescia, allora sai cosa ti aspetta!

--------------------------------------------------------------------------------------------------------

Ma nessuno viene bandito nel mercato Forex - un altro paradosso!!!

Che tu abbia ragione o torto - non importa, tutto è pagato!!!

Si parla di array e si parla di Forex! Un paradosso, però!

 
neverness:


- E ho un conto da trader, e uno decente. Per molto tempo, 20 anni, e non ho intenzione di insegnare a nessuno.

- Questo è il paradosso.

Sembra che tu stia dicendo la tua età, non la tua anzianità.
 

Ho letto il tuo messaggio, sembra tutto a posto :-) ma la domanda che ha provocato questa confusione?

Dichiarare un array tramiteSetIndexBuffer(1, tmp1) non fa nulla. Naturalmente, posso aumentare la dimensione dell'array nello stesso ciclo, ma voglio conoscere un modo più semplice ed efficiente.