Langkau tajuk talian

Cara membuat plugin tetingkap tersuai

Plugin membolehkan anda membuat tetingkap tersuai yang mengandungi laman web, alat atau butang yang melaksanakan operasi tertentu apabila diklik. Dalam artikel ini dan video yang berkaitan, kami akan menunjukkan kepada anda cara membuat tetingkap tersuai yang mengandungi butang tindakan menggunakan plugin.

Buat plugin

Kami akan membuat tetingkap tersuai dengan butang yang, apabila diklik, menetapkan ambilan untung untuk semua posisi terbuka. Kami akan bermula dengan elemen tetingkap dan butang.

Pilih aplikasi Algo dan pergi ke tab Plugin. Klik butang Baharu. Pastikan templat Kosong dipilih. Masukkan nama untuk plugin anda, seperti "Plugin Tetingkap Tersuai", kemudian klik Buat.

Isytiharkan butang dan tetingkap.

1
2
private Button _buttonAddTakeProfit;
private Window _window;

Mulakan butang.

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

Mulakan tetingkap dan tambah butang sebagai anak kepadanya.

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();

Anda boleh menyalin kod penuh di bawah:

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

Klik butang Bina atau gunakan kekunci pintas Ctrl+B untuk membina plugin. Tetingkap tersuai dengan butang Tambah Ambilan Untung sepatutnya muncul.

Anda boleh menggerakkan, menyembunyikan, mengubah saiz atau menutup tetingkap.

Perhalusi plugin

Kami akan memperhalusi plugin dengan kembali ke kod sumber kami dan menambah acara yang mengendalikan acara klik butang.

1
_buttonAddTakeProfit.Click += _buttonAddTakeProfit_Click;

Tambah logik untuk menetapkan pilihan ambilan untung kepada mana-mana posisi yang tidak mempunyainya.

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

Anda boleh menyalin kod penuh di bawah:

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

Bina plugin. Pergi ke aplikasi Dagangan, buka beberapa posisi jika anda tidak mempunyai posisi terbuka dan gunakan butang Tambah Ambilan Untung untuk mengesahkan bahawa butang tersebut berfungsi.

Ringkasan

Kami percaya artikel ini telah mengajar anda cara membuat tetingkap tersuai yang mengandungi butang untuk operasi dan elemen berguna lain.