Errori, bug, domande - pagina 56

 

Ho Buf[0], Buf[1] e la funzione

Gestire la posizione iniziale e il numero di elementi richiesti

intCopyBuffer(
intindicator_handle,// maniglia dell'indicatore
intbuffer_num,// numero del buffer dell'indicatore
intstart_pos,//dove iniziamo
intcount,// quanti ne copiamo
doublebuffer[]// array, dove i dati saranno copiati in
);

CopyBuffer(M_Handl[In][AO_D],0,0,2,Buf);  // я копирую 0-й и 1-й бар по идее

Ma Buf non contiene la 0a barra, ha solo la 1a barra e la 2a barra. O ci sono tick o no, ma il valore finale dell'indicatore sulla barra 0-esima dovrebbe esserci, mentre il suo valore non è nemmeno vicino al valore in Buf[1], ma è quasi identico al valore dell'indicatore sulla barra 1.

 

Модератор
216

stringo 2010.07.19 15:59 2010.07.19 15:59:06

Parola chiave OnTimer.

Ok, ci penserò!
 
void OnDeinit(const int reason)
  {
//--   
   int LeftBar = ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR);
   Print(LeftBar);  
  }

Se il motivo è un cambio di timeframe, LeftBar=0;

Se il motivo è la ricompilazione, allora va bene.

Dovrebbe essere così?

 

Dimmelo per favore.

Il terminale deve mantenere la sua funzionalità per qualsiasi errore nel codice del programma fatto dal commerciante?

Per esempio divisione per zero, accesso a dati di array inesistenti, ecc.

Funzione

bool  IndicatorRelease(
   int       indicator_handle,     // handle индикатора
   );

Cancella la maniglia di un indicatore e rilascia la parte di calcolo dell'indicatore, se non è più utilizzata.

Nell'esempio precedente è usato nel corpo void OnTick().

Ho deciso di sperimentarlo in void OnDeinit.

Nell'aiuto non ho trovato informazioni su dove usarlo, anche se probabilmente alla deinizializzazione le maniglie vengono rilasciate automaticamente e non c'è bisogno di usarlo lì. Ma non ho ancora capito cos'è una maniglia.

Quindi. Il terminale va in crash quando si cancella l'Expert Advisor dal grafico.

Allego i codici.

Se ne avete bisogno ed è un bug, posso farlo tramite servicedesk.

Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
  • www.mql5.com
Доступ к таймсериям и индикаторам / IndicatorRelease - Документация по MQL5
File:
servis_2.mq5  1 kb
servis_3.mq5  2 kb
 

PS Grazie per le correzioni nella build 294, tutti i problemi precedentemente identificati sono stati risolti.

Cerchiamo nuovi )))

 
SHOOTER777:

PS Grazie per le correzioni nella build 294, tutti i problemi precedentemente identificati sono stati risolti.

Cerchiamo nuovi )))

L'handle è un identificatore unico (di solito un numero) che identifica un particolare oggetto (un'istanza di una classe) per accedervi.

Un handle può anche identificare certi tipi di dati, ad eccezione dei dati semplici (anche se qui c'è una questione).


Questo termine è il più usato nell'API di Windows. Denota l'identificatore della risorsa assegnata dal sistema. Per esempio, se si apre un file, si ottiene l'handle del file aperto, se si carica una DLL, si ottiene l'handle con cui si possono eseguire alcune azioni con la DLL. Oggetti simili esistono in altri sistemi operativi API, per esempio in Linux. L'handle stesso (fisicamente) è un indice o puntatore agli oggetti di sistema del sistema operativo. Handle funge da identificatore dell'oggetto di sistema e viene passato come argomento quando vengono chiamate le funzioni API che eseguono azioni sull'oggetto di sistema. Ci sono anche funzioni che creano oggetti di sistema, come CreateFile nell'API di Windows o socket() in Linux. Tali funzioni restituiscono un handle come risultato del loro lavoro o un valore speciale, stipulato nella documentazione, se la chiamata della funzione non è stata eseguita con successo dal SO per qualche motivo.

In termini di linguaggio di programmazione (ad esempio, C), un handle è solo un tipo di dati (di solito un intero). Crearlo è banale come creare qualsiasi altro oggetto di un tipo esistente. Ma il significato di un handle è significativo solo nel contesto dei processi in esecuzione nel sistema operativo. In altre parole, un handle con valore 123456 sarà percepito come errato e il suo uso nelle funzioni API sarà inutile.

 

Agli sviluppatori

Per favore, prestate attenzione alla mia richiesta 18959 (non riesco a capire la logica degli swap, e non ottengo una risposta sensata). Per favore, ditemi se si tratta di un errore, di difficoltà temporanee o se sono un pazzo? Sono particolarmente interessato alla questione della maturazione degli swap al campionato...

Prestate attenzione anche alla mia richiesta19046 - c'è un problema con l'arrotondamento del prezzo di apertura per alcune operazioni (acquisto e taglio del volume della posizione).

 

Errori, MetaTrader 5 MQL, Aperto, Iniziato: 2010.07.20 09:38, #19056

Si prega di notare.

 

Buon pomeriggio...

insetti?

* Muovendosi nell'editor ctrl+TAB o andando a terminale-return, compilando con F7... non posso vedere il cursore del testo finché non clicco con il mouse sul nome di un file a schede...

*non posso fare RenameALL su alt+A... di nuovo devo usare il mouse... che non c'è... //lang eng

 
EQU:

Buon pomeriggio...

insetti?

* Muovendosi nell'editor ctrl+TAB o andando a terminale-return, compilando con F7... non posso vedere il cursore del testo finché non clicco sul nome del file nella scheda...

* Non posso fare RenameALL con alt+A... di nuovo devo usare il mouse... che non ho... //lang eng


1. Non in grado di ripetere. Lo spostamento con Ctrl+Tab, Ctrl+Shift+Tab funziona, ma il focus dell'input rimane nella finestra dell'editor. Forse ci sono delle particolarità di riproduzione?

2. cosa dovrebbe fare Alt+A? Se si sposta con modifica e sostituzione, si fa con Shift+Tab, Tab.