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.