Langkau tajuk talian

Custom Frame Sample

Gambaran Keseluruhan

Plugin Custom Frame Sample membolehkan pengurusan bingkai asas dalam antara muka carta cTrader. Ia mengawal bagaimana bingkai tersuai muncul pada carta, menawarkan cara mudah untuk menyusun elemen visual dan menyesuaikan ruang kerja anda melalui fungsi utama berikut:

  • Menambah bingkai tersuai pada antara muka carta dengan satu klik.
  • Menanggalkan atau memasang semula bingkai untuk menyokong susun atur berbilang skrin dan konfigurasi ruang kerja yang fleksibel.
  • Membuang bingkai apabila tidak diperlukan lagi untuk memastikan ruang carta jelas dan fokus.
  • Memaparkan blok teks tersuai dalam bingkai untuk menyokong penyesuaian carta masa nyata dan maklum balas visual.

Plugin ini mewujudkan antara muka mudah dalam Panel Simbol Aktif yang membolehkan anda menambah, membuang, memasang atau menanggalkan bingkai carta tersuai. Setiap butang mencetuskan tindakan tertentu, menjadikannya mudah untuk menguruskan elemen visual secara langsung pada carta. Plugin ini hanya berjalan semasa cTrader Windows atau Mac dibuka dan berhenti secara automatik apabila platform ditutup.

Penciptaan plugin

Pelajari cara untuk mencipta, mengedit dan membina plugin daripada templat atau dari awal dalam panduan langkah demi langkah kami.

Anda boleh mencari kod plugin Custom Frame Sample di GitHub, atau hanya menyalinnya di bawah.

Kod sampel
using System.Linq; 
using cAlgo.API;

namespace cAlgo.Plugins
{
    [Plugin(AccessRights = AccessRights.None)]
    public class CustomFrameSample : Plugin
    {
        protected override void OnStart()
        {
            var aspBlock = Asp.SymbolTab.AddBlock("Custom Frame Sample");

            var panel = new StackPanel();

            var addCustomFrameButton = new Button { Text = "Add Custom Frame", Margin = 5 };
            addCustomFrameButton.Click += OnAddCustomFrameButtonClick;
            panel.AddChild(addCustomFrameButton);

            var removeCustomFrameButton = new Button { Text = "Remove Custom Frame", Margin = 5 };
            removeCustomFrameButton.Click += OnRemoveCustomFrameButtonClick;
            panel.AddChild(removeCustomFrameButton);

            var detachCustomFrameButton = new Button { Text = "Detach Custom Frame", Margin = 5 };
            detachCustomFrameButton.Click += OnDetachCustomFrameButtonClick;
            panel.AddChild(detachCustomFrameButton);

            var attachCustomFrameButton = new Button { Text = "Attach Custom Frame", Margin = 5 };
            attachCustomFrameButton.Click += OnAttachCustomFrameButtonClick;
            panel.AddChild(attachCustomFrameButton);

            aspBlock.Child = panel;
        }

        private void OnAttachCustomFrameButtonClick(ButtonClickEventArgs obj)
        {
            if (ChartManager.OfType<CustomFrame>().FirstOrDefault(c => !c.IsAttached) is not {} customFrame)
                return;

            customFrame.Attach();
        }

        private void OnDetachCustomFrameButtonClick(ButtonClickEventArgs obj)
        {
            if (ChartManager.OfType<CustomFrame>().FirstOrDefault(c => c.IsAttached) is not {} customFrame)
                return;

            customFrame.Detach();
        }

        private void OnRemoveCustomFrameButtonClick(ButtonClickEventArgs obj)
        {
            if (ChartManager.OfType<CustomFrame>().FirstOrDefault() is not {} customFrame)
                return;

            ChartManager.RemoveFrame(customFrame.Id);
        }

        private void OnAddCustomFrameButtonClick(ButtonClickEventArgs obj)
        {
            var customFrame = ChartManager.AddCustomFrame("Custom Frame");

            customFrame.Child = new TextBlock
            {
                Text = $"Custom Frame {customFrame.Id} Child Control",
                FontSize = 32,
                HorizontalAlignment = HorizontalAlignment.Center,
                VerticalAlignment = VerticalAlignment.Center
            };
        }
    }        
}

Pilihan penyesuaian

Custom Frame Sample merangkumi butang kawalan yang membolehkan anda menambah, membuang dan berinteraksi dengan bingkai tersuai secara langsung pada carta. Jadual di bawah menggariskan komponen utama dan fungsinya:

Parameter Penerangan Nilai yang mungkin
panel Menambah atau menyusun semula butang untuk tindakan bingkai tambahan atau pilihan UI. stackpanel [panel]
Text Mengedit teks butang untuk kejelasan. Add custom frame, Remove custom frame, Detach custom frame, Attach custom frame
Margin Menukar margin untuk keseimbangan visual. 5, 8, 12, dll.
AddCustomFrame Mengubah suai tajuk bingkai untuk mencerminkan tujuan atau simbol. chartmanager.addcustomframe(Custom frame)
TextBlock.Text Menukar mesej untuk mencerminkan konteks atau pengecam. Custom frame sample
FontSize Melaraskan saiz untuk kejelasan dan kesesuaian susun atur. 32, 36, 40, dll.
HorizontalAlignment Melaraskan penjajaran untuk mengubah persembahan kandungan mendatar. horizontalalignment.center
VerticalAlignment Melaraskan penjajaran untuk mengubah persembahan kandungan menegak. verticalalignment.center
Attach() Menambah mesej apabila bingkai dipasang semula pada carta. customframe.attach()
Detach() Menambah mesej apabila bingkai ditanggalkan daripada carta. customframe.detach()
RemoveFrame Menamakan semula butang untuk mencerminkan tujuannya. chartmanager.removeframe(customframe.id)

Kes penggunaan

Custom Frame Sample membolehkan pengurusan carta interaktif tanpa memerlukan perkhidmatan luaran. Kes penggunaan berikut menunjukkan bagaimana plugin ini boleh meningkatkan pengalaman dagangan.

Kes penggunaan Senario Nilai
Menyerlahkan isyarat dagangan Tambah bingkai dengan mesej seperti Perhatikan penembusan pada EURUSD. Menarik perhatian kepada amaran khusus carta atau nota pengguna.
Pengurusan berbilang skrin Tanggalkan bingkai dan pindahkannya ke skrin lain. Mengembangkan kebolehlihatan carta dan menyokong persediaan dagangan berbilang skrin.
Organisasi ruang kerja tersuai Susun ruang carta menggunakan bingkai untuk memadankan aliran kerja dagangan peribadi anda. Membantu anda menyusun ruang carta berdasarkan aliran kerja dagangan peribadi anda.
Penanda visual tersuai Tambah bingkai secara manual dengan nota untuk menyerlahkan peristiwa carta seperti kemasukan pesanan. Menyediakan cara fleksibel untuk melabel titik utama pada carta tanpa lukisan kekal.

Ringkasan

Plugin ini menawarkan cara praktikal untuk menguruskan bingkai tersuai secara langsung pada carta cTrader. Dengan kawalan mudah untuk menambah, membuang, memasang atau menanggalkan bingkai, ia membantu anda memperibadikan ruang kerja, menyerlahkan maklumat utama dan menyusun susun atur carta dengan mudah.

Untuk butiran pembangunan lanjut, rujuk dokumentasi plugin kami.