Fehler, Irrtümer, Fragen - Seite 1313
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Wie kann ich zur Kompilierzeit feststellen, in welchem Bitmodus sich das Terminal befindet? Der Bezeichner TERMINAL_X64 passt nicht, da er für Funktionen vorgesehen ist. Höchstwahrscheinlich gibt es Makros, die nicht in der Hilfe erwähnt werden, aber sie tauchen gelegentlich auf die eine oder andere Weise auf :)
Wie kann ich verhindern, dass ich zwei Dlls verwende, eine für 32-Bit-Terminals und eine für 64-Bit-Terminals? Es ist nicht kasher, zwei Kopien des Programms aufzubewahren...
By the way, wer hat Erfahrung, wenn Sie Code in ME x64 kompilieren, wird es auf 32-Bit-Terminals ohne Fehler arbeiten oder es wird einige versteckte Funktionen der Code-Ausführung sein?
Zum Beispiel gibt es die Funktion funcTest(...) in der Bibliothek für 32-Bit-Terminals library_x86.dll und für 64-Bit-Terminals library_x64.dll.
Wenn der Import in der gesamten Datei sichtbar ist, ist es dann richtig, ein solches Konstrukt zu schreiben?
oder wird dieser Trick nicht funktionieren?Oder wird dieser Trick nicht funktionieren?
Soviel ich weiß, nein. Sie können beide DLLs importieren und die Funktionen der einen oder der anderen aufrufen, je nach der Bitrate des Terminals.
Im Allgemeinen ist die Aufteilung in zwei Versionen nach Bitrate keine so abwegige Option.
Ich nehme einen Indikator (einen beliebigen aus dem Standardsatz) und rufe ihn im Expert Advisor auf:
Nach dem Ausführen des EA mit Visualisierung im Tester - alles funktioniert, der Indikator wird gezeichnet.
Jetzt ändere ich eine Zeile im Indikator
ExtMomBuffer[i]=close[i]*100/close[i-InpMomPeriod];
zu dieser Zeile:
ExtMomBuffer[i]=100;
Und jetzt zeichnet der Indikator überhaupt nichts mehr - nicht einmal eine vertikale Skala ist eingezeichnet.
Wo liegt der Fehler? MetaTrader 4 Build 765.
OK, nennen wir es unkonventionelles Verhalten :)
Vielen Dank, aber ich habe noch eine Frage. Ja, das hat so funktioniert:
ExtMomBuffer[i]=i%2;
Und so hat es wieder aufgehört zu funktionieren:
In den alten MT-Versionen hat es funktioniert, was ist mit den neuen Versionen falsch?
In der zweiten Version gibt es also nur einen Wert.
Ich könnte mich allerdings irren.
Sie können es so machen, es funktioniert trotzdem nicht:
ExtMomBuffer[0]=cnt++;
Der Kern des Problems besteht darin, dass der Versuch, bei jedem Schritt des EA in den 0-Balken des Indikators zu schreiben, nichts bewirkt.
Ich glaube, ich habe gefunden, wo ich graben muss. Geändert
zu wahr und etwas beginnt sich zu zeigen. Ich werde mich jetzt betrinken.