Bỏ qua

Liên kết tệp plugin

Giao diện FileAssociations cung cấp các kiểu cho phép plugin đăng ký, sửa đổi và xử lý các đuôi tên tệp một cách linh hoạt. Với những kiểu đó, các nhà phát triển có thể lập trình một plugin để quản lý liên kết tệp. Khi plugin được kích hoạt, cTrader nhận diện và chuyển hướng các tệp liên quan đến plugin để xử lý.

Với các plugin được cấu hình để xử lý tệp trực tiếp trong giao diện người dùng cTrader, người dùng có thể không còn phải chuyển đổi giữa nhiều ứng dụng khi làm việc với tệp. Ví dụ, một plugin có thể được tạo ra để mở và quản lý tất cả các tệp được sử dụng với một chiến lược giao dịch cụ thể.

Các trường hợp sử dụng

Sau đây là các ví dụ về plugin sử dụng tính năng FileAssociations:

  • Một công cụ chuyển đổi lịch sử giao dịch chấp nhận và xử lý các tệp CSV và TXT chứa lịch sử giao dịch từ các nền tảng khác, chuyển đổi chúng thành các định dạng tương thích với cTrader để phân tích hoặc nhập trực tiếp vào nhật ký của nó.
  • Một bộ xử lý tín hiệu giao dịch đọc các tệp XML hoặc JSON chứa tín hiệu giao dịch từ các nhà cung cấp bên ngoài hoặc hệ thống giao dịch tự động, cho phép người dùng nhanh chóng thực hiện giao dịch dựa trên các tín hiệu.
  • Một công cụ nhập mẫu quản lý rủi ro chấp nhận và xử lý các tệp JSON hoặc CSV chứa cấu hình quản lý rủi ro, cho phép người dùng áp dụng các cài đặt đã định sẵn trong cTrader.
  • Một trình quản lý danh mục đầu tư xử lý các tệp CSV và XML chứa chi tiết danh mục đầu tư của nhà giao dịch, cung cấp cái nhìn tổng quan về tài sản, vị thế và các chỉ số hiệu suất đồng thời nâng cao khả năng quản lý danh mục đầu tư.
  • Một trình tải mẫu biểu đồ xử lý các tệp XML hoặc JSON cho các mẫu biểu đồ, cho phép người dùng lưu trữ và nhanh chóng tải cấu hình hoặc thiết lập ưa thích của họ cho một biểu đồ.
  • Một trình tải cài đặt chỉ báo xử lý các tệp JSON hoặc CSV cho cài đặt chỉ báo tùy chỉnh, cho phép người dùng lưu trữ và nhanh chóng áp dụng cấu hình ưa thích của họ cho một chỉ báo.

Các thao tác

Cài đặt plugin

Khi người dùng cTrader cài đặt và kích hoạt một plugin hỗ trợ một loại tệp cụ thể lần đầu tiên, một hộp thoại sẽ xuất hiện. Người dùng được nhắc liên kết phần mở rộng tệp với plugin.

Sau khi người dùng xác nhận thao tác, máy tính của họ sẽ cập nhật cài đặt liên kết tệp trên toàn hệ thống và cấu hình mới được áp dụng ngay lập tức.

Biểu tượng mới cho loại tệp sẽ hiển thị trong File Explorer. Nếu không có biểu tượng được cung cấp cho loại tệp, biểu tượng plugin mặc định sẽ được sử dụng.

Cảnh báo

Plugin không được phép xử lý các phần mở rộng tệp bị hạn chế như .algo.

Sử dụng plugin

Nếu một plugin hỗ trợ phần mở rộng tệp được kích hoạt trong cTrader, plugin sẽ được gọi để làm việc với các tệp khi người dùng thực hiện một trong các thao tác sau:

  • Kéo và thả tệp - người dùng có thể kéo một tệp được hỗ trợ và thả nó vào giao diện người dùng cTrader.

  • Mở tệp trong File Explorer - người dùng có thể nhấp đúp vào một tệp để mở nó hoặc sử dụng tùy chọn Mở bằng và chọn cTrader.

    • Nếu ứng dụng cTrader đang mở, plugin sẽ nhận tệp ngay lập tức.
    • Nếu ứng dụng cTrader đang đóng, cTrader sẽ được khởi chạy trước và sau đó plugin sẽ nhận tệp.

Tệp nhận được sẽ được sao chép vào thư mục dữ liệu cho plugin và bị xóa sau khi plugin hoàn tất xử lý.

Đường dẫn đến thư mục dữ liệu cho một plugin: …/Documents/cAlgo/Data/Plugins/{PluginName}/Temp.

Trong trường hợp một phần mở rộng tệp được liên kết với nhiều plugin đã kích hoạt, mỗi plugin sẽ xử lý tệp độc lập.

Khi một liên kết tệp bị xóa do plugin liên quan bị vô hiệu hóa trong một phiên bản cTrader, liên kết tệp sẽ tự động được thêm lại trong một phiên bản cTrader khác nơi cùng plugin được kích hoạt.

Thực hiện ghi đè thủ công

Nếu sau đó người dùng thay đổi chương trình mặc định cho một loại tệp trong cài đặt máy tính thông thường của họ, cTrader sẽ tự động ngừng xử lý loại tệp đó.

Để đặt cTrader làm chương trình mặc định để xử lý các tệp ở định dạng đó một lần nữa, người dùng phải thiết lập lại liên kết tệp theo cách sau:

  1. Mở cTrader và vô hiệu hóa plugin liên quan.
  2. Kích hoạt plugin. Khi hộp thoại xuất hiện, xác nhận thao tác.

Thiết lập này giúp các plugin và ứng dụng cTrader quản lý các phần mở rộng tệp trong khi tránh can thiệp từ các chương trình khác.

Ghi chú

Một plugin có thể thêm và xóa liên kết tệp trong thời gian chạy mà không cần khởi động lại thuật toán hoặc ứng dụng cTrader.

Plugin ví dụ

Plugin ví dụ chỉ đơn giản thêm liên kết tệp cho các loại tệp sau:

  • CSV
  • PNG
  • PDF
  • TXT
 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
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 FileAssociationSample : Plugin
    {
        private const string FileExtension1 = ".csv";
        private const string FileExtension2 = ".png";
        private const string FileExtension3 = ".pdf";
        private const string FileExtension4 = ".txt";

        protected override void OnStart()
        {
            AddFileAssociations();
            FileAssociations.FileOpened += FileAssociations_FileOpened;

            Print("File associations have been added.");
        }

        private void AddFileAssociations()
        {
            FileAssociations.Add(FileExtension1);
            FileAssociations.Add(FileExtension2);
            FileAssociations.Add(FileExtension3);
            FileAssociations.Add(FileExtension4);
        }

        private void FileAssociations_FileOpened(FileAssociationsFileOpenedEventArgs obj)
        {
            Print($"File opened: {obj.FilePath}");
        }

        protected override void OnException(Exception exception)
        {
            Print($"Exception: {exception}");
        }
    }
}

Image title