Erros, bugs, perguntas - página 2656

 
Andrey Khatimlianskii:

Dar detalhes para reprodução. Talvez alguém esteja interessado. Não há qualquer hipótese de isso acontecer.

Código, ferramenta, parâmetros de teste.

Já mencionei a ferramenta 2 vezes acima, como se pode ver na imagem. Qualquer código na secção de stock MOEX dá este resultado. Quaisquer configurações também, mas a equidade só é exibida correctamente quando o método de cálculo é alterado.
 
Andrey Khatimlianskii:

Dar detalhes para reprodução. Talvez alguém esteja interessado. Não há qualquer hipótese de isso acontecer.

Código, ferramenta, parâmetros de teste.

Por favor



 

Falta muito a capacidade de mudar o ponteiro do rato programático regular sem um dll.

Ou apenas a capacidade de desactivar a renderização do rato normal.

 

A ajuda para EventChartCustom () diz:

sparam

[parâmetro de evento do tipo string, passado para a função OnChartEvent. Se a corda tiver mais de 63 caracteres, a corda é truncada.

No entanto, um fio de 96 caracteres é passado com sucesso, será que algo mudou?

Aqui, encripto a corda e passo-a no caso, e descodifico-a com sucesso, a corda não é truncada como indicado na ajuda e isso é óptimo (primeira corda encriptada seguida de descodificada):

2020.02.26 14:36:10.949 iSpy (EURUSD,H1) 38CFD250C299F2420D5AFB1D070196F2F9246A164C2B1905C3921E466D6124306D836A2A09D4A06DD4B02FBDD1DE6857

2020.02.26 14:36:10.949 iSpy (EURUSD,H1) EURUSD:1.08753:1.0875:0.0:1582716971862:0.0

2020.02.26 14:36:16.391 iSpy (EURUSD,H1) 2588EC84729FA3BFE07B09BCB13832AF026A4F9DEA5634477EFF2C1FCAC355A35A67EDC5D5A8621570D3EBF80A7A942A

2020.02.26 14:36:16.391 iSpy (EURUSD,H1) EURUSD:1.08752:1.08749:0.0:1582716977068:0.0


Qual é a duração do fio que pode ser transferido no evento sem ficar truncado na realidade?


 
Andrey Dik:

A ajuda para EventChartCustom () diz:

sparam

[parâmetro de evento do tipo string, passado para a função OnChartEvent. Se a corda tiver mais de 63 caracteres, a corda é truncada.

No entanto, uma corda com 96 caracteres de comprimento é passada com sucesso, alguma coisa mudou?

128 bytes. São 127 uchar-characters, ou 63 ushort-characters.

 

Como implementar uma tal coisa na MQL:

#include <Controls\Button.mqh>

  class Collection
  {
    protected:
      int size;

    public:
      Collection(CWnd &refs[]) { size = ArraySize(refs); }
  };


void OnStart()
{
  CButton buttons[];
  CWnd wnd[];
  Collection data1(wnd);     // ok
  Collection data2(buttons); // error
  // 'buttons' - parameter conversion not allowed
  // 'buttons' - variable of the same type expected
}
?
 
fxsaber :

128 bytes. Trata-se de 127 caracteres uchar, ou 63 caracteres ushort.

Na realidade, isto é 160 bytes.


Arquivos anexados:
 
Stanislav Korotky:

Como implementar uma tal coisa na MQL:

?
Herdar os CButtons da CWnd
Ou são objectos de classes de biblioteca padrão?
Se cada um deles for herdado de um CObject, então:
Collection(CObject &refs[]) { size = ArraySize(refs); }
 

Caros programadores, é possível alterar as etiquetas UTM?


Ou pode colocar as etiquetas em ordem ?

utm_campaign=mt4terminal

utm_source=properties.indicator

utm_medium=nome_indicador

utm_term=indicatorVersion

utm_content=Ano


Agora as actuais etiquetas UTM não são informativas...

Finteza panel: website analytics and advertising management
Finteza panel: website analytics and advertising management
  • panel.finteza.com
Real-time unsampled analytical data, traffic attribution and quality evaluation, creation of conversion funnels and targeted advertising in apps and websites
 
Artyom Trishkin:
Herdar os CButtons da CWnd
Ou são objectos de classe padrão de biblioteca?
Se cada um deles for herdado de CObject, então:

É isso mesmo, a árvore de classe tem um nó comum CWnd (CObject está mais longe, geralmente na raiz).

CButton -> CWndObj -> CWnd -> CObject.

Se alterar o parâmetro no método para CObject, obtém 2 vezes mais erros:

'wnd' - parameter conversion not allowed
'wnd' - variable of the same type expected
'buttons' - parameter conversion not allowed
'buttons' - variable of the same type expected

Uma hierarquia de classes semelhante funciona para o caso não-radicalado. Aqui está o código compilado:

#include <Controls\Button.mqh>

  class Collection
  {
    protected:
      int size;

    public:
      Collection(CWnd &object) { size = 1; }
  };


void OnStart()
{
  CButton button1;
  CWnd wnd1;
  Collection data1(wnd1);     // ok
  Collection data2(button1);  // ok
}

A questão é como fazer com que funcione também para uma matriz?

Sei que um modelo ajuda, mas só quero evitá-lo.

IMHO, deve funcionar sem modelos por direito sucessório.

Verifiquei-o como em C++.

class CWnd
{
  public:
    int x;
    CWnd(int _x = 0): x(_x){}
};
class CButton: public CWnd
{
  public:
    CButton(): CWnd(10) {}
};

class Collection
{
  public:
    Collection(CWnd (&ptrs)[1]) { cout << ptrs[0].x; }
};


int main()
{
  CButton buttons[1];
  CWnd wnd[1];
  Collection data1(wnd);
  Collection data2((CWnd (&)[1]) buttons);
  return 0;
}

Funciona. Mas a MQL não a digere tanto com como sem o índice.