Fehler, Irrtümer, Fragen - Seite 1717

 

Es geht mir gut.

 

Hallo!

Ich habe ein seltsames Problem.

Ich zeichne eine normale Trendlinie zwischen den Schlusspunkten der beiden vorherigen Balken (auf jedem neuen Balken).

ObjectsDeleteAll(0," ",-1,-1);
ArrayInitialize(cclose,0);
ArrayInitialize(ttime,0);
CopyTime(Symbol(),0,1,2,ttime);
CopyClose(Symbol(),0,1,2,cclose);
price1=cclose[1];
time1=ttime[1];
price2=cclose[0];
time2=ttime[0];

Print("price1=",price1," time1=",time1," price2=",price2," time2=",time2);

//--- создадим трендовую линию по заданным координатам 
   if(!ObjectCreate(chart_ID,nname,OBJ_TREND,sub_window,time1,price1,time2,price2)) 
     { 
      Print(__FUNCTION__, 
            ": не удалось создать линию тренда! Код ошибки = ",GetLastError()); 
      return; 
     } 

In Echtzeit funktioniert alles einwandfrei. Im Visualisierungsmodus des Testers ist der linke Punkt der Linie jedoch an den Ursprung gebunden und bewegt sich überhaupt nicht. Was ist das Problem?

Z.U. In MT4 scheint dieses Problem nicht aufzutreten.

 
fxsaber:

Drehbuch

Ergebnis

Handelt es sich um einen Fehler? Ich hatte erwartet, dass ich uchar sehen würde.

Der minimale Operationstyp ist int, so dass alle Operanden eines kleineren Typs implizit in den Typ int umgewandelt werden.

Hilfe https://www.mql5.com/ru/docs/basis/types/casting

Die Datentypen char, uchar, short und ushort werden bei Operationen bedingungslos in int umgewandelt.
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Kravchenko:

Hallo!

Ich habe ein seltsames Problem.

Ich zeichne eine normale Trendlinie zwischen den Schlusspunkten der beiden vorherigen Balken (auf jedem neuen Balken).

In Echtzeit funktioniert alles einwandfrei. Aber im Visualisierungsmodus des Testers bleibt der linke Punkt der Linie am Anfang der Referenz hängen und bewegt sich nicht. Was ist das Problem, kann jemand es wissen?
Bitte geben Sie mir ein funktionierendes Mindestbeispiel, das kompiliert und ausgeführt werden kann. Außerdem benötigen Sie Informationen über das Betriebssystem, den Build und den Terminaltyp (nach dem Neustart des Terminals entnehmen Sie die ersten drei Zeilen der Registerkarte "Log").
 
Ilyas:

Der minimale Operationstyp ist int, so dass alle Operanden eines niedrigeren Typs implizit in den Typ int umgewandelt werden.

Referenzierung

Danke. Ist es korrekt, BATTERY-Operationen ohne Ghosts in C++ durchzuführen, wie in MQL5?
 
fxsaber:
Ich danke Ihnen. Erscheint es richtig, BATTERY-Operationen ohne Ghosts in C++ durchzuführen, genau wie in MQL5?
Ja, das ist genau dasselbe. Auch in reinem C.
 
Vladislav Andruschenko:

Es geht mir gut.

Danke, ich werde den Browser befragen.
 
Karputov Vladimir:
Bitte stellen Sie ein minimales funktionierendes Beispiel zur Verfügung, das kompiliert und ausgeführt werden kann. Außerdem benötigen Sie Informationen über Betriebssystem, Build und Terminaltyp (nach dem Neustart des Terminals entnehmen Sie die ersten drei Zeilen der Registerkarte "Log").

Es gibt ein Problem mit dem Beispiel. Der Shell-Bolzen selbst benötigt mehrere Dateien. Wenn ich heute Abend nach Hause komme, werde ich ein einfacheres machen.

WinXP SP3. Gebäude 1434

LE 0 14:55:39.873 Terminal MetaTrader 5 build 1434 gestartet (MetaQuotes Software Corp.)
DI 0 14:55:39.889 Terminal Microsoft Windows XP (X86 basierter PC), IE 08.00, Intel Pentium Dual E2200 @ 2.20GHz, RAM: 1150 / 2037 Mb, HDD: 74562 / 152625 Mb, GMT+07:00

LJ 0 14:55:39.889 Terminal C:\Programmdateien\MetaTrader 5

Z.U. Auf jeden Fall, okromo diese Manipulationen, die ich oben gab, nichts anderes getan wird. Wenn ein neuer Takt erkannt wird, wird alles gelöscht und eine neue Linie gezeichnet. Aber volles Beispiel für Kompilation werde ich tun.

 
Slawa:
Ja, das ist genau dasselbe. Auch in reinem C.
Ich danke Ihnen. Schade, dass sie auch historische Krücken haben.
 
Alexey Kravchenko:

Es gibt ein Problem mit dem Beispiel. Der Shell-Bolzen selbst benötigt mehrere Dateien. Wenn ich heute Abend nach Hause komme, werde ich ein einfacheres machen.

WinXP SP3. Gebäude 1434

LE 0 14:55:39.873 Terminal MetaTrader 5 build 1434 gestartet (MetaQuotes Software Corp.)
DI 0 14:55:39.889 Terminal Microsoft Windows XP (X86 basierter PC), IE 08.00, Intel Pentium Dual E2200 @ 2.20GHz, RAM: 1150 / 2037 Mb, HDD: 74562 / 152625 Mb, GMT+07:00

LJ 0 14:55:39.889 Terminal C:\Programmdateien\MetaTrader 5

Z.U. Auf jeden Fall, okromo diese Manipulationen, die ich oben gab, nichts anderes getan wird. Wenn ein neuer Takt erkannt wird, wird alles gelöscht und eine neue Linie gezeichnet. Aber volles Beispiel für Kompilation werde ich tun.

Wenn wir ein Beispiel haben, werden wir alles in einem Beitrag zusammenfassen: Problem, Beispiel, Daten des Betriebssystems und des Terminals.