Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 409

 
mefos:
Wir brauchen einen einfachen Berater
Und in der Regel enthalten solche freiberuflichen Anfragen immer das Wort "einfach".
 
Artyom Trishkin:
Sie müssen die Anzahl der verfolgten Positionen beim letzten Tick mit der Anzahl beim aktuellen Tick vergleichen. Wenn der aktuelle Wert kleiner ist - speichern Sie den aktuellen Wert der verfolgten Positionen als "Vergangenheit" und verarbeiten Sie die Tatsache der Schließung.
Ich danke Ihnen. Ich weiß, wie ich die Spurensuche selbst durchführen kann. Ich dachte nur, es könnte einen Event-Handler geben.
 
Leanid Aladzyeu:

Das verstehe ich nicht. Welchen Wert wollen Sie erreichen?

Und was Sie geschrieben haben, lese ich wie folgt

{

Eröffnung einer Bestellung;

Wenn der Auftrag geöffnet wird, dann

GesamtBestellung = GesamtBestellung+1;

}

) standardmäßig totalOrder = 0, aber nach jeder Eröffnung einer Order wird der Wert erhöht, nach 10 Eröffnungen (der Wert wird genau 10 sein) der Zähler aller jemals eröffneten Positionen (keine Prüfung nach Typ, nach Magik und nach Symbol = es werden absolut alle offenen Orders addiert)

Und die nächste Bedingung sieht so aus

wenn TotalOrder nicht gleichOrdersTotal ist{}

Das ist ungefähr das, was ich geschrieben habe)
 

Hallo, ist es möglich, Instrumente aus einer Liste von Instrumenten in einer externen Variable in einem Indikator oder Expert Advisor auszuwählen?

Ich muss sie manuell eintippen.

Eingabe String instr_1 = "ED-9.15";

Eingabe String instr_2 = "Si-9.15";

Eingabe String instr_3 = "BR-8.15";

Mit freundlichen Grüßen Alexey.

 
twiling1983:

Hallo, ist es möglich, Instrumente aus einer Liste von Instrumenten in einer externen Variable in einem Indikator oder Expert Advisor auszuwählen?

Ich muss sie manuell eintippen.

Eingabe String instr_1 = "ED-9.15";

Eingabe String instr_2 = "Si-9.15";

Eingabe String instr_3 = "BR-8.15";

Mit freundlichen Grüßen Alexey.

Hallo. Direkt - ich bin mir nicht sicher, aber Sie können zum Beispiel so vorgehen:

enum ENUM_USED_SYMBOL
        {
         EURUSD = 0,
         GBPUSD,
         USDCHF,
         USDJPY
        };

const string symbols[ 4 ] = { "EURUSD", "GBPUSD", "USDCHF", "USDJPY" };
input ENUM_USED_SYMBOL = EURUSD;
string usedSymbol = "";		// Используемый символ
switch( inpSymbol )		// Всю эту конструкцию лучше обернуть в функцию, т.к. повторяться будет несколько раз
        {
         case EURUSD: usedSymbol = symbols[ 0 ]; break;
         case GBPUSD: usedSymbol = symbols[ 1 ]; break;
         case USDCHF: usedSymbol = symbols[ 2 ]; break;
         case USDJPY: usedSymbol = symbols[ 3 ]; break;
         default: Print( "Неизвестный символ!" );
        }
 
Tapochun:

Hallo. Ich bin mir nicht ganz sicher, aber Sie könnten zum Beispiel so vorgehen:

Danke, aber dann ist es einfacher für mich , die Datei alle 3 Monate neu zu kompilieren und neue Zukünfte anzugeben =)
 
twiling1983:
Danke, aber dann ist es einfacher für mich , die Datei alle 3 Monate neu zu kompilieren und neue Zukünfte anzugeben =)
Ja, es sieht aus wie Krücken, aber... als Option...
 

Hallo. Wie kann ich ein Indikatorfenster dazu bringen, dass es zwangsweise Werte bis zu 10.000 Dezimalstellen anzeigt, obwohl es keine Normalisierung im Code gibt.

http://i.shotnes.com/u/441/0813/1vyds1z0.15y.png

Mit freundlichen Grüßen Alexey.

UPD hat die Antwort gefunden.

IndicatorSetInteger(INDICATOR_DIGITS,5);

 
twiling1983:

Hallo. Wie kann ich ein Indikatorfenster dazu bringen, dass es zwangsweise Werte bis zu 10.000 Dezimalstellen anzeigt, obwohl es keine Normalisierung im Code gibt.

http://i.shotnes.com/u/441/0813/1vyds1z0.15y.png

Mit freundlichen Grüßen Alexey.

Bitte verwenden Sie zum Einfügen von Bildern die im Forum eingebauten Tools:Forum: How to paste a picture
 

Bitte sagen Sie mir, wenn ich die Standardbibliothek verwende, wenn ich Ask und Bid erhalte, ist es notwendig, mysymbol.RefreshRates() zu verwenden;

D.h. sollte ich die Daten aktualisieren oder muss ich sie für Daten aus der Bibliothek nicht aktualisieren?

mysymbol.RefreshRates();
 double ask =mysymbol.Ask();
 double bid =mysymbol.Bid();

oder
 double ask =mysymbol.Ask();
 double bid =mysymbol.Bid();