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
Warum erkennt der Compiler nicht den Unterschied zwischen int und colour.
Wenn ich eine Funktion neu definiere, schimpft er mit mir (er sagt, ich solle aufpassen, dass ich die Pedale verwechsle).
Wenn es nur Standardparameter gäbe, aber es gibt keine Unklarheiten, definieren Sie einfach den Typ des übergebenen Parameters und fahren Sie fort.Warum erkennt der Compiler nicht den Unterschied zwischen int und colour.
Ich überschreibe eine Funktion, er flucht (sagt, ich solle die Pedale vorsichtig verwechseln).
Wenn es nur Standardparameter gäbe, aber es gibt keine Unklarheiten, definieren Sie einfach den Typ des übergebenen Parameters und los geht's.In diesem Fall beschwert sich der Compiler, dass Sie zwei Funktionen mit demselben Namen erstellt haben, und die übergebenen Parameter haben nichts damit zu tun.
Lesen Sie in diesem Fall, was das Wort "Überlastung" bedeutet.
SZ sowie das"Überladen von Funktionen".
Eine Frage an die schreibende Zunft, nicht ein Fehler oder ein Bug, sondern eine Frage, wer was vorschlagen kann...
Ich möchte den Namen des Zeigers innerhalb der Klasse erhalten, aber es funktioniert nicht.
Im Allgemeinen ist das Wesen der Sache ist, dass ich String-Namedes grafischen Objekts wurde automatisch zugewiesen wollen.
Ich möchte automatisch einen Stringnamen dafür erhalten.
Bei der Installation von grafischen Objekten aus Klassenmethoden sollte der Name automatisch in Abhängigkeit vom Cursor vergeben werden.
Ich weiß noch nicht, wie man das macht, aber ich denke, wir können es von Grund auf neu machen.
Theoretisch gibt es zwei Hauptmöglichkeiten, ein Objekt automatisch zu benennen (mit verschiedenen Variationen bei der Implementierung):
1. Die Namensgenerierung basiert auf einer nummerierten Liste
Eine separate Klasse übernimmt die Namensgebung für das Objekt und verwaltet die "Zähler" (die entweder für alle Objekte oder für eine bestimmte Gruppe von Objekten gelten können).
In diesem Fall wird die Bezeichnung (vorzugsweise) auf der Grundlage folgender Elemente gebildet: Objekttyp, Name des Symbols (Währungspaar), textuelle Notation der TF und Seriennummer des Objekts (aus dem Zähler).
In diesem Fall können Sie, je nach Implementierung, das Vorhandensein des Objekts im Diagramm verfolgen oder nicht.
2. Der Name wird auf der Grundlage von Datum und Uhrzeit der Objekterstellung gebildet.
Der Name kann bei diesem Ansatz gebildet werden auf der Basis von: Objekttyp, Symbolname, Textnotation TF und Schlüssel (gebildet auf der Basis von Datum und Uhrzeit).
PS
Bei der ersten Variante wäre es (meiner Meinung nach) sinnvoller, eine Klasse und den gesamten Zyklus der Objektverwaltung (Erstellung, Änderung und Löschung) zu implementieren...
In diesem Fall sollten Sie lesen, was "Überlastung" bedeutet.
ZS Nun ja, sowie"Funktionsüberladung".
Ich wusste nicht, dass das möglich ist.
Polymorphismus und Funktionsüberladung sind grundlegende OOP-Prinzipien, die in jeder anständigen Sprache vorhanden sein sollten.
PolymorphismusPolymorphismus ist ein Phänomen, bei dem eine Funktion (Methode) mit demselben Namen einem unterschiedlichen Programmcode (polymorpher Code) entspricht, je nachdem, welches Klassenobjekt beim Aufruf der Methode verwendet wird. Die Polymorphie wird dadurch gewährleistet, dass die Implementierung der Methode der Vorgängerklasse in der Nachfolgeklasse geändert wird, wobei die Signatur der Methode erhalten bleiben muss. Dies stellt sicher, dass die Schnittstelle der übergeordneten Klasse unverändert erhalten bleibt und ermöglicht die Verknüpfung eines Methodennamens in Code mit unterschiedlichen Klassen - die Methode mit dem angegebenen Namen wird aus dem Objekt der Klasse übernommen, von der aus der Aufruf erfolgt. Dieser Mechanismus wird als dynamische (oder späte) Bindung bezeichnet - im Gegensatz zur statischen (frühen) Bindung, die zur Kompilierzeit erfolgt.
Überladen von FunktionenÜberladen von Prozeduren und Funktionen - eine Möglichkeit, die gleichnamigen Unterprogramme zu verwenden: Prozeduren oder Funktionen in Programmiersprachen.
Beispiel aus der Standardbibliothek der Handelsklassen, Klasse CAccountInfo:
Ich habe lange mit dem angesehenen Unternehmen MetaQuotes gesprochen und ihnen bewiesen, dass es eine Störung gab, und sie haben mir gesagt, dass es keine Störung gab.
Ich blieb jedoch hartnäckig, und man riet mir, die Gemeinschaft zu fragen.
Wir haben also einen Indikator und einen Expert Advisor, der die Werte des Indikators übernimmt.
Starten Sie den Tester für EURUSD vom 01.07.2010 bis 02.07.2010 auf М1
Wir sehen uns das Protokoll an und stellen fest, dass sich die Werte des einen Puffers ändern, die des anderen aber nicht.
Das dauert eine Stunde, und dann ist der zweite Puffer aktiv, aber wenn man sich die Werte des Indikators ansieht, stimmen sie nicht überein.
Ich habe sogar versucht, das Konto zu ändern und den Verlauf neu zu laden, aber das hat nicht geholfen.
Hier ist ein Link zu meinem Terminal in rar 90mbhttp://dl.dropbox.com/u/6290215/MetaTrader%205%201111.rar, dort ist alles eingerichtet
Und der Indikator mit dem Berater im Anhang
Warum erkennt der Compiler nicht den Unterschied zwischen int und colour.
Ich überschreibe eine Funktion, er flucht (sagt, ich solle die Pedale vorsichtig verwechseln).
OK, es gäbe Standardparameter, aber es gibt keine Unklarheiten, definieren Sie einfach den Typ des übergebenen Parameters und fahren Sie fort.Sie haben den Code mit einem Fehler versehen. Natürlich ist es Ihr Code, der falsche Informationen liefert. Gleichzeitig haben Sie unsere Kommentare zur Fehlerbehebung ignoriert und jedes Mal einen neuen Code angeboten, der jedes Mal einen Fehler enthält.
Wenn Sie mir jedoch gesagt hätten, dass es keine Synchronisierung geben sollte und wir sie in den Code einbauen sollten...
Stattdessen haben Sie hartnäckig behauptet, dass alles zusammenpasst.
aber TimeToString(time[0],TIME_DATE|TIME_MINUTES)," buf1-",buf1[1]," buf2-",buf2[1]) anstelle von TimeToString(time[1],TIME_DATE|TIME_MINUTES)," buf1-",buf1[1]," buf2-",buf2[1]);
Das ist sicherlich ein Fehler, aber er hat keinen Einfluss auf den Punkt.
Ich werde mir noch einmal einen Indikator ausdenken, um zu überprüfen, wie falsch ich lag.
Das heißt, Sie haben gesagt, dass alles übereinstimmt und Sie den Code des Expert Advisors korrigiert haben. Aber in Wirklichkeit stimmt nichts überein und wir sollten den Code des Indikators korrigieren (um die Synchronisation darin zu integrieren).