Fehler, Irrtümer, Fragen - Seite 1018

 
A100:
Funktioniert nicht zu handelsfreien Zeiten. Was steht uns im Weg?

Sind Sie sich bei den Parametern sicher?

Beide Beispiele sehen falsch aus:

ChartGetInteger( chart_ID, CHART_BRING_TO_TOP, 0, true )  - последний параметр должен быть long&, а не bool
ChartGetInteger( chart_ID, CHART_BRING_TO_TOP, true )     - последний параметр должен быть номер подокна, а не bool

Sieht aus wie verwechselt mit ChartSetInteger?

 
Renat:

Sind Sie sich bei den Parametern sicher?

Beide Beispiele sehen falsch aus:

Es sieht aus wie mit ChartSetInteger verwechselt?

Ja, tut mir leid, falsch übersetzt von meinem Code - funktioniert nicht bei Nicht-Handelszeit
bool bringToTop = true;
ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, 0, bringToTop ) 
ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, true )
//этим хотел показать что пробовал оба варианта
ChartGetInteger und sollte nicht funktionieren, weil CHART_BRING_TO_TOP- nur schreiben. Ich werde die Anwendung auf ServiceDesk korrigieren
 

Ich mache ein Retracement (mit einer Pause von 5000) für alle Charts:

a) (gestern) Nicht-Handelstag - keine Reaktion - beim Entladen geht das Skript zum 1. Chart, auch wenn das Skript nicht von diesem gestartet wurde

b) jetzt - alles funktioniert richtig

Wenn nötig - ich werde den Code anhängen - eine einfache Schleife - GetLastError - keine Fehler

 

Ich weiß nicht, wie wichtig das ist, aber

ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, true )
ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, false )
jetzt (zur Handelszeit) auf die gleiche Weise funktionieren - das Diagramm wird über die anderen gelegt
 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

Renat, 2013.07.22 09:22

Sind Sie sich bei den Parametern sicher?

Beide Beispiele sehen falsch aus:

ChartGetInteger( chart_ID, CHART_BRING_TO_TOP, 0, true )  - последний параметр должен быть long&, а не bool
ChartGetInteger( chart_ID, CHART_BRING_TO_TOP, true )     - последний параметр должен быть номер подокна, а не bool

Sieht aus wie verwechselt mit ChartSetInteger?

Wenn sich mein Fehler bestätigt und die Änderungen vorgenommen werden - bitte ich auch zu bedenken, CHART_BRING_TO_TOP nicht nur schreibend, sondern auch lesend zu machen , wie Sie durch ChartGetInteger geschrieben haben .
long ChartID()
kann in diesem Fall nicht helfen, da letzteres streng genommen nicht die aktuelle Auswahl zurückgibt, sondern die, von der aus das Skript läuft. Und während das Skript ausgeführt wird, kann der Benutzer das aktuelle Skript ändern.
 
MetaDriver:

Nur viele, viele .mqh und eine ausführbare .mq5, sonst nichts.

Lassen Sie mich hinzufügen. Der Vorteil des absoluten, modularen Ansatzes gegenüber dem relativen besteht darin, dass im Falle von
Print( __FUNCTION__, __FILE__ )

Wenn es nur ein .ex5-Modul gibt, ist nicht klar, nach welchem der vielen .mqh-Module man suchen muss, was angesichts des großen Umfangs des Codes einen großen Unterschied macht.

Bitte fragen Sie auch die Entwickler:

Ist es möglich, eine zusätzliche vordefinierte Makrosubstitution__MODULE__ einzuführen , analog zu __FILE__ - nur ohne die Endung .mq5?

Dies ist erforderlich, um einen Ausdruck der folgenden Form zu kompilieren: __MODULE__::f()

Dies wird häufig während der Entwicklung verwendet, um Dateinamen zu ändern und Funktionen von Modul zu Modul zu übertragen.

 
A100:
Ich möchte hinzufügen. Der Vorteil des absoluten modularen Ansatzes gegenüber dem relativen besteht darin, dass er sich aus

es ist nicht klar, in welchem Modul die Funktion zu suchen ist, und wenn es nur eine .ex5 gibt, ist nicht klar, in welcher .mqh, was bei einem umfangreichen Code einen großen Unterschied macht.

Du bist im Delirium, Bruder.

h1.mqh :

string GetH1()
{
  return  "Файл: "+__FILE__+"   Функция: "+__FUNCTION__;
}

h2.mqh :

string GetH2()
{
  return  "Файл: "+__FILE__+"   Функция: "+__FUNCTION__;
}

PrintTest, mq5 :

#include "h1.mqh"
#include "h2.mqh"

void OnStart()
  {
   Print( "Файл: "+__FILE__+"   Функция: "+__FUNCTION__);
   Print(GetH1());
   Print(GetH2());
  }
//+------------------------------------------------------------------+

Ergebnis:

2013.07.22 14:40:17 PrintTest (EURUSD,M1) Datei: h2.mqh Funktion: GetH2
2013.07.22 14:40:17 PrintTest (EURUSD,M1) Datei: h1.mqh Funktion: GetH1
2013.07.22 14:40:17 PrintTest (EURUSD,M1) Datei: PrintTest.mq5 Funktion : OnStart

---

Ziehen Sie bitte eine Schlussfolgerung für sich selbst: "Bevor Sie grandiose verschachtelte Defines entwickeln, sollten Sie verstehen, wie der Präprozessor tatsächlich funktioniert".

Viel Glück für Sie!

Dateien:
h1.mqh  1 kb
h2.mqh  1 kb
PrintTest.mq5  1 kb
 
MetaDriver:

Bitte schlussfolgern Sie: "Bevor Sie grandiose, mehrfach verschachtelte Defines entwerfen, ist es eine gute Idee zu verstehen, wie der Präprozessor tatsächlich funktioniert.

Sie müssen mehr über den Bauplatz und die Materialeigenschaften lernen, um starke und komfortable Strukturen zu bauen.

Ihr Verstand ist sehr ausgeklügelt und durchdacht, aber wenn Sie ihn mit Ihren eigenen voreiligen Schlussfolgerungen füttern, sind Sie dazu verdammt, oft die falschen Entscheidungen zu treffen.

 
MetaDriver:

Ihr Verstand ist sehr ausgeklügelt und durchdacht, aber wenn Sie ihn mit Ihren eigenen voreiligen Schlussfolgerungen füttern, sind Sie dazu verdammt, oft die falschen Entscheidungen zu treffen.

Darf ich mich deinem Padawan anschließen? :)
 
TheXpert:
Darf ich mich deinem Padawan anschließen? :)

Gibt es Geld? :))

--

Aber machen wir keine Witze:

Es ist schade, dass es in diesem Forum fast keine Threads gibt, die sich mit der sinnvollen Strukturierung von Programmen befassen. Eine harmonische Struktur ist der Schlüssel zur problemlosen Entwicklung großer Systeme.

Wie kann man Menschen ermutigen, über solche Dinge zu sprechen?