ChartDraggable
interface cAlgo.API Since 5.2
DesktopCLICloud
Represents a draggable box that can host a control and shown over a chart.
Environment behaviour
CLI — not supported. Never displayed: starts at X=0, Y=0; property changes are kept locally only and LocationChanged never fires.
Cloud — not supported. Never displayed: starts at X=0, Y=0; property changes are kept locally only and LocationChanged never fires.
Definition
public interface ChartDraggable
Namespace: cAlgo.API · Group: Draggables
Examples
public partial class TestExample : Robot
{
private const string Label = "Draggable";
protected override void OnStart()
{
var openPositionButton = new Button {Text = "Open Position"};
openPositionButton.Click += _ => ExecuteMarketOrder(TradeType.Buy, SymbolName, Symbol.VolumeInUnitsMin, Label);
var closePositionsButton = new Button {Text = "Close Position"};
closePositionsButton.Click += _ => Positions.Find(Label)?.Close();
var panel = new StackPanel {Orientation = Orientation.Vertical, BackgroundColor = Color.Red};
panel.AddChild(openPositionButton);
panel.AddChild(closePositionsButton);
var draggable = Chart.Draggables.Add();
draggable.ShowGrip = true;
draggable.Child = panel;
draggable.LocationChanged += args => Print($"Draggable Location Changed: {args.Draggable.X}, {args.Draggable.Y}");
}
}
import clr
clr.AddReference("cAlgo.API")
# Import cAlgo API types
from cAlgo.API import *
# Import trading wrapper functions
from robot_wrapper import *
class Test():
Label = "Test"
def on_start(self):
openPositionButton = Button()
openPositionButton.Text = "Open Position"
openPositionButton.Click += lambda _ : api.ExecuteMarketOrder(TradeType.Buy, api.SymbolName, api.Symbol.VolumeInUnitsMin, self.Label)
closePositionsButton = Button()
closePositionsButton.Text = "Close Position"
closePositionsButton.Click += lambda _ : api.Positions.Find(self.Label).Close()
panel = StackPanel()
panel.Orientation = Orientation.Vertical
panel.BackgroundColor = Color.Red
panel.AddChild(openPositionButton)
panel.AddChild(closePositionsButton)
draggable = api.Chart.Draggables.Add()
draggable.ShowGrip = True
draggable.Child = panel
draggable.LocationChanged += lambda args : print(f"Draggable Location Changed: {args.Draggable.X}, {args.Draggable.Y}")
{
"AccessRights": "None"
}
Properties
| Name | Description |
|---|---|
ChildDesktopCLICloudControlBase | Get / set the content control inside the draggable. |
IdDesktopCLICloudstring | Get unique ID of the Draggable. |
IsVisibleDesktopCLICloudbool | Get / set visibility of draggable. |
ShowGripDesktopCLICloudbool | Get / set move grip visibility (default: true). |
XDesktopCLIClouddouble | Get / set X coordinate (default: 0). |
YDesktopCLIClouddouble | Get / set Y coordinate (default: 0). |
Events
| Name | Description |
|---|---|
LocationChangedDesktopCLICloudAction<ChartDraggableLocationChangedEventArgs> | Occurs when the draggable's location is changed. |