Configuration is done in the config.lua file located in the revo_stocktrading directory.
Debug Mode
Enable debug prints in console for troubleshooting:
Config.DebugMode = false -- Set to true to enable debug prints in console
UI Opening Methods
Enable opening the trading UI via command or inventory item:
Config.UseCommand = true -- Allow opening UI with command
Config.OpenCommand = 'trade' -- Command to open the Revo Trade UI
Config.UseItem = true -- Allow opening UI with item
Config.ItemName = 'revo_trading_tablet' -- Item name for opening UI (if UseItem is true)
Shows a one-time risk warning popup that users must acknowledge before trading:
Config.RiskAcknowledgementPopup = true -- Set to false to disable the risk popup
Liquidation & Risk Control
Set the margin level at which all open trades are liquidated. If margin level (equity / usedMargin * 100) falls to or below this percent, all open trades are liquidated:
-- Liquidation / Risk Control
-- If margin level (equity / usedMargin * 100) falls to or below this percent, all open trades are liquidated
Config.LiquidationMarginLevel = 50 -- percent (e.g., 50 means liquidate at 50% margin level)
Charting Library
Choose between Lightweight Charts or Highcharts. For Lightweight Charts, no license is required as it is open-source. For Highcharts, you need to get their license according to your situation and provide the URL to the Highcharts lib.
-- Choose between Lightweight Charts or Highcharts
-- For Lightweight Charts, no license is required as it is open-source
-- For Highcharts, you need to get their license according to your situation and provide the URL to the Highcharts lib
Config.ChartLibrary = "lightweight" -- "highcharts" or "lightweight"
-- If using Highcharts, provide the URL to the Highcharts lib (example: https://code.highcharts.com)
Config.HighChartsBaseURL = ""
Important: We do NOT include or redistribute Highcharts. If you wish to use it, please obtain your own license from Highcharts Shop.By default, Revo Stock Trading uses Lightweight Charts (MIT Licensed), which requires no additional setup.
Permissions
Set which groups/roles can access the Stock Management UI (Add, Edit and Delete Stocks). For ESX, group must match (e.g. ‘admin’, ‘superadmin’). For QBCore, role must match (e.g. ‘admin’, ‘god’):
-- Permissions
-- Who can access the Stock Management UI (Add, Edit and Delete Stocks)
-- For ESX, group must match (e.g. 'admin', 'superadmin')
-- For QBCore, role must match (e.g. 'admin', 'god')
Config.AllowedGroups = {
'admin',
'superadmin',
'god'
}
Notification Position
Choose where notifications appear on the screen:
-- Available positions: 'top-left', 'top-right', 'top-center', 'bottom-left', 'bottom-right', 'bottom-center', center-left, center-right, center-center
Config.NotificationPosition = 'top-center' -- Default notification position
Available positions:
'top-left', 'top-right', 'top-center', 'bottom-left', 'bottom-right', 'bottom-center', 'center-left', 'center-right', 'center-center'
Fixed Leverages
Set leverage values for different asset types. These values are used to determine the leverage for different stock types. More realistic leverage values that balance risk and opportunity:
-- These values are used to determine the leverage for different stock types
-- More realistic leverage values that balance risk and opportunity
Config.FixedLeverages = {
stock = 10,
crypto = 25,
forex = 100,
commodity = 30
}
Contract Sizes
Set contract sizes for different asset types. These values are used to determine the contract size for different stock types. More realistic contract sizes that require appropriate capital:
-- These values are used to determine the contract size for different stock types
-- More realistic contract sizes that require appropriate capital
Config.ContractSizes = {
forex = 100000,
stock = 100,
commodity = 1000,
crypto = 1
}
Deposit & Withdraw Limits
Set minimum deposit and withdrawal amounts:
Config.MinimumDeposit = 500 -- Minimum deposit amount
Config.MinimumWithdraw = 20 -- Minimum withdraw amount
Economy Protection - Earning Limits System
These settings help protect your server’s economy from exploitation.
Daily Profit Cap
Maximum profit a player can earn per day from trading:
Config.DailyProfitCap = {
enabled = true,
limit = 20000, -- $20,000 max profit per day (set to 0 or false to disable)
resetHour = 0 -- Hour of day to reset (0 = midnight server time, 12 = noon, etc.)
}
Daily Withdrawal Limit
Maximum amount a player can withdraw from trading account to bank per day:
Config.DailyWithdrawalLimit = {
enabled = true,
limit = 100000, -- $100,000 max withdrawal per day
resetHour = 0 -- Hour of day to reset (0 = midnight server time)
}
Loss Attack System
Automatically moves prices against profitable positions to protect your economy. When players are winning too much, the market will push back:
-- Loss Attack System
-- Automatically moves prices against profitable positions to protect your economy
-- When players are winning too much, the market will push back
Config.LossAttack = {
enabled = true, -- Enable/disable the system
strength = "medium", -- "low", "medium", "high", or "aggressive"
}
Progressive Tax System
Tax profits progressively - higher earnings = higher tax rate. Tax is applied when closing profitable trades:
-- Progressive Tax System
-- Tax profits progressively - higher earnings = higher tax rate
-- Tax is applied when closing profitable trades
Config.ProgressiveTax = {
enabled = true,
-- Tax brackets: profits within each range are taxed at that rate
-- Example: $15,000 profit = ($10,000 * 5%) + ($5,000 * 10%) = $500 + $500 = $1,000 tax
brackets = {
{ threshold = 10000, rate = 0.05 }, -- 5% on profits from $0 to $10,000
{ threshold = 25000, rate = 0.10 }, -- 10% on profits from $10,001 to $25,000
{ threshold = 50000, rate = 0.15 }, -- 15% on profits from $25,001 to $50,000
{ threshold = 100000, rate = 0.25 }, -- 25% on profits from $50,001 to $100,000
{ threshold = math.huge, rate = 0.35 }, -- 35% on profits above $100,000
}
}
Localization
Set the default language:
-- Available languages: 'en', 'es', 'fr', 'de', 'it', 'pt', 'ru', 'tr', 'pl', 'zh', ar
Config.DefaultLocale = 'en' -- Default locale for the script
Available languages: 'en', 'es', 'fr', 'de', 'it', 'pt', 'ru', 'tr', 'pl', 'zh', 'ar'
Customize all UI text in the Config.Locales table.
Adjust leverages, contract sizes, permissions, economy protection settings, and localization to fit your server’s needs. For Highcharts, make sure to provide a valid library URL if you choose that option.