ApplicationDraggables
interface cAlgo.API Since 5.2
DesktopCLICloud
Represents collection of application draggables.
Environment behaviour
CLI — not supported. Add returns a draggable that is never displayed; Remove sends nothing to the application.
Cloud — not supported. Add returns a draggable that is never displayed; Remove sends nothing to the application.
Definition
public interface ApplicationDraggables
Namespace: cAlgo.API · Group: Application
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 = Application.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 *
from System import Action
class Test():
Label = "Draggable"
def on_start(self):
openPositionButton = Button()
openPositionButton.Text = "Open Position"
openPositionButton.Click += self.open_position
closePositionsButton = Button()
closePositionsButton.Text = "Close Position"
closePositionsButton.Click += self.close_position
panel = StackPanel()
panel.Orientation = Orientation.Vertical
panel.BackgroundColor = Color.Red
panel.AddChild(openPositionButton)
panel.AddChild(closePositionsButton)
draggable = api.Application.Draggables.Add()
draggable.ShowGrip = True
draggable.Child = panel
draggable.LocationChanged += lambda args: print(f"Draggable Location Changed: {args.Draggable.X}, {args.Draggable.Y}")
def open_position(self, args):
api.ExecuteMarketOrder(TradeType.Buy, api.SymbolName, api.Symbol.VolumeInUnitsMin, self.Label)
def close_position(self, args):
position = api.Positions.Find(self.Label)
if position is not None:
position.Close()
{
"AccessRights": "None"
}
Methods
| Name | Description |
|---|---|
AddDesktopCLICloudApplicationDraggable | Adds a draggable to application. |
RemoveDesktopCLICloudvoid | Removes a draggable from application. |
Properties
| Name | Description |
|---|---|
CountDesktopCLICloudint | Gets count of draggables. |