Original (English)

BarMode

Determines bar creation and trading behavior when the market is inactive, as on weekends, outside market hours, and on business holidays. By default, any bar contains at least one valid price quote. When no price quotes arrive due to market inactivity, or when it's weekend or a holiday, no bars are created. This behavior can be changed with the following BarMode flags. Use | or + for combining flags and setf and resf for setting and resetting single flags.

Flags:

BR_FLAT Generate bars even when they contain no price quote. These bars get flat candles with the close price of the last quote. For special purposes only; price and indicators series should normally skip flat periods. This flag affects bar creation and must be set before the first asset call.
BR_WEEKEND Don't generate bars that end on holidays or at or after EndWeek and before StartWeek in the bar time zone (BarZone), even when they contain price quotes. This flag is set by default. It is for intraday bars, but also affects EOD bars. It affects bar creation and must be set or reset before the first asset call.
BR_MARKET Don't generate bars that end at or after EndMarket and before StartMarket in the bar time zone (BarZone), even when they contain price quotes. This flag is for intraday bars only. It affects bar creation and must be set before the first asset call.
BR_NOSHIFT Don't shift data series on intraday bars that end at or after EndMarket and before StartMarket in the bar time zone (BarZone). This prevents series-based indicators from updating or generating trade signals outside market hours. Start and end time and zone can be individually set up in the asset list.
BR_LOCAL Automatically set Start/EndMarket on any asset call to the local asset market hours (AssetMarketStart/End), converted from AssetMarketZone to BarZone
BR_LEISURE Don't enter or manage trades at or after EndMarket and before StartMarket, on holidays, and on weekends by EndWeek/StartWeek in the bar time zone (BarZone).
BR_SLEEP Don't request or process price quotes when the market is closed due to BR_WEEKEND and BR_MARKET. Since no prices are updated, tick functions will not run and price-dependent events will not to be triggered during that time. Use this for special purposes only.
BR_LOGOFF Log off on weekends or when the market is closed. BR_SLEEP and BR_WEEKEND must be set. Broker API settings, such as order texts or price or volume types, are usually reset when logging off. Use this for special purposes only, such as working around server maintenance or API unresponsiveness on weekends. Some broker APIs do not support logging off during a trading session; in that case BR_LOGOFF will suspend the session until it is manually restarted.

Type:

int

Remarks:

  • When BR_FLAT is not set, the historical time stamps of the first asset in a portfolio strategy determine the bar creation. The order of assets does not matter for bar creation when BR_FLAT is set.
  • When BR_MARKET is set, make sure that the timestamp of at least one bar per day falls within market hours - otherwise the day will have no valid bar (see Error 014).
  • When BR_LEISURE is set, but the system is supposed to trade around the clock on working days, set StartMarket = EndMarket = 0;.
  • When no bars are generated due to weekends, holidays, or market closure, the [Status] window displays "Closed".
  • For trading assets even at weekends, such as cryptocurrencies, reset BR_WEEKEND before sampling bars.
  • When BR_MARKET or BR_WEEKEND are used, make sure that weekend and market hours are also set up correctly in UTC or in the BarZone. When multiple assets have different market hours, set them up before selecting the asset.
  • For not updating prices after or before a certain time, use a tick function and the NOPRICE flag.

Example:

function run()
    {
      ...
      StartWeek = 10400; // start Monday 4 am
      EndWeek = 51900; // end Friday 7 pm
      BarMode = BR_WEEKEND+BR_SLEEP; // don't process quotes during the weekend and don't generate bars
      ...
    }

See also:

Bars, BarPeriod, NumBars, BarZone, MinutesPerDay, AssetZone, StartWeek/EndWeek, Holidays

 

► latest version online

Übersetzung (Deutsch)

Balkenmodus

Bestimmt die Erstellung von Balken und das Handelsverhalten, wenn der Markt inaktiv ist, wie an Wochenenden, außerhalb der Marktzeiten und an gesetzlichen Feiertagen. Standardmäßig enthält jeder Balken mindestens ein gültiges Preisangebot. Wenn aufgrund von Marktinaktivität keine Preisangebote eintreffen oder es Wochenende oder ein Feiertag ist, werden keine Balken erstellt. Dieses Verhalten kann mit den folgenden Balkenmodus-Flags geändert werden. Verwenden Sie | oder +, um Flags zu kombinieren, und setf und resf zum Setzen und Zurücksetzen einzelner Flags.

Flags:

