Fehler, Irrtümer, Fragen - Seite 1778

 
Evgeny Chernyshev:
Guten Tag!

Dies ist ein Standardverhalten. Der Countdown beginnt mit dem aktuellen Takt, der sich im Aufbau befindet. Dementsprechend wird beim Erscheinen eines neuen Balkens, wenn kein automatischer Bildlauf stattfindet, seine Nummer um eins erhöht.
Ok, dann fügen Sie bitte irgendwo in der Dokumentation hinzu, dass es sich nicht um den "ersten sichtbaren Balken" handelt, sondern um den ersten Balken ab dem aktuellen (unvollendeten) Balken.
 

Fehler bei der Ausführung als Folge der Kompilierung

#define MACRO( x )      #x
void OnStart()
{
        Print( MACRO( "1\0" )); //равносильно Print( "\"1\\0\"" );
}

Ergebnis: 1

Erwartet: "1\0".

2 Fehler: Anführungszeichen fehlen " und falsch interpretiertes \-Zeichen

und dann

void OnStart()
{
        Print( MACRO( 1\0 )); //Error: '\' - illegal escape sequence
}
Kompilierzeitfehler, während das erwartete Ergebnis "10" war.
 
Vladislav Andruschenko:

Ja, aber das kann man den Kunden nicht erklären, oder?

Stellen Sie sich vor, der Experte arbeitet, er funktioniert, Sie gehen schlafen, Sie gehen schlafen, Sie wachen auf und der Experte funktioniert nicht, warum?

Es ist hilfreich, mit einer kurzen Verzögerung neu zu starten, etwa so:

int err=-1;
      int count=5;
      {while((err!=0)&&(count>0))
      {
         ResetLastError();
         EventSetMillisecondTimer(MSTimerSet);                    //Установка таймера XXX миллисекунд
         err=GetLastError();
         Print("EventSetMillisecondTimer n=",count," err >>",err);
         {if(err!=0){Sleep(50);}}
      }}//while((err!=0)&&(count>0))
 
Yury Kirillov:

Es ist hilfreich, mit einer leichten Verzögerung neu zu starten:

int err=-1;
      int count=5;
      {while((err!=0)&&(count>0))
      {
         ResetLastError();
         EventSetMillisecondTimer(MSTimerSet);                    //Установка таймера XXX миллисекунд
         err=GetLastError();
         Print("EventSetMillisecondTimer n=",count," err >>",err);
         {if(err!=0){Sleep(50);}}
      }}//while((err!=0)&&(count>0))
Ich habe die Erfahrung gemacht, dass sich der Timer aufhängt, wenn das Internet nicht funktioniert. Das Terminal friert ein und der Timer hängt sich auf. Das heißt, es kann sich ohne Grund aufhängen. Wenn das Internet langsam ist.

Also habe ich es anders gemacht, nämlich. Der Timer läuft in einem Tick.
 

Fehler bei der Ausführung

typedef void (*fn)();
class A { public:
        fn a;
};
class B : public A { public:
        void a() { Print( __FUNCSIG__ ); }
};
void OnStart()
{
        B b;
        b.a();
}

Ergebnis: Ungültiger Funktionszeigeraufruf; die Ausführung von B::a() wurde erwartet

und hier -> Kompilierfehler

typedef void (*fn)( int );
class A { public:
        fn a;
};
class B : public A { public:
        void a() { Print( __FUNCSIG__ );  }
};
void OnStart()
{
        B b;
        b.a(); //Error: 'a' - wrong parameters count
}
 
MT4 überspringt Benutzerereignisse in Paketen. Ist dies eine Funktion oder ein Fehler?
 
Andrey Dik:
MT4 überspringt Benutzerereignisse in Paketen. Ist dies ein Fehler oder ein Bug?


Ich habe gerade das Dashboard überprüft - alles ist in Ordnung, alle Ereignisse funktionieren einwandfrei.

 
Vladislav Andruschenko:

gerade auf dem Armaturenbrett überprüft - alles ist OK, alle Ereignisse funktionieren normal

Ich habe Spione auf einigen Symbolen laufen lassen und der EA erhält Ereignisse von diesen Spionen, wenn die Ticks eintreffen. Auf MT5 haben alle Ereignisse Zeit zu kommen, aber auf MT4 kann ich sehen, friert manchmal für eine Sekunde oder mehr.
Es läuft nichts Schwerwiegendes, eine Karte ist geöffnet.
 
