Fehler, Irrtümer, Fragen - Seite 2624

 
Михаил:

Ich suche nicht oft nach Pfeilcodes, aber sie sind in der Hilfe unglaublich schwer zu finden!

Es ist eine Tabelle mit Sternchen, Kreisen usw.

Und die Suche ergibt alles andere als das Richtige!

Wingdings
 

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Bibliotheken: HistoryTicks

fxsaber, 2020.01.09 14:43

Ich habe nicht bemerkt, dass die KB-Version alt ist. Leider gibt es keine Möglichkeit zur Aktualisierung. Die KB-Maschine gibt folgendes an
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(110,14) : error 165: 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(172,14) : error 165: 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(110,14) : error 165: 'ArrayResize_Real' - function already defined and has body
MQL4\Include\fxsaber\HistoryTicks\ArrayResize.mqh(172,14) : error 165: 'ArrayResize_Real' - function already defined and has body
Alles wird in ME ohne Fehler kompiliert.
 
Stanislav Korotky:

Warum in Zeile 3:

Warnung "Zeichen nicht übereinstimmend"?

Datetime soll eine vorzeichenlose Zahl sein (8 Bytes wie ulong). Nennen Sie mir ein Beispiel für ein negatives Datum.

wahrscheinlich weil es keinen separaten Zeitstempeltyp gibt und datetime auch zur Speicherung der Zeitdifferenz verwendet wird
 
Können Sie mir sagen, welches Ereignis (wenn überhaupt) im Prüfgerät erzeugt wird, wenn die Schaltfläche "Stop" gedrückt wird?
 
Ich weiß nicht, wie ich eine bessere Verbindung wiederherstellen kann, und ein Kontowechsel hilft auch nicht.
Dateien:
Mc3FTItT2F8.jpg  18 kb
 

Bei der Anwendung vonChartSetSymbolPeriod imOnInit-Indikator während des Debuggens auf aktuelle Daten gibt es eine seltsame Sache - in OnTick() rates_total von alten TF, und Arrays von Zeitreihen von neuen:

datetime shift,arr[],arr2[];
void OnInit()
  {
 if (ChartPeriod()!=PERIOD_D1)
 {
     ChartSetSymbolPeriod(0,Symbol(),PERIOD_D1);
     CopyTime(Symbol(),PERIOD_D1,0,iBars(Symbol(),PERIOD_D1),arr);     
     ChartRedraw();
     Sleep(100);
  }  
 CopyTime(Symbol(),PERIOD_H1,0,iBars(Symbol(),PERIOD_H1),arr2); 
  }

Hier sehen wir Time[x] von Daytime undrates_total von H1, wobei die TF des Charts im Debugger-Fenster auf Daytime geändert wurde.


 
Aleksey Mavrin:

Bei der Anwendung vonChartSetSymbolPeriod imOnInit-Indikator während des Debuggens auf aktuelle Daten gibt es eine seltsame Sache - in OnTick() rates_total von alten TF, und Arrays von Zeitreihen von neuen:

Hier sehen wir Time[x] von Daytime undrates_total von H1, wobei die TF des Charts im Debugger-Fenster auf Daytime geändert wurde.


Wenn Sie den Zeitrahmen wechseln, wird der Indikator komplett neu erstellt. D.h. der vorherige Indikator-Handle wird gelöscht und der neue erstellt.
Aber es gibt ein "aber". Der vorherige Indikator ist noch einige Zeit vorhanden.

Ist das nicht der Grund...

 
Aleksey Mavrin:

Bei der Anwendung vonChartSetSymbolPeriod imOnInit-Indikator während des Debuggens auf aktuelle Daten gibt es eine seltsame Sache - in OnTick() rates_total von alten TF, und Arrays von Zeitreihen von neuen:

Hier sehen wir Time[x] von Daytime undrates_total von H1, wobei die TF des Charts im Debugger-Fenster auf Daytime geändert wurde.

IndikatorFreigabe

Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
Документация по MQL5: Доступ к таймсериям и индикаторам / IndicatorRelease
  • www.mql5.com
//|                                        Test_IndicatorRelease.mq5 | //|                        Copyright 2010, MetaQuotes Software Corp. | //|                                             https://www.mql5.com | //| Expert initialization function                                   |...
 
Artyom Trishkin:

Wenn sich der Zeitrahmen ändert, wird der Indikator komplett neu erstellt. Das bedeutet, dass der vorherige Indikator-Handle gelöscht und der neue erstellt wird.
Aber es gibt ein "aber". Der vorherige Indikator ist noch einige Zeit vorhanden.

Ist das nicht der Grund...

Ja, wie ich aus meinen Experimenten verstanden habe,wird nachChartSetSymbolPerioddas OnInit abgeschlossen und einmal (zumindest im Debug-Modus) OnCalculate ausgeführt (in diesem Moment wird es abgefangen). Das heißt, dass sie den Online-Betrieb nicht beeinträchtigt.

Die Tatsache, dass in OnCalculate Daten aus unterschiedlichen Zeiträumen ankommen können, ist meiner Meinung nach nur ein Fehler.

 
Ist dies ein Fehler in ArraySwap?
void OnStart()
{
  int ArrayStatic[1];
  int ArrayDynamic[];
  
  ArrayResize(ArrayDynamic, ArraySize(ArrayStatic));
  
  Print(ArraySwap(ArrayStatic, ArrayDynamic)); // false
}
Grund der Beschwerde: