Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 100
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
int index // номер сделки
);
Was ist eine Transaktionsnummer?
Wie wähle ich den letzten Handel aus? Index 0?
Ich habe ein Konto mit einer offenen Position und einer Historie von Geschäften. Ich möchte den letzten Handel auswählen:
#include <Trade\DealInfo.mqh>
CDealInfo deal;
for(int n=20;n>=0;n--)
{
deal.SelectByIndex(n);
Print("Тикет сделки=",deal.Ticket()," n=",n);
}
Alle Ticks 0...
int index // номер сделки
);
Was ist eine Transaktionsnummer?
Siehe Beschreibung der Funktion HistoryDealGetTicket(). Es gibt auch ein Beispiel dafür, wie man mit der Liste der Geschäfte arbeiten kann.
Ich habe versucht, eine Antwort auf Ihre Frage "Was ist eine Transaktionsnummer? Können wir davon ausgehen, dass Sie sich mit dieser Frage beschäftigt haben?
1. Leider versuche ich nicht, die Standardbibliothek zu verwenden, so dass ich keine richtigen Ratschläge geben kann, wie man mit der SelectByIndex()-Methode arbeitet. Ich kann nur anmerken, dass die CDealInfo-Klasse selbst als Klasse für die Arbeit mit Transaktionseigenschaften positioniert ist, d.h. die Fragen des Erhaltens der Liste von Transaktionen scheinen ausgelassen zu werden.
2. Wie Sie wissen, verwendet die Methode SelectByIndex() einfach die Funktion HistoryDealGetTicket(). Aus der Beschreibung dieserFunktion ergibt sich, dass vor dem Zugriff auf das Geschäft die Liste aller Geschäfte abgerufen werden muss . Im Besonderen,
Vor etwa einem Jahr habe ich im Forum gefragt, ob es möglich ist, dass das letzte Geschäft in der Liste immer einen Index von HistoryDealsTotal()-1 hat , aber ich habe keine Antwort erhalten (oder ich habe es nicht bemerkt, was unwahrscheinlich ist). Mit der Methode des wissenschaftlichen Beweises habe ich keine Widerlegung dieser These gefunden. Logischerweise müsste also jedes neue Geschäft, über das das Basis-Terminal Informationen erhält, die Liste der Geschäfte einfach um eins erhöhen, und die Indizes in der Liste der Geschäfte würden jedem neuen Geschäft in aufsteigender Reihenfolge zugewiesen. Wie es in Wirklichkeit ist - weiß ich nicht.
3. Ich schlage auch vor, den ArtikelOrders, Positions and Trades in MetaTrader 5 und (habe ihn selbst nicht gelesen) - How to use the Standard Library trade classes when writing an Expert Advisor zu lesen.
Das ist alles :)
Experten, Hilfe, bitte. Ich habe zwei EAs gebaut, um sozusagen einen Synergieeffekt zu erzielen, die einfacheren scheinen sich zu verbinden, aber dieser hier lässt sich nicht kompilieren, obwohl ich alles richtig gemacht habe, wie bei dem vorherigen. Das sind die Informationen, die er ausgibt
Supervisor' - Funktion kann nur im globalen Bereich deklariert werden 20_200_pips_MQL5_v1.mq5 360 18
'Perceptron' - Funktion kann nur im globalen Bereich deklariert werden 20_200_pips_MQL5_v1.mq5 418 8
basicTradingSystem' - Funktion kann nur im globalen Bereich deklariert werden 20_200_pips_MQL5_v1.mq5 434 6
Die Funktion kann nur im globalen Bereich deklariert werden
Ich bin wirklich verwirrt, wo ist der globale Geltungsbereich?
Supervisor' - Funktion kann nur im globalen Bereich deklariert werden 20_200_pips_MQL5_v1.mq5 360 18
'Perceptron' - Funktion kann nur im globalen Bereich deklariert werden 20_200_pips_MQL5_v1.mq5 418 8
basicTradingSystem' - Funktion kann nur im globalen Bereich deklariert werden 20_200_pips_MQL5_v1.mq5 434 6
Die Funktion kann nur im globalen Bereich deklariert werden
Ich bin wirklich verwirrt, wo ist der globale Geltungsbereich?
Solche Meldungen erscheinen zum Beispiel, wenn eine Funktion innerhalb einer anderen deklariert wird. Sehen Sie nach, ob so etwas im Code vorkommt: