Lewati ke isi

Cara membuat plugin jendela kustom

Plugin memungkinkan Anda membuat jendela kustom yang berisi situs web, alat, atau tombol yang menjalankan operasi tertentu saat diklik. Dalam artikel ini dan video terkaitnya, kami akan menunjukkan kepada Anda cara membuat jendela kustom yang berisi tombol aksi menggunakan plugin.

Buat plugin

Kita akan membuat jendela kustom dengan tombol yang, saat diklik, mengatur Take Profit untuk semua posisi terbuka. Kita akan mulai dengan elemen jendela dan tombol.

Pilih aplikasi Algo dan buka tab Plugin. Klik tombol Baru. Pastikan template Kosong dipilih. Masukkan nama untuk plugin Anda, misalnya "Plugin Jendela Kustom", lalu klik Buat.

Deklarasikan tombol dan jendela.

1
2
private Button _buttonAddTakeProfit;
private Window _window;

Inisialisasi tombol.

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

Inisialisasi jendela dan tambahkan tombol sebagai turunannya.

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 dapat menyalin kode lengkapnya di bawah ini:

 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 tombol Bangun atau gunakan tombol pintas Ctrl+B untuk membangun plugin. Jendela kustom dengan tombol Tambah Take Profit seharusnya muncul.

Anda dapat memindahkan, menyembunyikan, mengubah ukuran, atau menutup jendela.

Sempurnakan plugin

Kita akan menyempurnakan plugin dengan kembali ke kode sumber kita dan menambahkan event yang menangani event klik tombol.

1
_buttonAddTakeProfit.Click += _buttonAddTakeProfit_Click;

Tambahkan logika untuk mengatur opsi Take Profit ke posisi mana pun yang tidak memilikinya.

 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 dapat menyalin kode lengkapnya di bawah ini:

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

Bangun plugin. Buka aplikasi Trade, buka beberapa posisi jika Anda tidak memiliki posisi terbuka dan gunakan tombol Tambah Take Profit untuk memastikan bahwa tombol tersebut berfungsi.

Ringkasan

Kami percaya artikel ini telah mengajarkan Anda cara membuat jendela kustom yang berisi tombol untuk operasi dan elemen berguna lainnya.