ข้ามไปที่เนื้อหา

วิธีสร้างปลั๊กอินหน้าต่างที่กำหนดเอง

ปลั๊กอินช่วยให้คุณสร้างหน้าต่างที่กำหนดเองที่มีเว็บไซต์ เครื่องมือ หรือปุ่มที่ดำเนินการเฉพาะเมื่อคลิก ในบทความนี้และวิดีโอที่เกี่ยวข้อง เราจะแสดงวิธีสร้างหน้าต่างที่กำหนดเองที่มีปุ่มดำเนินการโดยใช้ปลั๊กอิน

สร้างปลั๊กอิน

เราจะสร้างหน้าต่างที่กำหนดเองที่มีปุ่มที่เมื่อคลิกแล้วจะตั้งค่า Take Profit สำหรับโพสิชันที่เปิดทั้งหมด เราจะเริ่มต้นด้วยองค์ประกอบหน้าต่างและปุ่ม

เลือกแอป Algo และไปที่แท็บ ปลั๊กอิน คลิกปุ่ม ใหม่ ตรวจสอบให้แน่ใจว่าได้เลือกเทมเพลต ว่างเปล่า ป้อนชื่อสำหรับปลั๊กอินของคุณ เช่น "Custom Window Plugin" จากนั้นคลิก สร้าง

ประกาศปุ่มและหน้าต่าง

1
2
private Button _buttonAddTakeProfit;
private Window _window;

เริ่มต้นปุ่ม

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

เริ่มต้นหน้าต่างและเพิ่มปุ่มเป็นลูกให้กับหน้าต่าง

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

คุณสามารถคัดลอกโค้ดทั้งหมดด้านล่างนี้:

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

คลิกปุ่ม สร้าง หรือใช้ปุ่มลัด Ctrl+B เพื่อสร้างปลั๊กอิน หน้าต่างที่กำหนดเองพร้อมปุ่ม เพิ่ม Take Profit ควรปรากฏขึ้น

คุณสามารถย้าย ซ่อน ปรับขนาด หรือปิดหน้าต่างได้

ปรับปรุงปลั๊กอิน

เราจะปรับปรุงปลั๊กอินโดยกลับไปที่โค้ดต้นฉบับของเราและเพิ่มเหตุการณ์ที่จัดการกับเหตุการณ์การคลิกปุ่ม

1
_buttonAddTakeProfit.Click += _buttonAddTakeProfit_Click;

เพิ่มตรรกะสำหรับการตั้งค่าตัวเลือก Take Profit ให้กับโพสิชันใดๆ ที่ไม่มี

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

คุณสามารถคัดลอกโค้ดทั้งหมดด้านล่างนี้:

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

สร้างปลั๊กอิน ไปที่แอป เทรด เปิดโพสิชันบางส่วนหากคุณไม่มีโพสิชันที่เปิดอยู่ และใช้ปุ่ม เพิ่ม Take Profit เพื่อยืนยันว่าปุ่มทำงาน

สรุป

เราเชื่อว่าบทความนี้ได้สอนคุณวิธีสร้างหน้าต่างที่กำหนดเองที่มีปุ่มสำหรับการดำเนินการและองค์ประกอบที่มีประโยชน์อื่นๆ