Zum Inhalt

Custom Window Plugin

Übersicht

Custom Window Plugin erstellt eine einfache Oberfläche in cTrader zum Auslösen von Aktionen basierend auf Benutzereingaben durch die folgenden Hauptfunktionen:

  • Erstellt eine Fensteroberfläche innerhalb der cTrader-Plattform, um eine benutzerdefinierte visuelle Komponente neben dem Handels-Workspace anzuzeigen.
  • Fügt eine Schaltfläche für Benutzerinteraktion hinzu, um Aktionen manuell zu initiieren.
  • Löst vordefinierte Logik beim Klicken auf die Schaltfläche aus und ermöglicht eine konsistente Handhabung von Handelsaufgaben.
  • Aktualisiert offene Positionen basierend auf festgelegten Bedingungen und wendet Änderungen nur an, wenn bestimmte Kriterien erfüllt sind.

Das Plugin fügt ein Fenster hinzu, in dem Sie eine bestimmte Aktion auf alle Ihre offenen Positionen ausführen können. Dies hilft beim manuellen Handeln, indem Sie dieselbe Regel auf jede Position auf einmal anwenden können, ohne jede einzeln ändern zu müssen.

Plugin-Erstellung

Erfahren Sie, wie Sie Plugins erstellen, entweder mit C# oder Python, in unseren schrittweisen Anleitungen.

Der Code des Custom Window Plugins ist in unseren öffentlichen C#- und Python-Repositorys verfügbar. Derselbe Code wird als Vorlage im Algorithmen-Erstellungsassistenten in cTrader Windows oder Mac bereitgestellt, oder Sie können einfach den folgenden Ausschnitt kopieren und verwenden:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
using System;
using cAlgo.API;
using cAlgo.API.Collections;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;

namespace cAlgo.Plugins
{
    [Plugin(AccessRights = AccessRights.None)]
    public class CustomWindowPlugin : Plugin
    {
        private Button _buttonAddTakeProfit;
        private Window _window;

        protected override void OnStart()
        {
            _buttonAddTakeProfit = new Button
            {
                BackgroundColor = Color.SeaGreen,
                Height = 50,
                Text = "Add Take Profit"
            };

            _buttonAddTakeProfit.Click += _buttonAddTakeProfit_Click;

            _window = new Window
            {
                Height = 150,
                Width = 150,
                Padding = new Thickness(5, 10, 10, 5)
            };

            _window.Child = _buttonAddTakeProfit;
            _window.Show();
        }

        private void _buttonAddTakeProfit_Click(ButtonClickEventArgs args)
        {
            foreach (var position in Positions)
            {
                if (position.TakeProfit is null)
                {
                    position.ModifyTakeProfitPips(20);
                }
            }
        }        

        protected override void OnStop()
        {
            // Handle Plugin stop here
        }
    }        
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import clr
clr.AddReference("cAlgo.API")

from cAlgo.API import *

class ShowWindowSample():
    def on_start(self):
        addTakeProfitButton = Button()
        addTakeProfitButton.BackgroundColor = Color.SeaGreen
        addTakeProfitButton.Height = 50
        addTakeProfitButton.Text = "Add Take Profit"
        addTakeProfitButton.Click += self.on_add_take_profit_button_click

        window = Window()
        window.Height = 150
        window.Width = 150
        window.Padding = Thickness(5, 10, 10, 5)

        window.Child = addTakeProfitButton;
        window.Show();

    def on_add_take_profit_button_click(self, args):
        for position in api.Positions:
            if position.TakeProfit is None:
                position.ModifyTakeProfitPips(20)

Anpassungsoptionen

Parameter Beschreibung Mögliche Werte
_buttonAddTakeProfit.Text Legt die Textbeschriftung fest, die auf dem Button angezeigt wird. Add take profit
_buttonAddTakeProfit.Height Gibt die Höhe des Buttons im Fenster an. 50, 60, 65, usw.
_buttonAddTakeProfit.BackgroundColor Legt die Hintergrundfarbe des Buttons fest. color.seagreen
_buttonAddTakeProfit.Click Löst ein Ereignis aus, wenn auf den Button geklickt wird. _buttonaddtakeprofit_click
_window.Height Legt die Höhe des Fensters fest. 150, 200, 220, usw.
_window.Width Legt die Breite des Fensters fest. 150, 200, 220, usw.
_window.Padding Definiert den Abstand innerhalb des Fensters um seinen untergeordneten Inhalt. (5, 10, 10, 5), (8, 12, 12, 8), usw.
_window.Child Weist den Button als Inhalt innerhalb des Fensters zu. _buttonaddtakeprofit
position.TakeProfit Überprüft, ob für eine Position bereits ein Take-Profit festgelegt ist. null
position.ModifyTakeProfitPips Ändert den Take-Profit, indem er auf einen festen Pip-Wert gesetzt wird. 20, 24, 26, usw.

Anwendungsfälle

Anwendungsfall Szenario Wert
Massen-Take-Profit-Setter Sie haben mehrere offene Positionen ohne Take-Profit. Automatisiert die sich wiederholende Aufgabe, ein Take-Profit-Niveau von 20 Pips hinzuzufügen.
Reaktiver Trade-Manager Der Markt bewegt sich schnell und Sie müssen Gewinne sofort schützen. Wendet einen Take-Profit über alle Positionen mit einem Klick an.
Massen-Stop-Loss-Setter Sie möchten schnell einen Stop-Loss von 20 Pips auf Ihre offenen Positionen anwenden. Legt konsistente Risikokontrollen fest, ohne jeden Trade einzeln zu bearbeiten.

Zusammenfassung

Das Custom Window Plugin verbessert das manuelle Handeln, indem es Ihnen ermöglicht, schnell ein Take-Profit-Niveau von 20 Pips auf alle offenen Positionen anzuwenden, die noch keines haben. Über eine einfache schwebende Benutzeroberfläche mit einem einzigen Aktionsbutton bringt es Geschwindigkeit und Konsistenz in die Trade-Verwaltung.

Weitere Entwicklungsdetails finden Sie in unserer Plugin-Dokumentation.