Ich kann keinen angemessenen Wert für die zur Eröffnung einer Position erforderliche Marge ermitteln. Ich erhalte den gleichen Wert für alle Symbole, verschiedene Broker haben unterschiedliche Werte, einer zeigt 0.0 für alle Symbole, ein anderer zeigt 100000.0.

Was ist mit MT4 los? Win 10 64, MT4 build 1031

dabei:

void OnStart()
{
  Print(MarketInfo (Symbol (), MODE_MARGININIT));
  Print(MarketInfo (Symbol (), MODE_MARGINMAINTENANCE));
  Print(MarketInfo (Symbol (), MODE_MARGINHEDGED));
  Print(MarketInfo (Symbol (), MODE_MARGINREQUIRED));
  Print(SymbolInfoDouble (Symbol (),SYMBOL_MARGIN_INITIAL));
}
Entweder ist MT4 total verkorkst, oder ich bin völlig ungebildet und verstehe MT4 nicht mehr.

Hier sind die Werte von 2 Brokern erhalten:


2017.01.31 22:15:59.312 Script MarginReq AUDCHF,M15: entfernt
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: uninit Grund 0
2017.01.31 22:15:59310 MarginReq AUDCHF,M15: 0.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 1000.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 100000.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 0.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 0.0
2017.01.31 22:15:59.309 MarginReq AUDCHF,M15: initialisiert
2017.01.31 22:15:59.300 MarginReq AUDCHF,M15 inputs: Input1=0;
2017.01.31 22:15:57.899 Script MarginReq AUDCHF,M15: erfolgreich geladen
2017.01.01.31 22:13:38.077 Script MarginReq AUDCHF,M15: removed
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: uninit reason 0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 1000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 0.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: initialisiert
2017.01.01.31 22:13:38.066 MarginReq AUDCHF,M15 inputs: Input1=0;
2017.01.31 22:13:36.806 Script MarginReq AUDCHF,M15: erfolgreich geladen
Das ist Blödsinn.
 
Andrey Dik:
Ich kann keinen angemessenen Wert für die erforderliche Marge zur Eröffnung einer Position ermitteln. Ich erhalte den gleichen Wert für alle Symbole, verschiedene Broker haben unterschiedliche Werte, einer zeigt 0.0 für alle Symbole, ein anderer zeigt 100000.0.

Was ist mit MT4 los? Win 10 64, MT4 build 1031

dabei:

void OnStart()
{
  Print(MarketInfo (Symbol (), MODE_MARGININIT));
  Print(MarketInfo (Symbol (), MODE_MARGINMAINTENANCE));
  Print(MarketInfo (Symbol (), MODE_MARGINHEDGED));
  Print(MarketInfo (Symbol (), MODE_MARGINREQUIRED));
  Print(SymbolInfoDouble (Symbol (),SYMBOL_MARGIN_INITIAL));
}
Entweder ist MT4 total verkorkst, oder ich bin völlig ungebildet und verstehe MT4 nicht mehr.

Hier sind die Werte von 2 Brokern:


2017.01.31 22:15:59.312 Script MarginReq AUDCHF,M15: entfernt
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: uninit Grund 0
2017.01.31 22:15:59310 MarginReq AUDCHF,M15: 0.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 1000.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 100000.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 0.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15: 0.0
2017.01.31 22:15:59.309 MarginReq AUDCHF,M15: initialisiert
2017.01.31 22:15:59.300 MarginReq AUDCHF,M15 inputs: Input1=0;
2017.01.31 22:15:57.899 Script MarginReq AUDCHF,M15: erfolgreich geladen
2017.01.01.31 22:13:38.077 Script MarginReq AUDCHF,M15: removed
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: uninit reason 0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 1000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 0.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15: initialisiert
2017.01.01.31 22:13:38.066 MarginReq AUDCHF,M15 inputs: Input1=0;
2017.01.31 22:13:36.806 Script MarginReq AUDCHF,M15: erfolgreich geladen
Das ist Blödsinn.

Versuchen Sie

AccountFreeMarginCheck