Errori, bug, domande - pagina 933

 
sion:
void OnInit()
{
uint as=iCustom(_Symbol,PERIOD_M10,"Examples\\CCI");
}

void OnTick()
{
}

L'errore si ripete?

Nella build 770, il grafico con m10 non appare, nella build precedente va bene.

Eh..., il broker ha aggiornato il terminale, è solo la visualizzazione che fa casino, o posso aspettarmi qualcosa?
 

Ciao, quando attacco l'indicatore al grafico ottengo

Violazione di accesso letto a 0x000000000000000001 in 'C:{File di programma\Alpari NZ MT5\MQL5\Indicators\indicators.ex5'

come faccio a gestirlo? costruire 770 64bit OS 7


Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - Документация по MQL5
 
kirill190982:

Ciao, quando attacco l'indicatore al grafico ottengo

Violazione dell'accesso letto a 0x000000000000000001 in 'C:\Program Files\Alpari NZ MT5\MQL5\Indicators\indicators.ex5'

Come posso risolvere questo problema? build 770 64bit OS 7


Pomeriggio .

Scrivete a servicedesk e allegate l'indicatore per favore. Grazie.

 

Salve.

Diciamo che c'è una classe che contiene diversi gruppi di pulsanti:

class CMyApp : public CAppDialog {
private:
   CButton m_digits[BUTTONS_QTY];
   CButton m_letters[BUTTONS_QTY];
   
public:
   CMyApp() {}
   ~CMyApp() {} 
   virtual bool Create(const long chart, const string name, const int subwin, 
                        const int x1, const int y1, const int x2, const int y2);
   virtual bool OnEvent(const int id, const long &lparam, const double &dparam, const string &sparam);
   bool CreateDigitButtons();
   bool CreateLetterButtons();
   void OnClickButton();
   void OnClickDigit(string text);
   void OnClickLetter(string text);
   
private:
   bool CreateButton(CButton &button, string name, string text, int x1, int y1, int x2, int y2);
};

I pulsanti sono raggruppati, perché quando si clicca su di essi, vengono eseguite alcune azioni simili. Il compito è quello di rilevare a quale gruppo di pulsanti appartiene e "inviarlo" al metodo appropriato che eseguirà determinate azioni a seconda del testo che si trova sul pulsante. Per semplificare al massimo le cose, supponiamo di dover semplicemente visualizzare il nome di un gruppo e un testo su un pulsante. E qui è dove diventa sconcertante - come otteniamo il testo del pulsante?

Al momento, il nome del pulsante ha un nome comune per un gruppo particolare + testo sul pulsante stesso. In altre parole: 1) da una sottostringa nel nome determino il gruppo a cui appartiene il pulsante, 2) passo nel metodo "next" di nuovo il nome, da cui "ottengo" il testo. Ma questa non è una soluzione ottimale, per usare un eufemismo. Più specificamente, il problema qui:

//---
bool CMyApp::OnEvent(const int id,const long &lparam,const double &dparam,const string &sparam) {
   if ( id == CHARTEVENT_CUSTOM ) {
      if ( StringFind(sparam, "Digit") >= 0 ) {
         // string text = ? (как получить текст на кнопке?)
         OnClickDigit(sparam); // вместо sparam надо бы передавать text
         return(true);
      } else if ( StringFind(sparam, "Letter") >= 0 ) {
         OnClickLetter(sparam); // аналогично случю выше - вместо sparam надо бы передавать text
         return(true);
      }
   }

   return(CAppDialog::OnEvent(id, lparam, dparam, sparam));  
}

Si prega di consigliare come risolvere il problema.

PS. Per sicurezza, allego il codice, in modo che, se necessario, si possa guardare "il tutto".

File:
 

Ciao a tutti!

Il codice semplice nel tester di strategia, in modalità di visualizzazione, invece di Zig_Zag si ottiene un miracolo nell'immagine (allegato).

A condizione che in CopyClose(_Symbol,PERIOD_H1... il periodo in questa funzione non sia uguale al periodo selezionato nella finestra del tester della strategia (se è uguale, allora tutto va bene, qual è la connessione?)

È un bug? E se è così, dove andare con questo nel service desk attraverso un messaggio privato (o qui il messaggio è sufficiente)?


input int      ExtDepth=13;
input int      ExtDeviation=5;
input int      ExtBackstep=3;

int zzHandle;      // хэндл индикатора ZigZag
//+------------------------------------------------------------------+
int OnInit()
  {
//--- Получить хэндл индикатора ZigZag
   zzHandle=iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep);  //Расчет индикатора ZigZag
//--- Нужно проверить, не были ли возвращены значения Invalid Handle
   if(zzHandle<0)
     {
      Alert("Ошибка при создании индикаторов - номер ошибки: ",GetLastError(),"!!");
     }
   return(0);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   double Last_Price_Close[];
   CopyClose(_Symbol,PERIOD_H1,0,1,Last_Price_Close);
  }
//+------------------------------------------------------------------+
File:
uvsf6r.jpg  406 kb
 
Fia:

Ciao a tutti!

Il codice semplice nel tester di strategia, in modalità di visualizzazione, invece di Zig_Zag si ottiene un miracolo nell'immagine (allegato).

A condizione che in CopyClose(_Symbol,PERIOD_H1... il periodo in questa funzione non sia uguale al periodo selezionato nella finestra del tester della strategia (se è uguale, allora tutto va bene, qual è la connessione?)

È un bug? E se è così, dove andare con questo nel service desk attraverso un messaggio privato (o qui il messaggio è sufficiente)?

...
In service desk hanno già un messaggio simile. Ma anche scrivere.
 
tol64:
C'è già un messaggio simile in Service Desk. Ma anche scrivere.
Grazie, l'ho appena fatto, forse lo sistemeranno prima...
 
Come faccio a cancellare uno screenshot caricato sul muro in modo anonimo, mostra i miei account...
 
vadynik:
Come faccio a cancellare uno screenshot caricato sul muro in modo anonimo, mostra i miei account...

Basta spostare il mouse sulla grafica desiderata e vedrete il comando "Delete".


 
Rone:

Salve.


Va più o meno così.
File: