Fehler, Irrtümer, Fragen - Seite 2171

 
Anton Ohmat:


ENUM_POSITION_TYPE pos_type = PositionGetInteger (POSITION_TYPE);

Swears implict enum conversation, was habe ich falsch gemacht? (Ich verstehe das Wesen des Fehlers, kann er irgendwie anders ausgeführt werden?)

ENUM_POSITION_TYPE pos_type = (ENUM_POSITION_TYPE)PositionGetInteger (POSITION_TYPE);
 
Alain Verleyen:
Ich danke Ihnen!!!
 

Warum zeigt das Terminal einen anderen Preis für dasselbe Objekt in horizontaler Lage an?


 
Können Sie mir sagen, wie ich den Mindeststopp für SymbolInfoDouble erhalte - ich kann nicht finden, wonach ich hier in der Hilfe fragen muss
 
Anton Ohmat:
Bitte beraten Sie mich, wie man den minimalen Stoppwert für SymbolInfoDouble erhält - ich kann es nicht in der Hilfe finden, was genau sollte hier angefordert werden

Sie sollten in SymbolInfoInteger nachsehen. Wenn Sie eine Null und eine Fehlermeldung erhalten, gehen Sie zum Thema "Fragen für Anfänger" und dort finden Sie folgende Hinweise.

SYMBOL_TRADE_STOPS_LEVEL

Mindestrückschritt vom aktuellen Schlusskurs, um eine Stop-Order zu platzieren

int

 
Aleksey Vyazmikin:

Warum zeigt das Terminal unterschiedliche Preise für dasselbe Objekt in horizontaler Position an?


Der Tooltip zeigt die aktuelle Position des Mauszeigers an, nicht die Ebene des grafischen Objekts.

Der Tooltip wird nicht angezeigt, wenn der Cursor genau auf einem Objekt positioniert ist, sondern wenn der Abstand weniger als 5 Pixel beträgt

 
Slava:

Der Tooltip zeigt die aktuelle Position des Mauszeigers an, nicht die Ebene des grafischen Objekts.

Der Tooltip erscheint nicht bei der genauen Positionierung des Cursors auf einem Objekt, sondern bei einem Abstand von weniger als 5 Pixeln

Aber was nützt das dem Händler? Es ist viel nützlicher, den Preis zu kennen, zu dem sich das Objekt befindet...

 

Ich möchte verstehen, ob das Verhalten korrekt ist

Die Hauptdatei heißt TEST.mq5 und hat eine Definitionsdatei, die in der Plugdatei "test_file_.mqh" verwendet wird.

//+------------------------------------------------------------------+
#define   file   __FILE__ 
#include  "test_file_.mqh"
//+------------------------------------------------------------------+
int OnInit()
  {
   Print(func());
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
  }
//+------------------------------------------------------------------+

Die Plugin-Datei gibt einfach zurück, was in der Definition enthalten ist.

//+------------------------------------------------------------------+
//|                                                   test_file_.mqh |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+

string func()
{
return file;
}

Ich hatte erwartet, dass der Name der Hauptdatei TEST.mq5 zurückgegeben wird, da das Makro ganz am Anfang des Codes in der Hauptdatei deklariert ist.

Ich habe den Dateinamen erwartet, in dem das Define deklariert ist.


Es liefert jedoch den Wert aus der Include-Datei test_file_.mqh und den Wert test_file_.mqh.

Ist das richtig?


In der Hilfe heißt es "Name der aktuellen kompilierten Datei", die Hauptdatei ist auch die aktuelle Datei.

 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

MetaTrader 5 Build 1700 Beta-Plattform: Projekte in MetaEditor und synthetische Werkzeuge

Aleksey Vyazmikin, 2018.03.22 01:35

Bitte um Hilfe!

Ich erhalte eine Fehlermeldung:

2018.03.22 03:29:06.834 Synthetisches Symbol Si-Test: kann Symbol "Si" nicht finden

Zur Formel "Si-9.18"-"Si-6.18" - was mache ich falsch?

 
Vladimir Pastushak:

Ich möchte verstehen, ob das Verhalten korrekt ist

Die Hauptdatei heißt TEST.mq5 und hat eine Definitionsdatei, die in der Plugdatei "test_file_.mqh" verwendet wird.

Die Plugin-Datei gibt einfach zurück, was in der Definition enthalten ist.

Ich hatte erwartet, dass der Name der Hauptdatei TEST.mq5 zurückgegeben wird, da das Makro ganz am Anfang des Codes in der Hauptdatei deklariert ist.

Ich habe den Dateinamen erwartet, in dem das Define deklariert ist.


Es liefert jedoch den Wert aus der Include-Datei test_file_.mqh und den Wert test_file_.mqh.

Ist das richtig?


In der Hilfe heißt es "Name der aktuellen kompilierten Datei", die Hauptdatei ist auch die aktuelle Datei.

Dieses Verhalten erscheint mir logisch, denn im Define ersetzen Sie die Variable durch das Makro __FILE__, das innerhalb der Include-Datei unabhängig ersetzt und berechnet wird.

So funktioniert es:

//+------------------------------------------------------------------+
string main_file_name=__FILE__;
#define  file main_file_name
#include  <test_file_.mqh>
//+------------------------------------------------------------------+
int OnInit()
  {
   Print(func());
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
  }
//+------------------------------------------------------------------+