Custom Frame Sample¶
ภาพรวม ¶
ปลั๊กอิน Custom Frame Sample ช่วยให้จัดการเฟรมพื้นฐานภายในอินเทอร์เฟซการสร้างแผนภูมิของ cTrader มันควบคุมวิธีการแสดงเฟรมที่กำหนดเองบนแผนภูมิ โดยเสนอวิธีง่ายๆ ในการจัดองค์ประกอบภาพและปรับแต่งพื้นที่ทำงานของคุณผ่านฟังก์ชันหลักดังต่อไปนี้:
- เพิ่มเฟรมที่กำหนดเองลงในอินเทอร์เฟซแผนภูมิด้วยการคลิกเพียงครั้งเดียว
- แยกหรือเชื่อมเฟรมใหม่เพื่อสนับสนุนเลย์เอาต์หลายหน้าจอและการกำหนดค่าพื้นที่ทำงานที่ยืดหยุ่น
- ลบเฟรมเมื่อไม่ต้องการอีกต่อไปเพื่อให้พื้นที่แผนภูมิชัดเจนและโฟกัส
- แสดงบล็อกข้อความที่กำหนดเองภายในเฟรมเพื่อสนับสนุนการปรับแต่งแผนภูมิแบบเรียลไทม์และการตอบรับภาพ

ปลั๊กอินนี้สร้างอินเทอร์เฟซง่ายๆ ในแผงสัญลักษณ์ที่ใช้งานอยู่ที่ช่วยให้คุณเพิ่ม ลบ เชื่อม หรือแยกเฟรมแผนภูมิที่กำหนดเอง แต่ละปุ่มจะกระตุ้นการกระทำเฉพาะ ทำให้ง่ายต่อการจัดการองค์ประกอบภาพโดยตรงบนแผนภูมิ ปลั๊กอินจะทำงานเฉพาะเมื่อ cTrader Windows หรือ Mac เปิดอยู่และจะหยุดทำงานโดยอัตโนมัติเมื่อปิดแพลตฟอร์ม
การสร้างปลั๊กอิน ¶
เรียนรู้วิธี สร้าง แก้ไข และสร้าง ปลั๊กอินจากเทมเพลตหรือจากศูนย์ในคู่มือทีละขั้นตอนของเรา
คุณสามารถค้นหาโค้ดของปลั๊กอิน Custom Frame Sample ได้ที่ GitHub, หรือเพียงคัดลอกด้านล่างนี้
ตัวอย่างโค้ด
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
};
}
}
}
ตัวเลือกการปรับแต่ง ¶
Custom Frame Sample รวมปุ่มควบคุมที่ช่วยให้คุณเพิ่ม, ลบ และโต้ตอบกับกรอบที่กำหนดเองได้โดยตรงบนแผนภูมิ ตารางด้านล่างสรุปส่วนประกอบหลักและหน้าที่ของมัน:
| พารามิเตอร์ | คำอธิบาย | ค่าที่เป็นไปได้ |
|---|---|---|
panel | เพิ่มหรือจัดลำดับปุ่มสำหรับการดำเนินการกรอบเพิ่มเติมหรือตัวเลือก UI | stackpanel [panel] |
Text | แก้ไขข้อความบนปุ่มเพื่อความชัดเจน | Add custom frame, Remove custom frame, Detach custom frame, Attach custom frame |
Margin | เปลี่ยนระยะห่างเพื่อความสมดุลทางสายตา | 5, 8, 12, เป็นต้น |
AddCustomFrame | ปรับเปลี่ยนชื่อกรอบเพื่อสะท้อนวัตถุประสงค์หรือสัญลักษณ์ | chartmanager.addcustomframe(Custom frame) |
TextBlock.Text | เปลี่ยนข้อความเพื่อสะท้อนบริบทหรือตัวระบุ | Custom frame sample |
FontSize | ปรับขนาดเพื่อความชัดเจนและความเหมาะสมของเลย์เอาต์ | 32, 36, 40, เป็นต้น |
HorizontalAlignment | ปรับการจัดตำแหน่งเพื่อเปลี่ยนการนำเสนอเนื้อหาในแนวนอน | horizontalalignment.center |
VerticalAlignment | ปรับการจัดตำแหน่งเพื่อเปลี่ยนการนำเสนอเนื้อหาในแนวตั้ง | verticalalignment.center |
Attach() | เพิ่มข้อความเมื่อกรอบถูกติดตั้งกลับบนแผนภูมิ | customframe.attach() |
Detach() | เพิ่มข้อความเมื่อกรอบถูกถอดออกจากแผนภูมิ | customframe.detach() |
RemoveFrame | เปลี่ยนชื่อปุ่มเพื่อสะท้อนวัตถุประสงค์ของมัน | chartmanager.removeframe(customframe.id) |
กรณีการใช้งาน ¶
Custom Frame Sample ช่วยให้จัดการแผนภูมิแบบโต้ตอบได้โดยไม่ต้องใช้บริการภายนอก กรณีการใช้งานต่อไปนี้แสดงให้เห็นว่าปลั๊กอินนี้สามารถเพิ่มประสบการณ์การเทรดได้อย่างไร
| กรณีการใช้งาน | สถานการณ์ | คุณค่า |
|---|---|---|
| เน้นสัญญาณการเทรด | เพิ่มเฟรมพร้อมข้อความเช่น Watch for breakout on EURUSD | ดึงความสนใจไปยังการแจ้งเตือนเฉพาะแผนภูมิหรือบันทึกของผู้ใช้ |
| การจัดการหลายหน้าจอ | แยกเฟรมและย้ายไปยังหน้าจออื่น | ขยายการมองเห็นแผนภูมิและสนับสนุนการตั้งค่าการเทรดหลายหน้าจอ |
| การจัดระเบียบเวิร์กสเปซแบบกำหนดเอง | จัดระเบียบพื้นที่แผนภูมิโดยใช้เฟรมให้สอดคล้องกับขั้นตอนการเทรดส่วนตัวของคุณ | ช่วยให้คุณจัดระเบียบพื้นที่แผนภูมิตามขั้นตอนการเทรดส่วนตัวของคุณ |
| เครื่องหมายภาพแบบกำหนดเอง | เพิ่มเฟรมพร้อมบันทึกด้วยตนเองเพื่อเน้นเหตุการณ์บนแผนภูมิเช่นการเข้าออเดอร์ | ให้วิธีที่ยืดหยุ่นในการติดป้ายจุดสำคัญบนแผนภูมิโดยไม่ต้องวาดภาพถาวร |
สรุป ¶
ปลั๊กอินนี้เสนอวิธีปฏิบัติในการจัดการเฟรมที่กำหนดเองโดยตรงบนแผนภูมิ cTrader ด้วยการควบคุมที่ง่ายดายในการเพิ่ม ลบ เชื่อมต่อหรือถอดเฟรม มันช่วยให้คุณปรับแต่งเวิร์กสเปซของคุณ ไฮไลท์ข้อมูลสำคัญและจัดวางแผนภูมิได้อย่างง่ายดาย
สำหรับรายละเอียดการพัฒนาเพิ่มเติม โปรดดูที่เอกสารปลั๊กอิน ของเรา