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