[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 54
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
Welche Art von Konstanten: MA_TALKING_LONG , MA_TALKING_SHORT ?
Wie melden Sie sie an?
Berücksichtigung der Sichtbarkeit von Variablen und Arrays
Ich habe sie auf global gesetzt... Derselbe Fehler.
Welche Art von Konstanten: MA_TALKING_LONG , MA_TALKING_SHORT ?
Wie melden Sie sie an?
zeigen Sie die Kopfzeile (Deklaration) dieser Funktion GetStateMa() - das Problem ist dort
ändern in GetStateMa(int signal){} sollte das Problem beheben
zeigen Sie die Kopfzeile (Deklaration) dieser Funktion GetStateMa() - das Problem ist dort
Ändern Sie es in GetStateMa(int signal){} sollte das Problem beheben
Wie auch immer, hier ist das Wesentliche. Ein Profi hier hat meinen Expert Advisor korrigiert, es hat gut funktioniert. Meine Aufgabe war es, 4 verschiedene Signale mit nur einem Auftrag zu öffnen und die Berechnungen der einzelnen Signale zu trennen. Er hat meinen Expert Advisor repariert, aber seine Logik durcheinander gebracht.
Ich begann, seinen Code zu analysieren. Sein Schreiben ist brutal, ich habe es mir schon den zweiten Tag angesehen.
Früher war es so:
am Anfang:
Und hier sind die Funktionen, um zu verdeutlichen, was was ist:
Im Allgemeinen ist es komisch zu sehen, dass eine Funktion als void per Definition nichts zurückgeben sollte, aber dennoch gibt sie den Wert eines Elements des Arrays signal[i] zurück.
Ich frage mich, ob erfahrene Programmierer dies oft verwenden? Oder ist es zu viel?
Jetzt versuche ich zu schreiben, was ich brauche, wenn ich die Tricks sehe, die in diesem Expert Advisor vorhanden sind. Denn wir können dort nicht auf Arrays verzichten.
Wie auch immer, hier ist das Wesentliche. Mein Expert Advisor, der bei mir gut funktioniert hat, wurde von einem Profi korrigiert. Meine Aufgabe war es, nur 1 Auftrag mit 4 verschiedenen Signalen zu eröffnen, und jedes Signal wurde separat generiert und berechnet. Er hat meinen Expert Advisor repariert, aber seine Logik durcheinander gebracht.
Ich begann, seinen Code zu analysieren. Sein Schreiben ist brutal, ich habe es mir schon den zweiten Tag angesehen.
Früher war es so:
am Anfang:
Und hier sind die Funktionen, um zu verdeutlichen, was was ist:
Im Allgemeinen ist es komisch zu sehen, dass eine Funktion als void per Definition nichts zurückgeben sollte, aber dennoch gibt sie den Wert eines Elements des Arrays signal[i] zurück.
Ich frage mich, ob erfahrene Programmierer dies oft verwenden? Oder ist es zu viel?
Jetzt versuche ich zu schreiben, was ich brauche, wenn ich die Tricks sehe, die in diesem Expert Advisor vorhanden sind. Denn ohne Arrays geht es dort nicht.
Es wird oft verwendet, das Geheimnis inint& ,double&
Das habe ich bereits herausgefunden, aber ich denke, es ist bereits eine Perversion. Warum dann eine ungültige Funktion erstellen? Das ist nicht logisch. Sie müssen etwas zurückgeben... geben Sie es durch eine Funktion vom Typ int, double... zurück.
Was ist zu tun?
Das habe ich bereits herausgefunden, aber ich denke, es ist bereits eine Perversion. Warum dann eine ungültige Funktion erstellen? Das ist nicht logisch.
Das ist logisch.
Diese Funktion gibt nichts zurück, sondern führt Operationen mit den Elementen des übergebenen Arrays durch.
Hier ist meine Funktion zum Ändern ausstehender Aufträge. Beim Ändern setze ich einen neuen Preis und einen neuen Stoploss. Die Funktion funktioniert teilweise, aber aus irgendeinem Grund erhält der Prüfer Fehler 1.
Ist meine Funktion richtig geschrieben?
if((b_mod) && (PreisB > Ask)) OrderModify(b_ticket,priceB,priceS,0,0,Brown);
if((s_mod) && (priceS < Bid)) OrderModify(s_ticket,priceS,priceB,0,0,Brown);
Hier sollten wir MarketInfo(Symbol(),MODE_STOPLEVEL) berücksichtigen, d.h.
priceB >= Ask+ MarketInfo(Symbol(),MODE_STOPLEVEL)*Point
priceS < =Bid- MarketInfo(Symbol(),MODE_STOPLEVEL)*Point
Das macht Sinn.
Diese Funktion gibt nichts zurück, sondern arbeitet mit den Elementen des übergebenen Arrays.
Wenn Sie also Elemente an eine Funktion vom Typ double oderint übergeben, kann diese die gleichen Operationen durchführen, allerdings ohne jegliche Perversionen. Warum sollte man sein Leben verkomplizieren?