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

 
int symbols=0;

und es besteht keine Notwendigkeit für ein Komma nach Manual

 

Guten Tag.

Wenn das Skript ausgeführt wird, schreibt es inDATEI_BIN. Während der Fehlersuche möchte ich überprüfen, was in diese Datei geschrieben wird.

Mit welchem Programm kann ich eine solche Datei öffnen?

 
sable57fx #:

Welche Software kann zum Öffnen einer solchen Datei verwendet werden?

Erstellen Sie ein Skript, das diese Datei liest und in die Terminalprotokolle schreibt
 
Aleksei Stepanenko #:
Erstellen Sie ein Skript, das diese Datei liest und in die Terminalprotokolle schreibt
Dies wird sicherlich geschehen, aber der Zweck besteht darin, visuell zu überprüfen, ob die Aufzeichnung korrekt ist.
 
sable57fx #:

Ein separates Skript hilft Ihnen zu sehen, was sich in der Tonne befindet. Zweite Möglichkeit: paralleles Schreiben einer csv-Datei, insbesondere zur Ansicht.

 
sable57fx #:

Guten Tag.

Wenn das Skript ausgeführt wird, schreibt es inDATEI_BIN. Während der Fehlersuche möchte ich überprüfen, was in diese Datei geschrieben wird.

Mit welchem Programm kann ich eine solche Datei öffnen?

Bevor Sie in die Datei schreiben, geben Sie das, was Sie schreiben wollen, in eine Variable ein und platzieren Sie sie in der Beobachtung. Anhand der schrittweisen Ausführung können Sie sehen, was geschrieben werden wird...

 
Danke, das werde ich.
 
Aleksei Stepanenko #:

und es besteht keine Notwendigkeit für ein Komma nach Manual

Dankeschön

 

Ich kann es nicht begreifen.


Meine Aufgabe sieht im Allgemeinen wie folgt aus.

Berechnen Sie den Preis (H+L)/2 unter der Bedingung, dass das Preisfeld mit dem Erscheinen neuer Balken wächst

- In Anbetracht der Tatsache, dass das Diagramm auf 3000 Balken begrenzt ist

   int start= this.m_rt - this.m_pc;//this.m_rt;
   datetime arr_time[];
   double arr_high[],arr_low[];
//--- устанавливает новый размер в первом измерении массива
   ArrayResize(this.m_pr_hl2,this.m_rt);
   ArrayResize(this.m_tim_pr_hl2,this.m_rt);
   ArrayResize(this.m_high,this.m_rt);
   ArrayResize(this.m_low,this.m_rt);
//--- функция получает в массив
   CopyTime(this.m_symbol, this.m_timeframe, this.m_rt-start, start, arr_time);
   CopyHigh(this.m_symbol, this.m_timeframe, this.m_rt-start, start, arr_high);
   CopyLow(this.m_symbol, this.m_timeframe, this.m_rt-start, start, arr_low);
//--- цена для расчета средних
// start= start>ArraySize(arr_high) ? ArraySize(arr_high) : start;
   for(int b= this.m_rt-start; b < this.m_rt; b++)
      this.m_pr_hl2[b]= (arr_high[b] + arr_low[b]) / 2;
//--- производит копирование одного массива в другой.
   ArrayCopy(this.m_tim_pr_hl2, arr_time, this.m_rt-start, this.m_rt-start);
   ArrayCopy(this.m_high, arr_high, this.m_rt-start, this.m_rt-start);
   ArrayCopy(this.m_low, arr_low, this.m_rt-start, this.m_rt-start);

Vier Tage Spinning und es funktioniert nicht!!! HILFE

 
Mikhail Toptunov #:

Ich kann es nicht begreifen.


Meine Aufgabe sieht im Allgemeinen wie folgt aus.

Berechnen Sie den Preis (H+L)/2 unter der Bedingung, dass das Preisfeld mit dem Erscheinen neuer Balken wächst

- In Anbetracht der Tatsache, dass das Diagramm auf 3000 Balken begrenzt ist

Vier Tage Spinning und es funktioniert nicht!!! HILFE

SBI scheint es zu schaffen.

void CNewBar::PriceHL2()
  {
   int start= this.m_rt - this.m_pc;//this.m_rt;
   datetime arr_time[];
   double arr_high[],arr_low[];
//--- устанавливает новый размер в первом измерении массива
   ArrayResize(this.m_pr_hl2,this.m_rt);
   ArrayResize(this.m_tim_pr_hl2,this.m_rt);
   ArrayResize(this.m_high,this.m_rt);
   ArrayResize(this.m_low,this.m_rt);
//--- флаг элементов массива будет производиться как в таймсериях.
   ArraySetAsSeries(arr_time,true);
   ArraySetAsSeries(arr_high,true);
   ArraySetAsSeries(arr_low,true);
//--- функция получает в массив
   CopyTime(this.m_symbol, this.m_timeframe, 0, start, arr_time);
   CopyHigh(this.m_symbol, this.m_timeframe, 0, start, arr_high);
   CopyLow(this.m_symbol, this.m_timeframe, 0, start, arr_low);
//--- цена для расчета средних
   for(int b= 1; b < start; b++)
      this.m_pr_hl2[this.m_rt-b]= (arr_high[b] + arr_low[b]) / 2;
//--- производит копирование одного массива в другой.
   ArrayCopy(this.m_tim_pr_hl2, arr_time, this.m_rt-start, 0, start);
   ArrayCopy(this.m_high, arr_high, this.m_rt-start, 0, start);
   ArrayCopy(this.m_low, arr_low, this.m_rt-start, 0, start);
  }