Manuelle Trading-Lightweight-Utility-Strategie
Überblick
Der ursprüngliche Expert Advisor „Manual Trading Lightweight Utility“ ist ein kompaktes MetaTrader-Panel, das Schaltflächen zum Wechseln zwischen Markt-, Limit- und Stop-Orders bereitstellt, Volumina unabhängig für Kauf- und Verkaufsaktionen anpasst und automatisch Stop-Loss- und Take-Profit-Offsets hinzufügt. Dieser C#-Port stellt den gleichen Workflow in StockSharp wieder her, indem er jede Bedienfeldschaltfläche als Strategieparameter darstellt. Die Strategie erzeugt keine autonomen Signale; Es wartet auf Ihre manuellen Anweisungen und führt dann die angeforderte Aktion mithilfe des übergeordneten API aus, während es Schutzausgänge überwacht.
Neu erstellte Funktionalität
- Einmalige Kauf- und Verkaufsanfragen. Zwei boolesche Umschalter emulieren die Bedienfeldtasten. Wenn Sie
BuyRequestoderSellRequestauftruesetzen, wird basierend auf dem ausgewählten Modus genau eine Markt-, Limit- oder Stop-Order ausgelöst und der Schalter wird sofort auffalsezurückgesetzt. - Automatisch oder manuell ausstehende Preise. Jede Seite kann entweder die MetaTrader-Offsets (
LimitOrderPointsundStopOrderPoints) wiederverwenden oder einen manuellen absoluten Preis akzeptieren. Bei der automatischen Preisgestaltung wird der aktuell beste Geld-/Briefkurs oder der letzte Schlusskurs der Kerze verwendet, wenn keine Kurse verfügbar sind. - Unabhängige Volumes. Sie können ein Standard-Volume zwischen beiden Seiten teilen oder Volumes pro Seite aktivieren, um den Lot Control-Schalter der MQL-Version widerzuspiegeln.
- Punktbasierter Schutz.
TakeProfitPointsundStopLossPointsübersetzen die MetaTrader Punktabstände mithilfe des InstrumentsPriceStepin Preisversätze. Die Strategie überwacht abgeschlossene Kerzen und schließt die Position mit einer Marktorder, wenn ein Schutzniveau durchbrochen wird. - Kommentar-Feedback. Bei jeder manuellen Aktion wird ein Protokolleintrag geschrieben, der den konfigurierten
OrderCommententhält, wodurch es einfach ist, den ausgeführten Befehlen ohne visuelle Anzeige zu folgen.
Strategieablauf
- Die Strategie abonniert den von
CandleTypeausgewählten Kerzentyp. Fertige Kerzen liefern die Referenzpreise für Offsets und Risikoüberwachung. - Für jede fertige Kerze gilt die Strategie:
- Aktualisiert die Basisklasse
VolumemitDefaultVolume(nützlich für die visuelle Inspektion in StockSharp). - Erkennt Änderungen in
BuyRequestundSellRequestund markiert sie als ausstehende Aktionen. - Sobald die Marktdaten bereit sind (
IsFormedAndOnlineAndAllowTrading()), führt es die angeforderten Aktionen aus, löst Preise für ausstehende Aufträge auf und protokolliert das Ergebnis. - Ruft den Risikomanager auf, der den Einstiegspreis aufzeichnet, wenn sich die Nettoposition ändert, und Marktausstiege ausgibt, wenn Stop-Loss- oder Take-Profit-Schwellenwerte überschritten werden.
- Aktualisiert die Basisklasse
- Wenn die Position wieder flach ist, werden alle internen Zustände zurückgesetzt, sodass die nächste manuelle Anforderung mit einem sauberen Schiefer beginnt.
Parameter
CandleType– Marktdatenreihen, die für Preisreferenzen und Risikomanagement verwendet werden.BuyOrderMode/SellOrderMode– Wählen Sie zwischenMarketExecution,PendingLimitoderPendingStopfür jede Seite.UseAutomaticBuyPrice/UseAutomaticSellPrice– automatische Offset-Preisgestaltung aktivieren. Deaktivieren Sie die Angabe eines festen absoluten Preises.BuyManualPrice/SellManualPrice– Manuelle Preise für ausstehende Orders werden angewendet, wenn die automatische Preisberechnung deaktiviert ist (zum Ignorieren auf0setzen).DefaultVolume– gemeinsames Bestellvolumen, wenn einzelne Bände deaktiviert sind.UseIndividualVolumes– schaltet das Analogon zur Chargenkontrolle um. Wenn diese Option aktiviert ist, überschreiben die nächsten beiden Parameter das gemeinsam genutzte Volume.BuyVolume/SellVolume– Volumen pro Seite.TakeProfitPoints/StopLossPoints– Schutzabstände ausgedrückt in MetaTrader Punkten. Null deaktiviert die entsprechende Funktion.LimitOrderPoints/StopOrderPoints– Offsets, die auf automatische Limit- und Stop-Preise angewendet werden, ebenfalls gemessen in Punkten.BuyRequest/SellRequest– kurzzeitige Schalter, die die Bedienfeldtasten emulieren. Sie werden nach Bearbeitung der Anfrage automatisch zurückgesetzt.OrderComment– Freiformtext, der an das Protokoll angehängt wird, wenn eine Aktion ausgeführt wird.
Nutzungsrichtlinien
- Konfigurieren Sie
CandleTypeentsprechend der Granularität, die Sie für Offsets und Risikoprüfungen verwenden möchten. Der standardmäßige Zeitrahmen von einer Minute ähnelt dem tickgesteuerten Verhalten des MetaTrader-Skripts und bleibt gleichzeitig mit historischen Backtests kompatibel. - Wählen Sie, ob Sie mit einem einzelnen
DefaultVolumearbeiten oderUseIndividualVolumesaktivieren möchten, um Kauf- und Verkaufsvolumina separat zu steuern. Die Volumina müssen positiv bleiben. - Entscheiden Sie, wie ausstehende Preise berechnet werden sollen. Lassen Sie
UseAutomatic*Priceaktiviert, um die Punktversätze von MetaTrader zu replizieren, oder deaktivieren Sie es und geben Sie die WerteBuyManualPrice/SellManualPriceexplizit an. - Legen Sie
TakeProfitPointsundStopLossPointsnach Bedarf fest. Wenn sie größer als Null sind, rechnet die Strategie sie mit dem InstrumentPriceStepin Preisabstände um und schließt die Position mit einer Marktorder, sobald eine Kerze den entsprechenden Schwellenwert überschreitet. Fehlt dem Symbol ein konfigurierterPriceStep, wird eine Warnung protokolliert und Schutzabstände übersprungen. - Um eine Bestellung aufzugeben, ändern Sie
BuyRequestoderSellRequestvonfalseintrue. Die Strategie löst die Anfrage bei der nächsten fertigen Kerze auf, sendet den gewählten Auftragstyp, schreibt einen Protokolleintrag und setzt das Flag zurück, damit die Aktion nicht automatisch wiederholt wird. - Führen Sie eine Aktion erneut aus, indem Sie den entsprechenden Parameter erneut umschalten. Anfragen bleiben inaktiv, wenn der erforderliche Preis nicht gelöst werden kann (z. B. weil ein manueller Preis Null ist); Korrigieren Sie die Konfiguration und schalten Sie erneut um, um es erneut zu versuchen.
Unterschiede zum ursprünglichen MQL-Dienstprogramm
- Die MetaTrader-Diagrammobjekte werden durch StockSharp-Parameter ersetzt. Jede Schaltfläche und jeder Schalter des ursprünglichen Bedienfelds ist jetzt eine bearbeitbare Eigenschaft, die über die Benutzeroberfläche oder über Automatisierungsskripte gesteuert werden kann.
- Schutzniveaus werden bei Überschreitung mit Marktaufträgen ausgeführt, anstatt separate Stop/Limit-Schutzaufträge zu registrieren. Dadurch bleibt die Implementierung auf der übergeordneten Ebene API und die manuelle Verwaltung von Auftragslebenszyklen wird vermieden.
- Automatische Preise fallen auf den letzten Kerzenschluss zurück, wenn die besten Geld-/Briefkurse nicht verfügbar sind, wodurch ein deterministisches Verhalten bei Backtests gewährleistet wird, bei denen Auftragsbuchdaten fehlen könnten.
Notizen
- Die Strategie speichert den Einstiegspreis immer dann, wenn sich die Nettoposition ändert. Wenn Sie in einen Trade einsteigen, verankern sich die schützenden Offsets wieder beim Kerzenschluss, der die neue Größe widerspiegelt.
- Die Spread-Kompensation wird in die Stop-Loss-Berechnung einbezogen, indem der beste bekannte Spread (oder ein Preisschritt, wenn Quotes fehlen) zum konfigurierten Punktabstand addiert wird, was die MQL-Logik widerspiegelt, die die Verkaufsstopps um den aktuellen Spread erweitert.
- Protokolleinträge enthalten den konfigurierten Kommentar, den Auftragstyp, den Preis (für ausstehende Aufträge) und das Volumen und bieten so einen präzisen Prüfpfad für jede manuelle Aktion.