Bỏ qua

Cách tạo plugin cửa sổ tùy chỉnh

Các plugin cho phép bạn tạo các cửa sổ tùy chỉnh chứa các trang web, công cụ hoặc nút thực hiện các thao tác cụ thể khi được nhấp vào. Trong bài viết này và video tương ứng, chúng tôi sẽ hướng dẫn bạn cách tạo các cửa sổ tùy chỉnh chứa các nút hành động bằng cách sử dụng plugin.

Tạo một plugin

Chúng ta sẽ tạo một cửa sổ tùy chỉnh với một nút mà khi được nhấp vào, sẽ đặt chốt lời cho tất cả các vị thế đang mở. Chúng ta sẽ bắt đầu với các phần tử cửa sổ và nút.

Chọn ứng dụng Algo và chuyển đến tab Plugins. Nhấp vào nút Mới. Đảm bảo mẫu Trống được chọn. Nhập tên cho plugin của bạn, chẳng hạn như "Plugin cửa sổ tùy chỉnh", sau đó nhấp vào Tạo.

Khai báo nút và cửa sổ.

1
2
private Button _buttonAddTakeProfit;
private Window _window;

Khởi tạo nút.

1
2
3
4
5
6
_buttonAddTakeProfit = new Button
{
    BackgroundColor = Color.SeaGreen,
    Height = 50,
    Text = "Add Take Profit"
};

Khởi tạo cửa sổ và thêm nút làm phần tử con vào nó.

1
2
3
4
5
6
7
8
9
_window = new Window
{
    Height = 150,
    Width = 150,
    Padding = new Thickness(5, 10, 10, 5)
};

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

Bạn có thể sao chép toàn bộ mã bên dưới:

 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
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"
            };

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

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

        }

        protected override void OnStop()
        {
            // Handle Plugin stop here
        }
    }        
}

Nhấp vào nút Xây dựng hoặc sử dụng phím tắt Ctrl+B để xây dựng plugin. Một cửa sổ tùy chỉnh với nút Thêm chốt lời sẽ xuất hiện.

Bạn có thể di chuyển, ẩn, thay đổi kích thước hoặc đóng cửa sổ.

Tinh chỉnh plugin

Chúng ta sẽ tinh chỉnh plugin bằng cách quay lại mã nguồn và thêm một sự kiện xử lý sự kiện nhấp chuột vào nút.

1
_buttonAddTakeProfit.Click += _buttonAddTakeProfit_Click;

Thêm logic để đặt tùy chọn chốt lời cho bất kỳ vị thế nào chưa có.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
private void _buttonAddTakeProfit_Click(ButtonClickEventArgs args)
{
    foreach (var position in Positions)
    {
        if (position.TakeProfit is null)
        {
            position.ModifyTakeProfitPips(20);
        }
    }
}

Bạn có thể sao chép toàn bộ mã bên dưới:

 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
54
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
        }
    }        
}

Xây dựng plugin. Đi tới ứng dụng Trade, mở một số vị thế nếu bạn chưa có vị thế nào đang mở và sử dụng nút Thêm chốt lời để xác nhận rằng nút hoạt động.

Tổng quan

Chúng tôi tin rằng bài viết này đã dạy bạn cách tạo các cửa sổ tùy chỉnh chứa các nút cho các thao tác và các phần tử hữu ích khác.