Erros, bugs, perguntas - página 933

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

void OnTick()
{
}

O erro é repetido?

Na construção 770, o gráfico com m10 não aparece, na construção anterior está bem.

Eh...., o corretor actualizou o terminal, é apenas a visualização que está a estragar tudo ou posso esperar alguma coisa?
 

Olá ao anexar o indicador ao gráfico que recebo

Violação de acesso lido a 0x000000000000000001 em 'C:{Program Files\Alpari NZ MT5\MQL5\Indicators\Indicators.ex5'.

como lidar com isso? construir 770 64bit OS 7


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

Olá ao anexar o indicador ao gráfico que recebo

Violação de acesso lido em 0x000000000000000001 em 'C:\Program Files\Alpari NZ MT5\MQL5\Indicators\Indicators.ex5'.

Como posso resolver isto? construir 770 64bit OS 7


Tarde .

Escreva para Servicedesk e anexe o indicador, por favor. Obrigado.

 

Olá.

Digamos que há uma classe que contém vários grupos de botões:

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);
};

Os botões são agrupados, porque quando se clica neles, algumas acções semelhantes são executadas. A tarefa é detectar a que grupo de botões pertence e "enviá-lo" para o método apropriado que executará certas acções dependendo do texto que estiver no botão. Para simplificar as coisas até ao limite, suponha que simplesmente precisamos de exibir um nome de grupo e um texto num botão. E é aqui que fica desconcertante - como é que obtemos o texto do botão?

Neste momento, o nome do botão tem um nome comum para um determinado grupo + texto no próprio botão. Por outras palavras: 1) por um substrato no nome ao qual eu determino o grupo a que pertence o botão, 2) passo no método "seguinte" o nome novamente, do qual eu "recebo" o texto. Mas esta não é uma solução óptima, para o dizer de forma suave. Mais especificamente, o problema aqui:

//---
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));  
}

Por favor, aconselhar como resolver o problema.

PS. Só por precaução, estou a anexar o código, para que, se necessário, se possa ver "tudo".

Arquivos anexados:
 

Olá a todos!

O código simples no testador de estratégia, em modo de visualização, em vez de Zig_Zag, obtém-se um milagre na imagem (em anexo).

Desde que em CopyClose(_Symbol,PERÍODO_H1... o período nesta função não seja igual ao período seleccionado na janela do testador de estratégias (se for igual, então tudo está bem, qual é a ligação?)

É um insecto? E se sim, onde ir com isto no balcão de serviço através de uma mensagem privada (ou aqui a mensagem é suficiente)?


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);
  }
//+------------------------------------------------------------------+
Arquivos anexados:
uvsf6r.jpg  406 kb
 
Fia:

Olá a todos!

O código simples no testador de estratégia, em modo de visualização, em vez de Zig_Zag, obtém-se um milagre na imagem (em anexo).

Desde que em CopyClose(_Symbol,PERÍODO_H1... o período nesta função não seja igual ao período seleccionado na janela do testador de estratégias (se for igual, então tudo está bem, qual é a ligação?)

É um insecto? E se sim, onde ir com isto no balcão de serviço através de uma mensagem privada (ou aqui a mensagem é suficiente)?

...
No balcão de serviço já tem uma mensagem semelhante. Mas escreva também.
 
tol64:
Já existe uma mensagem semelhante no Service Desk. Mas escreva também.
Obrigado, acabei de o fazer, talvez eles o consertem mais cedo.
 
Como eliminar uma imagem de ecrã carregada na parede anonimamente, mostra as minhas contas...
 
vadynik:
Como eliminar uma imagem de ecrã carregada na parede anonimamente, mostra as minhas contas...

Basta mover o seu rato para o gráfico desejado e verá o comando "Delete".


 
Rone:

Olá.


É algo parecido com isto.
Arquivos anexados: