Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 627

 
Roman Shiredchenko:

Questo è comprensibile... Forse un breve esempio per una variabile e basta... Anche se sembra che io stesso troverò qualcosa nella guida...

Grazie. Come scriverli nel buffer, voglio dire che tipo di buffer organizzare.... qui in linea di principio le linee su questo indicatore non sono necessarie...

Se non avete bisogno di linee, ma volete prendere alcuni valori dai buffer degli indicatori, create una costruzione grafica con il tipo DRAW_NONE. Guardate come è implementato in Aiuto.

Ma ad essere onesti, non capisco davvero perché si dovrebbe usare un indicatore per questo scopo.

 
Alexey Volchanskiy:
Assolutamente no, lo stesso vale per il commento. Riaprire solo con una magia diversa
hmm (
 

La domanda più semplice, inceppata.

Come posso ottenere il numero di barre visibili nella finestra del grafico? (MQL4)

 
new-rena:

La domanda più semplice, inceppata.

Come posso ottenere il numero di barre visibili nella finestra del grafico? (MQL4)

//+------------------------------------------------------------------+ 
//| Функция получает количество баров, которые отображаются (видимы )| 
//| в окне графика.                                                  | 
//+------------------------------------------------------------------+ 
int ChartVisibleBars(const long chart_ID=0) 
  { 
//--- подготовим переменную для получения значения свойства 
   long result=-1; 
//--- сбросим значение ошибки 
   ResetLastError(); 
//--- получим значение свойства 
   if(!ChartGetInteger(chart_ID,CHART_VISIBLE_BARS,0,result)) 
     { 
      //--- выведем сообщение об ошибке в журнал "Эксперты" 
      Print(__FUNCTION__+", Error Code = ",GetLastError()); 
     } 
//--- вернем значение свойства графика 
   return((int)result); 
  }
 
Vladislav Andruschenko:
GRAZIE MILLE!
 
Alexey Kozitsyn:

Se le linee non sono necessarie, ma volete prendere alcuni valori dai buffer degli indicatori, allora create un disegno grafico con il tipo DRAW_NONE. Guardate come è implementato nell'aiuto.

Ad essere onesti, non capisco davvero perché dovremmo usare l'indicatore per questo scopo...

Il fatto è, lo verificherò io stesso, che se inserisco lo stesso codice per lavorare con i tick in Expert Advisor, può portare alla perdita di tick in un robot. Per essere più precisi, non a causa del codice, ma in generale. L'Expert Advisor presumibilmente può saltare i tick (quando esegue la funzione start) ma l'indicatore no. Soprattutto quando la velocità del loro arrivo al terminale è alta. Quindi, forse è necessario lavorare attraverso l'indicatore per gestire correttamente i tick o no? Chi lo considera? Si prega di avvisare.

 
Roman Shiredchenko:

Il fatto è, lo verificherò io stesso per confronto, che sembra che se lo stesso codice per lavorare con i tick è inserito in EA, è possibile perdere tick nel robot. Per essere più precisi, non a causa del codice, ma in generale. L'Expert Advisor presumibilmente può saltare i tick (quando esegue la funzione start) ma l'indicatore no. Soprattutto quando la velocità del loro arrivo al terminale è alta. Quindi, forse è necessario lavorare attraverso l'indicatore per gestire correttamente i tick o no? Chi lo considera? Si prega di consigliare...

Sulle zecche - sono d'accordo, ma anche l'indicatore, per quanto ne so, non risolve tutti i problemi. Per ottenere realmente tutti i tick è necessario utilizzare la funzione CopyTicks() (per MT5). Ma ora c'è un problema.

https://www.mql5.com/ru/forum/42122/page17#comment_2835080

Se stiamo parlando di MT4 - l'indicatore è sicuramente migliore.

Тестируем 'CopyTicks'
Тестируем 'CopyTicks'
  • www.mql5.com
Индикатор с тиковым объемом прилагается ( скомпилирован на МТ5-1100).
 
Alexey Volchanskiy:

Analizza solo i file di log come \logs\20160922.log. Ma non possiamo ottenerli da MQL4/5, solo la cartella \MQL5\Files è disponibile per la lettura/scrittura.

Quindi, abbiamo bisogno di scrivere uno script esterno che legga il log, lo analizzi e informi MQL4/5 se una posizione deve essere aperta.

Oppure copia semplicemente il log una volta al secondo nella cartella Files, e da lì può essere letto e analizzato con gli strumenti MQL

Grazie.
 
Alexey Kozitsyn:

Sulle zecche - sono d'accordo, ma anche l'indicatore, per quanto ne so, non risolve tutti i problemi. Per ottenere davvero tutti i tick - è necessario utilizzare la funzione CopyTicks() (per MT5). Ma ora c'è un problema.

https://www.mql5.com/ru/forum/42122/page17#comment_2835080

Se stiamo parlando di MT4 - l'indicatore è sicuramente migliore.

Grazie. Conosco bene questo thread, lo sto rileggendo. Sì, su MT4. Sto scrivendo...

Confronto le letture dell'indicatore e dell'Expert Advisor - tutto batte. Ho provato su Eurodollaro e su Venerdì - le velocità sono normali, non ho problemi con Active Traders. Ho già implementato il codice nel mio robot. Userò un'altra zecca che maneggia lì - la guarderò anche io e la confronterò... Grazie per il vostro aiuto.

Devo tirare tutto fuori dall'indicatore anche lì... Forse, la parte sarà fatta da un codice diretto in un robot, che non sarà critico per i tick, l'altra parte in indicatori...

 
Potete dirmi come risolvere il fatto che la corsa di ottimizzazione è terminata prematuramente a causa di una perdita del deposito?
Motivazione: