class A {};
class B : public A
{
public:
int i;
};
voidOnStart()
{
A* a = new B;
((B*)a).i = 1;dynamic_cast<B*>(a).i = 1;
delete a;
}
Support Team2017.06.29 12:04
Warum sollte es nicht kompiliert werden?
A ist der Vorfahre von B, so dass die Konvertierung gültig sein kann. Die Gültigkeit wird geprüft und wenn die Objektkonvertierung nicht möglich ist, wird eine Ausnahme ausgelöst und das MQL-Programm beendet.
Im Gegensatz zur expliziten Konvertierung löst dynamic_cast keine Ausnahme aus, sondern gibt stattdessen NULL zurück; in diesem Fall wird das Programm weiter ausgeführt.
Hilfe bitte!!!!!!!! Die Schaltfläche "1-Klick-Handel" wird auf dem Terminal 1090 nicht angezeigt. Ich habe alles getan, was möglich war, und ich habe auch das Kästchen in den Eigenschaften angekreuzt. Sie wird nicht als offener Auftrag angezeigt!!! Was ist zu tun?
vati-vv: Hilfe bitte!!!!!!!! Im Terminal 1090 wird die Schaltfläche "Handel mit 1 Klick" nicht angezeigt. Ich habe alles Mögliche getan und auch in den Eigenschaften nachgesehen. Auch der offene Auftrag wird nicht mit einer Linie angezeigt!!! Was ist zu tun?
Sie haben Ihre Frage jetzt im Bereich MQL5 gestellt. Für das alte Terminal sollten Sie Ihre Fragen in den BereichenMQL4 und MetaTrader 4 stellen.
Es ist ratsam zu überprüfen, ob Sie beim Handelsserver angemeldet sind, da das Schnellhandels-Panel nur angezeigt wird, wenn Sie tatsächlich bei Ihrem Handelskonto angemeldet sind.
Hallo, in mql5 verwende ich die folgende Art der Angabe von filling_mode
Im Tester öffnet ein EA Positionen, aber einige Positionen werden nicht geöffnet und Fehler nicht unterstützten Füllmodus, was mache ich falsch?
Es ist nicht ein einzelner Wert, der zurückgegeben wird, sondern eine Zusammensetzung aus einem oder zwei Werten - deshalb kann es zu einer falschen Prüfung kommen.
Versuchen Sie eine solche Konstruktion:
//---if(IsFillingTypeAllowed(Symbol(),SYMBOL_FILLING_FOK))
m_trade.SetTypeFilling(ORDER_FILLING_FOK);
elseif(IsFillingTypeAllowed(Symbol(),SYMBOL_FILLING_IOC))
m_trade.SetTypeFilling(ORDER_FILLING_IOC);
else
m_trade.SetTypeFilling(ORDER_FILLING_RETURN);
...
//+------------------------------------------------------------------+ //| Checks if the specified filling mode is allowed | //+------------------------------------------------------------------+ bool IsFillingTypeAllowed(string symbol,int fill_type)
{
//--- Obtain the value of the property that describes allowed filling modes int filling=(int)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);
//--- Return true, if mode fill_type is allowed return((filling & fill_type)==fill_type);
}
Hinzugefügt: Wenn es geholfen hat, lassen Sie es mich bitte wissen.
Es ist nicht ein einzelner Wert, der zurückgegeben wird, sondern eine Zusammensetzung aus einem oder zwei Werten, so dass Sie eine ungültige Prüfung erhalten können.
Versuchen Sie diese Konstruktion:
Hinzugefügt: Wenn es geholfen hat, lassen Sie es mich bitte wissen.
Danke, aber es hat nicht geholfen, es gibt immer noch regelmäßig diesen Fehler!
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Wanzen, Wanzen, Fragen
fxsaber, 2017.06.15 10:08
Warum wird es kompiliert?A ist der Vorfahre von B, so dass die Konvertierung gültig sein kann. Die Gültigkeit wird geprüft und wenn die Objektkonvertierung nicht möglich ist, wird eine Ausnahme ausgelöst und das MQL-Programm beendet.
Im Gegensatz zur expliziten Konvertierung löst dynamic_cast keine Ausnahme aus, sondern gibt stattdessen NULL zurück; in diesem Fall wird das Programm weiter ausgeführt.
Stellen Sie die Geschwindigkeit auf minus drei Schritte vom Maximum ein - andernfalls ist eine Aktualisierung der Schnittstelle nicht gewährleistet.
der Fehlercode ist ebenfalls 0
aus irgendeinem Grund wird immer 0,0 zurückgegeben
der Fehlercode ist ebenfalls 0
Soweit ich weiß, funktioniert diese Funktion nur an der Moskauer Börse.
Hilfe bitte!!!!!!!! Im Terminal 1090 wird die Schaltfläche "Handel mit 1 Klick" nicht angezeigt. Ich habe alles Mögliche getan und auch in den Eigenschaften nachgesehen. Auch der offene Auftrag wird nicht mit einer Linie angezeigt!!! Was ist zu tun?
Sie haben Ihre Frage jetzt im Bereich MQL5 gestellt. Für das alte Terminal sollten Sie Ihre Fragen in den BereichenMQL4 und MetaTrader 4 stellen.
Es ist ratsam zu überprüfen, ob Sie beim Handelsserver angemeldet sind, da das Schnellhandels-Panel nur angezeigt wird, wenn Sie tatsächlich bei Ihrem Handelskonto angemeldet sind.
Hallo, in mql5 verwende ich die folgende Art der Angabe von filling_mode
Im Tester öffnet der EA Positionen, aber über eine Position nicht öffnen und Fehler nicht unterstützten Füllmodus, was mache ich falsch?
Hallo, in mql5 verwende ich die folgende Art der Angabe von filling_mode
Im Tester öffnet ein EA Positionen, aber einige Positionen werden nicht geöffnet und Fehler nicht unterstützten Füllmodus, was mache ich falsch?
Es ist nicht ein einzelner Wert, der zurückgegeben wird, sondern eine Zusammensetzung aus einem oder zwei Werten - deshalb kann es zu einer falschen Prüfung kommen.
Versuchen Sie eine solche Konstruktion:
Hinzugefügt: Wenn es geholfen hat, lassen Sie es mich bitte wissen.
Es ist nicht ein einzelner Wert, der zurückgegeben wird, sondern eine Zusammensetzung aus einem oder zwei Werten, so dass Sie eine ungültige Prüfung erhalten können.
Versuchen Sie diese Konstruktion:
Hinzugefügt: Wenn es geholfen hat, lassen Sie es mich bitte wissen.
Danke, aber es hat nicht geholfen, es gibt immer noch regelmäßig diesen Fehler!
Wie erfahre ich die Fenster-/Teilfensternummer eines Objekts? Ich sehe keine passende Eigenschaft.