BR_FLAT Generiere Balken, auch wenn sie keine Preisangebote enthalten. Diese Balken erhalten flache Kerzen mit dem Schlusskurs des letzten Angebots. Nur für spezielle Zwecke; Preis- und Indikatorserien sollten normalerweise flache Perioden überspringen. Dieses Flag beeinflusst die Balkenerstellung und muss vor dem ersten Asset-Aufruf gesetzt werden.
BR_WEEKEND Generiere keine Balken, die an Feiertagen oder ab EndWeek und vor StartWeek in der Balkenzeitzone (BarZone) enden, even wenn sie Preisangebote enthalten. Dieses Flag ist standardmäßig gesetzt. Es gilt für Intraday-Balken, beeinflusst aber auch EOD-Balken. Es beeinflusst die Balkenerstellung und muss vor dem ersten Asset-Aufruf gesetzt oder zurückgesetzt werden.
BR_MARKET Generiere keine Balken, die ab EndMarket und vor StartMarket in der Balkenzeitzone (BarZone) enden, even wenn sie Preisangebote enthalten. Dieses Flag ist nur für Intraday-Balken gedacht. Es beeinflusst die Balkenerstellung und muss vor dem ersten Asset call gesetzt werden.
BR_NOSHIFT Verschiebe keine Serien bei Intraday-Balken, die ab EndMarket und vor StartMarket in der Balkenzeitzone (BarZone) enden. Dies verhindert, dass serienbasierte Indikatoren außerhalb der Marktzeiten aktualisiert werden oder Handelssignale generieren. Start- und Endzeit sowie Zone können individuell in der Assetliste festgelegt werden.
BR_LOCAL Setze automatisch Start/EndMarket bei jedem Asset-Aufruf auf die lokalen Marktzeiten des Assets (AssetMarketStart/End), konvertiert von AssetMarketZone zu BarZone
BR_LEISURE Keine Trades nach EndMarket und vor StartMarket, an Feiertagen und an Wochenenden durch EndWeek/StartWeek in der Balkenzeitzone (BarZone).
BR_SLEEP Fordere keine Preisangebote an oder verarbeite sie nicht, wenn der Markt aufgrund von BR_WEEKEND und BR_MARKET geschlossen ist. Da keine Preise aktualisiert werden, werden Tick-Funktionen nicht ausgeführt und preisabhängige Ereignisse werden in dieser Zeit nicht ausgelöst. Verwenden Sie dies nur für spezielle Zwecke.
BR_LOGOFF Abmelden an Wochenenden oder wenn der Markt geschlossen ist. BR_SLEEP und BR_WEEKEND müssen gesetzt werden. Broker-API Einstellungen, wie Ordertexte oder Preis- oder Volumentypen, werden normalerweise beim Abmelden zurückgesetzt. Verwenden Sie dies nur für spezielle Zwecke, wie z.B. zur Umgehung von Serverwartungen oder API-Unempfindlichkeit an Wochenenden. Einige Broker-APIs unterstützen kein Abmelden während einer Handelssitzung; in diesem Fall wird BR_LOGOFF die Sitzung aussetzen, bis sie manuell neu gestartet wird.

Typ:

int

Bemerkungen:

  • Wenn BR_FLAT nicht gesetzt ist, bestimmen die historischen Zeitstempel des ersten Assets in einer Portfolio-Strategie die Balkenerstellung. Die Reihenfolge der Assets spielt keine Rolle für die Balkenerstellung, wenn BR_FLAT gesetzt ist.
  • Wenn BR_MARKET gesetzt ist, stellen Sie sicher, dass der Zeitstempel von mindestens einem Balken pro Tag innerhalb der Marktzeiten liegt - andernfalls hat der Tag keinen gültigen Balken (siehe Error 014).
  • Wenn BR_LEISURE gesetzt ist, das System aber an Arbeitstagen rund um die Uhr handeln soll, setzen Sie StartMarket = EndMarket = 0;.
  • Wenn aufgrund von Wochenenden, Feiertagen oder Marktschließungen keine Balken generiert werden, zeigt das [Status] Fenster "Closed" an.
  • Für den Handel mit Assets auch an Wochenenden, wie Kryptowährungen, setzen Sie BR_WEEKEND zurück, bevor Sie Balken abtasten.
  • Wenn BR_MARKET oder BR_WEEKEND verwendet werden, stellen Sie sicher, dass Wochenend- und Marktzeiten auch korrekt in UTC oder in der BarZone festgelegt sind. Wenn mehrere Assets unterschiedliche Marktzeiten haben, setzen Sie sie vor der Auswahl des Assets.
  • Um Preise nach oder vor einer bestimmten Zeit nicht zu aktualisieren, verwenden Sie eine Tick-Funktion und das NOPRICE flag.

Beispiel:

function run()
    {
      ...
      StartWeek = 10400; // Start Montag 4 Uhr
      EndWeek = 51900; // Ende Freitag 19 Uhr
      BarMode = BR_WEEKEND+BR_SLEEP; // Verarbeite keine Quotes am Wochenende und generiere keine Balken
      ...
    }

Siehe auch:

Balken, BarPeriod, NumBars, BarZone, MinutesPerDay, AssetZone, StartWeek/EndWeek, Holidays

 

► neueste version online