CustomSymbolBarsNeededArgs
class cAlgo.API Since 5.3
DesktopCLICloud
Provides data for custom symbol BarsNeeded handler.
Environment behaviour
CLI — not supported. Available to plugins only, and plugins cannot run in the CLI.
Cloud — not supported. Available to plugins only, and plugins cannot run in the cloud.
Definition
public class CustomSymbolBarsNeededArgs
Namespace: cAlgo.API · Group: Custom
Examples
protected override void OnStart()
{
var customSymbol = CustomSymbols.Add("MYEURUSD", Symbols.GetSymbol("EURUSD"));
customSymbol.BarsNeeded = OnBarsNeeded;
}
private void OnBarsNeeded(CustomSymbolBarsNeededArgs args)
{
var bars = MarketData.GetBars(args.CustomBars.TimeFrame, "EURUSD");
args.CustomBars.AppendBars(bars.Select(bar => new CustomBar(bar.OpenTime, bar.Open, bar.High, bar.Low, bar.Close, (long)bar.TickVolume)));
Print("Provided {0} bars for {1}", bars.Count, args.CustomSymbol.Name);
}
from System import Action
def on_start(self):
customSymbol = api.CustomSymbols.Add("MYEURUSD", api.Symbols.GetSymbol("EURUSD"))
customSymbol.BarsNeeded = Action[CustomSymbolBarsNeededArgs](self.on_bars_needed)
def on_bars_needed(self, args):
bars = api.MarketData.GetBars(args.CustomBars.TimeFrame, "EURUSD")
for bar in bars:
args.CustomBars.AppendBar(CustomBar(bar.OpenTime, bar.Open, bar.High, bar.Low, bar.Close, int(bar.TickVolume)))
api.Print(f"Provided {bars.Count} bars for {args.CustomSymbol.Name}")
Properties
| Name | Description |
|---|---|
CustomBarsDesktopCLICloudCustomBars | Gets custom bars. |
CustomSymbolDesktopCLICloudCustomSymbol | Gets custom symbol. |