Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1365

 

Was ist Ihrer Meinung nach die beste Berechnung?

//+------------------------------------------------------------------+
//| Расчет цены                                                      |
//+------------------------------------------------------------------+
int CNewBar::PriceHL2(void)
  {
   double pr;
   int res=ArrayResize(this.m_pr_hl2,this.m_rt);
   for(int b=this.m_rt-this.m_pc; b>0; b--)
     {
      pr=MathAbs((iHigh(this.m_symbol,this.m_timeframe,b) + iLow(this.m_symbol,this.m_timeframe,b))/2);
      m_pr_hl2[this.m_rt-b]=pr;//<0 ? NULL : pr;
     }
   return(res);
  }

Oder ist es besser, den Rückzug durch

int  CopyHigh( 
int  CopyLow( 
 
Kann der iCustom Indikator in der Web-Version des Terminals angezeigt werden?
 

Wie deklariert man eine Klasse, um d[].m[]; class public zu machen?

class CSMA_Greed : public CObject
  {
   CMAOnArray        chsma;
   struct SDoubleArray { double       m[];};
   string            m_symbol;
   ENUM_TIMEFRAMES   m_timeframe;
   int               m_max_period;
   int               rt,prv;
   double            temp;
   string            Symbol(void)         { return this.m_symbol;    }
public:
   SDoubleArray      d[];
                     CSMA_Greed(const string symbol,const ENUM_TIMEFRAMES timeframe,const int max_period);
                    ~CSMA_Greed(void){};
   void              Init(int MaxMAperiod);
   void              Solve(const int aRatesTotal,const int aPrevCalc,const double  &aData[]);
  };

Es stellt sich heraus, dass es ein Array gibt, aber ich kann es nicht herausbekommen

cg.d[1199].m[3720]
 

Interessant

Erstellt in OnInit()

   CNewBar *nb = new CNewBar(Symbol(), n_period);
      if(nb==NULL)
         continue;
      if(!list_new_bar.Add(nb))
        {
         delete nb;
         continue;
        }


Bitte sagen Sie mir, ob die Deklaration des Parameters in nachfolgenden Funktionen das System belastet

CNewBar* nb = list_new_bar.At(i);
      if(nb == NULL)
         continue;
 
Mikhail Toptunov #:

Interessant

Erstellt in OnInit()


Bitte sagen Sie mir, ob die Deklaration eines Parameters in nachfolgenden Funktionen das System belastet

Nein. In den nachfolgenden Funktionen wird kein neues Objekt erstellt, sondern nur ein Zeiger auf das bereits in OnInit() erstellte Objekt aus der Liste geholt.

 
Hallo. Wie kann ich eine Bedingung formulieren, um einen Handel in mql5 zu eröffnen? Bedingung: Der Preis hat sich in den letzten N Bars eines bestimmten Zeitrahmens nicht verändert.
 
Grüße!
Ich habe mich seit über drei Monaten nicht mehr in MetaTrader 5 eingeloggt (ich war auf einer Geschäftsreise und hatte keine Verbindung). Jetzt kann ich mich überhaupt nicht mehr bei meinem Konto anmelden.
Wie kann ich das Konto wieder nutzen? Oder zumindest Geld davon abheben?
 
knoughr #:

Irgendwo auf einem Stück Papier haben Sie die Website des Brokers, den Benutzernamen und das Passwort für Ihr persönliches Konto. Dies ist der Zettel, auf dem Sie bei der Anmeldung alle Informationen sorgfältig notiert haben. Sie haben doch eine, oder? Dann ist es ganz einfach - Sie können in Ihrem persönlichen Büro alles tun, was Sie tun müssen: Einzahlungen vornehmen, Abhebungen vornehmen, neue Konten eröffnen, das Passwort für alte Konten ändern.

Und wenn du dich nicht versteckst - wer versteckt sich nicht - ist das nicht meine Schuld.
 

Kann Ihnen jemand sagen, wie man den maximalen oder minimalen Wert in einem Array zu finden, wenn das Array leere Werte alsEMPTY_VALUE definiert hat.


Diese Funktion funktioniert also nicht.

//+------------------------------------------------------------------+
//| Получим High для заданного номера бара                           |
//+------------------------------------------------------------------+
double CNewBar::iHighMax(int ot,int bands)
  {
   double result=-1;
   result=m_ExtLowerBuffer[ArrayMaximum(m_ExtLowerBuffer,ot,bands)];
   return(result);
  }

Wenn ich EMPTY_VALUE in NULL ändere, funktioniert es auch nicht.

Vielleicht gibt es eine einfachere Lösung für das System, ansonsten werde ich versuchen, das chinesische Rätsel zu lösen).

Vielen Dank im Voraus, liebe Leute.

 
Mikhail Toptunov #:

Kann jemand vorschlagen, wie man den maximalen oder minimalen Wert in einem Array zu finden, wenn das Array leere Werte alsEMPTY_VALUE definiert hat.


Diese Funktion funktioniert also nicht.

Wenn ich EMPTY_VALUE in NULL ändere, funktioniert es auch nicht.

Vielleicht gibt es eine einfachere Lösung für das System, ansonsten werde ich versuchen, das chinesische Rätsel zu lösen).

Vielen Dank im Voraus, liebe Leute.

Soweit ich verstanden habe, müssen Sie den maximalen Indikatorwert finden, der niemals gleich Null sein wird.

Ich hasse NULL und wende bei numerischen Werten immer 0,0 an, was nie scheitert.