コンテンツにスキップ

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チャート上でカスタムフレームを直接管理する実用的な方法を提供します。 フレームの追加、削除、接続、切り離しを行う簡単なコントロールにより、ワークスペースのパーソナライズ、重要な情報の強調表示、チャートレイアウトの簡単な整理が可能になります。

開発の詳細については、プラグインのドキュメントを参照してください。