Gunbot's AutoConfig feature uses historical ticker data for in-depth market analysis by its filters. Alongside setting the amount of historical data (via the history
parameter), it's crucial to define the time interval between these data points. This is achieved using the historyInterval
parameter in your AutoConfig job configuration, allowing you to control the granularity and time span of your historical dataset.
36 posts tagged with "AutoConfig"
View All TagsUse global AutoConfig variables (this.variables) in custom filters
Gunbot's AutoConfig feature allows you to define and manipulate global variables that can be shared and accessed across different jobs and filters. Within a custom JavaScript filter (where filterType: "custom"
), these global variables are accessible through the this.variables
context object. This enables you to create sophisticated, stateful logic that can adapt based on conditions or counters set by other parts of your AutoConfig setup.
Target pairs with holdings using 'pairs.bag' in AutoConfig filters
In Gunbot's AutoConfig, you often need to apply specific actions or logic only to trading pairs where you currently have an existing investment, commonly referred to as holding a "bag" of the quote currency. While not always a direct top-level parameter named pairs.bag
in all filter types, the concept of checking for a bag (i.e., this.pair.quoteBalance > 0
and typically above MIN_VOLUME_TO_SELL
) is a crucial conditional element, often implemented within custom
filters or as an implicit part of certain specialized built-in filters when targeting pairs for actions like manageOverrides
or changeStrategy
.
The 'clearOverrides' option in AutoConfig 'manageOverrides' jobs
When using Gunbot's AutoConfig feature to dynamically manage strategy parameters for your trading pairs (typically with a manageOverrides
job type), you have fine-grained control over how new overrides are applied. The clearOverrides
parameter is a boolean option that dictates whether existing pair-specific overrides should be wiped clean before the job applies its new set of overrides.
Set or update per-pair AutoConfig variables for filtered pairs
Gunbot's AutoConfig feature allows for intricate, stateful automation by not only using global variables but also variables specific to each trading pair on an exchange. The setPairVariable
object, when used as an action in an AutoConfig job, enables you to create or update these per-pair variables for all pairs that successfully pass the job's defined filters. This allows for highly targeted and adaptive logic.
How do I set the amount of historical ticker data AutoConfig retains?
Gunbot's AutoConfig feature is a versatile tool for automating trading strategies, and its ability to utilize historical market data is key to many advanced filtering techniques. The amount of this historical data AutoConfig retains is controlled by the history
parameter within each job's configuration. Properly setting this parameter allows you to balance in-depth market analysis with system resource management.
Specify default strategy for pairs added by AutoConfig 'addPairs' job
When using Gunbot's AutoConfig feature with the addPairs
job type, one of the fundamental configurations is specifying which trading strategy should be assigned to the newly discovered pairs that pass your filters. This is done using the strategy
parameter directly within the addPairs
job definition.
How do I tell AutoConfig which exchange to work with for a job?
Gunbot's AutoConfig feature allows you to automate tasks across various cryptocurrency exchanges. To ensure an AutoConfig job targets the correct market, you must specify the desired exchange using the exchange
parameter. This setting is crucial as it dictates where AutoConfig will fetch data from, which pairs it will consider, and ultimately, where any configuration changes or trading actions (if applicable to the job type) will be directed.
Filter AutoConfig pairs based on a per-pair variable's value
Gunbot's AutoConfig feature allows for highly granular control by using per-pair variables. These variables store stateful information unique to each trading pair on a specific exchange. To leverage this, AutoConfig offers built-in filter types like pairVariableExact
, pairVariableBiggerThan
, and pairVariableSmallerThan
, enabling your jobs to make decisions based on the unique history or status of each pair.
Filter pairs by specific min/max price points with AutoConfig
When selecting trading pairs with Gunbot's AutoConfig, particularly for addPairs
jobs, you might want to target or avoid pairs based on their absolute current price. For instance, you might prefer to avoid very low-priced "penny stock" style cryptocurrencies or, conversely, target only those below a certain price point. AutoConfig provides minPrice
and maxPrice
filter types to achieve this.
Set or update global AutoConfig variables as a job action
Global variables in Gunbot's AutoConfig allow for stateful automation, where jobs can react to conditions set by other jobs or persist information across runs. The primary way to create or modify these global variables is by using the setVariable
object as an action within an AutoConfig job definition. This action is performed if the job's filters (if any) are passed.
Access Gunbot's main config in custom AutoConfig filters via this.config
When writing custom JavaScript filters for Gunbot's AutoConfig, you often need to make decisions based not just on market data, but also on settings from your main Gunbot configuration (config.js
). AutoConfig provides a powerful context variable, this.config
, which gives your custom scripts read-only access to the entire config.js
object structure.
How do I enable or disable an entire AutoConfig job in Gunbot?
Gunbot's AutoConfig feature allows you to define multiple automated jobs, each with its own purpose, schedule, and filters. Sometimes, you might want to temporarily stop a job from running without deleting its entire configuration, or you might be testing a new job and only want to activate it when ready. This is where the enabled
parameter comes into play.
Manage pair lists with 'pairs.removeDisabled' in AutoConfig
Gunbot's AutoConfig removePairs
job type is primarily used to automatically delist pairs based on dynamic filter conditions like low profit or volume. However, it also offers an auxiliary function through the pairs.removeDisabled
option. When enabled, this allows the removePairs
job to also identify and remove pairs from your config.js
that have been manually set to "enabled": false
. This helps keep your configuration tidy and free of inactive, forgotten pairs.
Use AutoConfig's 'exclude' parameter to blacklist pairs/patterns
While the pairs.include
parameter in Gunbot's AutoConfig defines the initial watchlist for a job, the pairs.exclude
parameter provides a way to further refine this list by blacklisting specific pairs or patterns. Pairs matching an exclude
pattern are removed from consideration, even if they initially matched an include
pattern. This allows for precise control over which pairs an AutoConfig job will ultimately process.
Using AutoConfig's debug mode for filter troubleshooting
When setting up complex AutoConfig jobs in Gunbot, especially those with multiple filters or custom JavaScript logic, it can sometimes be challenging to understand why a certain pair is passing or failing your conditions. AutoConfig provides a debug
mode parameter for each job, which, when enabled, outputs verbose logging about the filter evaluation process, greatly aiding in troubleshooting.
AutoConfig's 'setITB' option: Ignoring trades before a set time
When managing trading pairs with Gunbot's AutoConfig, especially when adding new pairs or making significant changes to existing ones, you might want to prevent the trading strategy from immediately acting on historical chart data. The setITB
option in AutoConfig jobs provides an automated way to set the IGNORE_TRADES_BEFORE
(ITB) override for affected pairs to the current time, effectively telling the strategy to only consider market data from that point forward.
Use acUserData.json external data in AutoConfig custom filters
Gunbot's AutoConfig is powerful for on-the-fly decision-making based on market data and internal states. However, sometimes you may need to incorporate external information or custom datasets into your filter logic. AutoConfig facilitates this through the acUserData.json
file, whose contents are made available to custom JavaScript filters via the this.userData
context variable.
Use AutoConfig filters for volume percentage change over snapshots
Detecting significant changes in trading volume can be a key indicator for identifying emerging opportunities or increased risk. Gunbot's AutoConfig provides minVolumePctChangeInterval
and maxVolumePctChangeInterval
filter types to assess how much a pair's current trading volume has changed compared to its average volume over a recent period, defined by a number of ticker snapshots.
How to use multiple filter sets (filters, filters2) in AutoConfig?
Gunbot's AutoConfig feature allows for sophisticated conditional logic by enabling the use of multiple "filter sets" within a single job. While a basic job might use just one set of filters (defined in the filters
object), you can define up to ten sets (filters
, filters2
, ..., filters10
). This allows a pair to trigger a job's action if it passes any one of these complete filter sets.
Use 'pairs.noBag' to remove only pairs with no holdings via AutoConfig
When automating the removal of trading pairs using Gunbot's AutoConfig removePairs
job type, a critical consideration is whether the bot currently holds an inventory of the quote currency for that pair (often referred to as a "bag"). The pairs.noBag
option provides a safeguard, ensuring that the removePairs
job only delists a pair if Gunbot does not currently have a quote currency balance tied up in it, specifically when that balance is below the strategy's MIN_VOLUME_TO_SELL
(MVTS) threshold and there are no open orders.
Use AutoConfig to dynamically change global Gunbot settings
Gunbot's AutoConfig feature extends beyond managing trading pairs and their strategies; it can also be used to dynamically alter global bot settings found in the bot
section of your config.js
file. This is achieved by defining a bot
object within an AutoConfig job's action block, allowing for adaptive changes to Gunbot's core behavior based on your specified conditions.
Target AutoConfig actions to pairs with a specific strategy name
Gunbot's AutoConfig can manage various aspects of your trading pairs, including their assigned strategies and overrides. A common requirement is to apply certain AutoConfig actions鈥攍ike changing overrides or switching strategies鈥攐nly to pairs that are currently configured with a specific trading strategy. AutoConfig provides the strategyName
filter type for this exact purpose.
How can I schedule an AutoConfig job to run at specific times?
Gunbot's AutoConfig feature allows for powerful automation of trading tasks, from adding pairs to managing overrides. A key aspect of controlling these jobs is defining when they run. This is achieved using the schedule
parameter within each AutoConfig job's definition, which accepts a cron expression to specify execution times with great flexibility.
Filter by % difference between two ledger values with AutoConfig
Gunbot's AutoConfig allows for sophisticated analysis of a trading pair's live ledger data. Beyond simple value comparisons, the differenceBigger
and differenceSmaller
state filter types enable you to evaluate the percentage difference between two specified ledger keys. This is powerful for detecting relative changes, such as how far the current price has moved from an average buy price, or the percentage gap between two moving averages if they are stored in the ledger.
Filter pairs by 24-hour trading volume with AutoConfig
A crucial factor in selecting viable trading pairs is their liquidity and market activity, often indicated by 24-hour trading volume. Gunbot's AutoConfig feature provides built-in filter types, minVolume24h
and maxVolume24h
, to automatically include or exclude pairs based on this metric. These filters help ensure that your automated strategies engage with markets that have sufficient activity.
Limit active trading pairs per exchange with AutoConfig's maxPairs
When using Gunbot's AutoConfig addPairs
jobs to dynamically discover and add new trading opportunities, it's often crucial to control the total number of pairs actively trading on an exchange. This helps manage risk, available capital, and system resources. AutoConfig addresses this with the maxPairs
parameter, which sets an upper limit on the number of enabled pairs for a given exchange.
How to make an AutoConfig job run once when Gunbot starts?
Gunbot's AutoConfig jobs are typically executed based on a cron schedule you define. However, there are scenarios where you might want a particular job to run immediately once Gunbot starts, in addition to its regular schedule, or perhaps only on startup. This is achievable using the onStart
parameter within the job's configuration.
Dynamically adjust exchange polling delay with AutoConfig jobs
Gunbot's polling delay
for an exchange is a critical setting that determines how frequently Gunbot fetches market data and updates. While this is set in config.js
, AutoConfig provides a way to dynamically adjust this delay
for an exchange if certain conditions are met. This is typically done using a top-level delay
parameter within an AutoConfig job's action block, which then updates the corresponding exchange's delay
in config.js
.
Filter AutoConfig pairs based on a global variable's value
Gunbot's AutoConfig feature allows for dynamic and stateful automation through the use of global variables. These variables, which can be set or modified by other AutoConfig jobs, can then be used as conditions in your filters. AutoConfig provides several built-in filterType
options specifically for evaluating these global variables, enabling you to create sophisticated, interconnected job workflows.
Filter pairs by current bid-ask spread percentage with AutoConfig
The bid-ask spread, representing the difference between the highest price a buyer is willing to pay (bid) and the lowest price a seller is willing to accept (ask), is a critical indicator of a trading pair's liquidity and transaction costs. Gunbot's AutoConfig feature allows you to filter pairs based on this spread percentage using the minSpreadPct
and maxSpreadPct
filter types. This helps in selecting pairs that are cost-effective to trade or avoiding those with excessively wide spreads.
Reset global variables with 'resetVariable' if AutoConfig filters fail
Gunbot's AutoConfig feature allows for dynamic state management using global variables, typically modified by the setVariable
action when job filters pass. However, there's often a need to alter these variables or revert them to a default state if the primary conditions of a job are not met. This is where the resetVariable
action object comes into play, providing a mechanism for conditional state changes when filters fail.
Define and apply strategy overrides with an AutoConfig job
A core strength of Gunbot's AutoConfig feature is its ability to dynamically manage strategy parameters for your trading pairs. This is primarily achieved through the overrides
object within AutoConfig job definitions, particularly for job types like manageOverrides
(to modify existing pairs) and addPairs
(to set initial parameters for new pairs). This allows for adaptive and context-aware trading strategies.
How can I define the operational mode or type for an AutoConfig job?
Gunbot's AutoConfig feature is designed to perform a variety of automated tasks related to your trading setup. The specific function of an AutoConfig job is determined by its "operational mode" or "type." This is configured using the type
parameter within the job's JSON definition. Understanding the available job types and how to set them is fundamental to leveraging AutoConfig's full capabilities.
Persistence of AutoConfig global & per-pair variables explained
A key feature of Gunbot's AutoConfig system is its ability to maintain stateful information using global and per-pair variables. This statefulness isn't just for a single Gunbot session; these variables are designed to persist across Gunbot restarts. This is achieved by automatically saving them to dedicated JSON files in your Gunbot user directory: autoconfig-variables.json
for global variables and autoconfig-pairVariables.json
for per-pair variables.
Use 'resetPairVariable' for pairs failing AutoConfig job filters
Gunbot's AutoConfig provides fine-grained control over per-pair variables, not only when pairs pass filters (using setPairVariable
) but also when they fail them. The resetPairVariable
action object within an AutoConfig job definition is triggered for each pair that is evaluated by the job but does not meet the criteria of the job's main filters
(or filters2
, etc.). This allows you to explicitly manage the state of non-qualifying pairs.