Fehler, Irrtümer, Fragen - Seite 1704

 
Stanislav Korotky:
So sollte es sein, sind Sie nicht verwirrt? Sie haben einen geschützten Bezeichner, der Methoden als in Nachkommen verfügbar definiert.
Bei der geschützten Vererbung werden die öffentlichen Methoden der Basisklasse in der abgeleiteten Klasse geschützt.
 
Sergei Vladimirov:
Bei der geschützten Vererbung werden die öffentlichen Methoden der Basisklasse in der abgeleiteten Klasse geschützt.
Ganz genau. Geschützte Zugänge in der abgeleiteten.
 
Stanislav Korotky:
Ganz genau. Geschützte Zugriffe in einem Derivat.
Nun, rufen Sie eine geschützte Methode von einem Objekt aus auf.
 
Alexey Kozitsyn:
Ja, was eine Klasseninstanz nach dem Punkt hat und was die Klasse selbst nach diesem Punkt hat.

Kurz gesagt, etwa so:


Es ist gut, wenn Sie die Namen der Methoden kennen. Und wenn Sie das nicht tun? Eine Datei öffnen und sehen, was sie enthält?

Vielleicht finden es einige Leute bequem, aber kaum jemand...

 
Artyom Trishkin:

Hat die Tastenkombination Strg+Leertaste jemals eine Liste der verfügbaren Methoden angezeigt?

Strg+Leertaste funktioniert wie immer, ebenso wie Strg+Umschalt+Leertaste, und sie wurden nicht unterbrochen.

Es sind die Intelligenzen nach dem Punkt, die nicht funktionieren.

Die Liste der Mitglieder öffnet sich nach dem Punkt. Build 1430.
 
Artyom Trishkin:

Kurz gesagt, etwa so:


Es ist gut, wenn Sie die Namen der Methoden kennen. Und wenn Sie das nicht tun? Öffnen Sie die Datei und sehen Sie nach, was sie enthält?

Das mag für jemanden bequem sein, aber ich glaube nicht, dass viele...

Warum im Bereich der globalen Variablen? Dort sollte sie logischerweise gar nicht geöffnet werden, weil sie nicht benötigt wird.

Probieren Sie es zum Beispiel in OnTick aus.

 
Alexey Volchanskiy:

Und warum im Bereich der globalen Variablen? Logischerweise sollte sie sich dort gar nicht öffnen, denn es gibt keinen Grund, sie zu öffnen.

versuchen Sie es zum Beispiel in OnTick

Es macht keinen Unterschied. Es ist überall dasselbe.
 

Hier ist ein Array

array = 0|-5|-14|49|35|-7|-15|48|36|99|67|70|90|107|170|233|296|269|243|237|223|220|200|196|195|199|262|265|298|

Wie findet man den maximalen Drawdown?

Anfangswert 0 !
 
Dumm. Können Sie mir sagen, warum ich das nicht tun kann?
class A
{
};

class B
{
  A* Data[];
  
  B()
  {
    ArrayResize(this.Data, 1);
  }

  A* operator []( const int Pos )
  {
    return(this.Data[Pos]);
  }
  
  void Init()
  {
    A* a = this[0];
    a = new A; // так работает
    
    this[0] = new A; // а так - нет
  } 
};
 
Itum:

Hier ist ein Array

array = 0|-5|-14|49|35|-7|-15|48|36|99|67|70|90|107|170|233|296|269|243|237|223|220|200|196|195|199|262|265|298|

Wie findet man den maximalen Drawdown?

Anfangswert ist 0 !
double MIDD(double& fEquity[])
{
        double fMaxEquity = 0;
        double fMIDD = 0;
        
        for(int i = 0; i < ArraySize(fEquity); i++)
        {
                fMaxEquity = MathMax(fMaxEquity, fEquity[i]);
                fMIDD = MathMax(fMIDD, fMaxEquity - fEquity[i]); // это в деньгах,
                                                                 // если нужно в процентах, то так:
                fMIDD = MathMax(fMIDD, (fMaxEquity - fEquity[i]) / fMaxEquity * 100);
        }
        
        return fMIDD;
}
fEquity[] ist Ihr Array.