Rule summary
Buy 20% of the portfolio in AVGO whenever the portfolio holds no AVGO.
Buy 20% AVGO Position market value (AVGO) = Constant 0
Buy 20% of the portfolio in MSFT whenever the portfolio holds no MSFT.
Buy 20% MSFT Position market value (MSFT) = Constant 0
Buy 20% of the portfolio in NVDA whenever the portfolio holds no NVDA.
Buy 20% NVDA Position market value (NVDA) = Constant 0
Buy 20% of the portfolio in CRM whenever the portfolio holds no CRM.
Buy 20% CRM Position market value (CRM) = Constant 0
Buy 20% of the portfolio in META whenever the portfolio holds no META.
Buy 20% META Position market value (META) = Constant 0
What this recipe does
Hold a list of companies with an increasing profit margin from 2023 to 2024, over $5 billion in revenue in Q3 2023, a profit margin of 60% or more, and are AI/Semiconductor stocks
Exact strategy rules
These are the library's actual rule definitions. Conditions, assets, position sizing and order actions are shown together so the strategy can be inspected before it is copied.
[
{
"_id": "6aca340a8b1862f84f25e949",
"name": "Buy 20% of the portfolio in AVGO whenever the portfolio holds no AVGO.",
"userId": null,
"active": true,
"condition": {
"lhs": {
"compound": false,
"targetAssets": [
{
"name": "AVGO",
"type": "Stock",
"symbol": "AVGO"
}
],
"form": {
"fields": [
{
"fields": [
{
"helperText": "Ticker name (ex. SPY, BTC)",
"name": "targetAssets.name",
"label": "Asset Name",
"required": true,
"fieldType": "text",
"value": "AVGO"
},
{
"helperText": "Ticker type (ex. Stock, Crypto)",
"name": "targetAssets.type",
"label": "Asset Type",
"required": true,
"fieldType": "select",
"values": [
"Stock",
"Cryptocurrency"
],
"value": "Stock"
}
],
"multiple": true,
"deletable": false
}
]
},
"type": "PositionValue",
"name": "Position market value (AVGO)"
},
"rhs": {
"compound": false,
"targetAssets": [],
"value": 0,
"form": {
"fields": [
{
"fields": [
{
"helperText": "Constant value",
"name": "value",
"label": "Value",
"required": true,
"fieldType": "number",
"value": 0,
"min": -100,
"max": 100,
"globalMin": -1000000,
"globalMax": 1000000,
"isInteger": false
}
],
"multiple": false,
"deletable": false
}
]
},
"type": "Value",
"name": "Constant 0"
},
"name": "Position market value (AVGO) = Constant 0",
"_id": "6aca340a63b97220a12a3db1",
"comparison": "equal",
"type": "Base",
"description": "Left-Hand indicator (comparator) Right-Hand Indicator",
"example": "If the Rate of Change of Apple's price is > the Value 0."
},
"createdAt": "2026-10-10T12:48:10.721Z",
"action": {
"type": "Buy",
"targetAsset": {
"name": "AVGO",
"type": "Stock",
"symbol": "AVGO"
},
"amount": {
"type": "percent of portfolio",
"amount": 20
}
},
"orderExecution": {
"type": "Market"
},
"automaticOrderApproval": false
},
{
"_id": "6aca340a8b1862f84f25e94b",
"name": "Buy 20% of the portfolio in MSFT whenever the portfolio holds no MSFT.",
"userId": null,
"active": true,
"condition": {
"lhs": {
"compound": false,
"targetAssets": [
{
"name": "MSFT",
"type": "Stock",
"symbol": "MSFT"
}
],
"form": {
"fields": [
{
"fields": [
{
"helperText": "Ticker name (ex. SPY, BTC)",
"name": "targetAssets.name",
"label": "Asset Name",
"required": true,
"fieldType": "text",
"value": "MSFT"
},
{
"helperText": "Ticker type (ex. Stock, Crypto)",
"name": "targetAssets.type",
"label": "Asset Type",
"required": true,
"fieldType": "select",
"values": [
"Stock",
"Cryptocurrency"
],
"value": "Stock"
}
],
"multiple": true,
"deletable": false
}
]
},
"type": "PositionValue",
"name": "Position market value (MSFT)"
},
"rhs": {
"compound": false,
"targetAssets": [],
"value": 0,
"form": {
"fields": [
{
"fields": [
{
"helperText": "Constant value",
"name": "value",
"label": "Value",
"required": true,
"fieldType": "number",
"value": 0,
"min": -100,
"max": 100,
"globalMin": -1000000,
"globalMax": 1000000,
"isInteger": false
}
],
"multiple": false,
"deletable": false
}
]
},
"type": "Value",
"name": "Constant 0"
},
"name": "Position market value (MSFT) = Constant 0",
"_id": "6aca340a345d826030f79551",
"comparison": "equal",
"type": "Base",
"description": "Left-Hand indicator (comparator) Right-Hand Indicator",
"example": "If the Rate of Change of Apple's price is > the Value 0."
},
"createdAt": "2026-10-10T12:48:10.721Z",
"action": {
"type": "Buy",
"targetAsset": {
"name": "MSFT",
"type": "Stock",
"symbol": "MSFT"
},
"amount": {
"type": "percent of portfolio",
"amount": 20
}
},
"orderExecution": {
"type": "Market"
},
"automaticOrderApproval": false
},
{
"_id": "6aca340a8b1862f84f25e94d",
"name": "Buy 20% of the portfolio in NVDA whenever the portfolio holds no NVDA.",
"userId": null,
"active": true,
"condition": {
"lhs": {
"compound": false,
"targetAssets": [
{
"name": "NVDA",
"type": "Stock",
"symbol": "NVDA"
}
],
"form": {
"fields": [
{
"fields": [
{
"helperText": "Ticker name (ex. SPY, BTC)",
"name": "targetAssets.name",
"label": "Asset Name",
"required": true,
"fieldType": "text",
"value": "NVDA"
},
{
"helperText": "Ticker type (ex. Stock, Crypto)",
"name": "targetAssets.type",
"label": "Asset Type",
"required": true,
"fieldType": "select",
"values": [
"Stock",
"Cryptocurrency"
],
"value": "Stock"
}
],
"multiple": true,
"deletable": false
}
]
},
"type": "PositionValue",
"name": "Position market value (NVDA)"
},
"rhs": {
"compound": false,
"targetAssets": [],
"value": 0,
"form": {
"fields": [
{
"fields": [
{
"helperText": "Constant value",
"name": "value",
"label": "Value",
"required": true,
"fieldType": "number",
"value": 0,
"min": -100,
"max": 100,
"globalMin": -1000000,
"globalMax": 1000000,
"isInteger": false
}
],
"multiple": false,
"deletable": false
}
]
},
"type": "Value",
"name": "Constant 0"
},
"name": "Position market value (NVDA) = Constant 0",
"_id": "6aca340a887a10646f9ff172",
"comparison": "equal",
"type": "Base",
"description": "Left-Hand indicator (comparator) Right-Hand Indicator",
"example": "If the Rate of Change of Apple's price is > the Value 0."
},
"createdAt": "2026-10-10T12:48:10.721Z",
"action": {
"type": "Buy",
"targetAsset": {
"name": "NVDA",
"type": "Stock",
"symbol": "NVDA"
},
"amount": {
"type": "percent of portfolio",
"amount": 20
}
},
"orderExecution": {
"type": "Market"
},
"automaticOrderApproval": false
},
{
"_id": "6aca340a8b1862f84f25e94f",
"name": "Buy 20% of the portfolio in CRM whenever the portfolio holds no CRM.",
"userId": null,
"active": true,
"condition": {
"lhs": {
"compound": false,
"targetAssets": [
{
"name": "CRM",
"type": "Stock",
"symbol": "CRM"
}
],
"form": {
"fields": [
{
"fields": [
{
"helperText": "Ticker name (ex. SPY, BTC)",
"name": "targetAssets.name",
"label": "Asset Name",
"required": true,
"fieldType": "text",
"value": "CRM"
},
{
"helperText": "Ticker type (ex. Stock, Crypto)",
"name": "targetAssets.type",
"label": "Asset Type",
"required": true,
"fieldType": "select",
"values": [
"Stock",
"Cryptocurrency"
],
"value": "Stock"
}
],
"multiple": true,
"deletable": false
}
]
},
"type": "PositionValue",
"name": "Position market value (CRM)"
},
"rhs": {
"compound": false,
"targetAssets": [],
"value": 0,
"form": {
"fields": [
{
"fields": [
{
"helperText": "Constant value",
"name": "value",
"label": "Value",
"required": true,
"fieldType": "number",
"value": 0,
"min": -100,
"max": 100,
"globalMin": -1000000,
"globalMax": 1000000,
"isInteger": false
}
],
"multiple": false,
"deletable": false
}
]
},
"type": "Value",
"name": "Constant 0"
},
"name": "Position market value (CRM) = Constant 0",
"_id": "6aca340a0f50f041ff0b5faa",
"comparison": "equal",
"type": "Base",
"description": "Left-Hand indicator (comparator) Right-Hand Indicator",
"example": "If the Rate of Change of Apple's price is > the Value 0."
},
"createdAt": "2026-10-10T12:48:10.722Z",
"action": {
"type": "Buy",
"targetAsset": {
"name": "CRM",
"type": "Stock",
"symbol": "CRM"
},
"amount": {
"type": "percent of portfolio",
"amount": 20
}
},
"orderExecution": {
"type": "Market"
},
"automaticOrderApproval": false
},
{
"_id": "6aca340a8b1862f84f25e951",
"name": "Buy 20% of the portfolio in META whenever the portfolio holds no META.",
"userId": null,
"active": true,
"condition": {
"lhs": {
"compound": false,
"targetAssets": [
{
"name": "META",
"type": "Stock",
"symbol": "META"
}
],
"form": {
"fields": [
{
"fields": [
{
"helperText": "Ticker name (ex. SPY, BTC)",
"name": "targetAssets.name",
"label": "Asset Name",
"required": true,
"fieldType": "text",
"value": "META"
},
{
"helperText": "Ticker type (ex. Stock, Crypto)",
"name": "targetAssets.type",
"label": "Asset Type",
"required": true,
"fieldType": "select",
"values": [
"Stock",
"Cryptocurrency"
],
"value": "Stock"
}
],
"multiple": true,
"deletable": false
}
]
},
"type": "PositionValue",
"name": "Position market value (META)"
},
"rhs": {
"compound": false,
"targetAssets": [],
"value": 0,
"form": {
"fields": [
{
"fields": [
{
"helperText": "Constant value",
"name": "value",
"label": "Value",
"required": true,
"fieldType": "number",
"value": 0,
"min": -100,
"max": 100,
"globalMin": -1000000,
"globalMax": 1000000,
"isInteger": false
}
],
"multiple": false,
"deletable": false
}
]
},
"type": "Value",
"name": "Constant 0"
},
"name": "Position market value (META) = Constant 0",
"_id": "6aca340a58df6f99b48e6739",
"comparison": "equal",
"type": "Base",
"description": "Left-Hand indicator (comparator) Right-Hand Indicator",
"example": "If the Rate of Change of Apple's price is > the Value 0."
},
"createdAt": "2026-10-10T12:48:10.722Z",
"action": {
"type": "Buy",
"targetAsset": {
"name": "META",
"type": "Stock",
"symbol": "META"
},
"amount": {
"type": "percent of portfolio",
"amount": 20
}
},
"orderExecution": {
"type": "Market"
},
"automaticOrderApproval": false
}
]Before testing
Open the library, find this recipe by its title and preview the rules. Choose Use template for a built-in entry, or Add to portfolio for a saved entry. Review the copied rules and customize their thresholds and allocations before testing. Choose a historical period and starting capital in the portfolio backtester. Check trade count, drawdown, costs and a benchmark before enabling a paper portfolio. A recipe is a configuration, not a performance result.
A completed test should show the selected period, orders and portfolio statistics. If it records no trades, inspect the entry conditions and selected assets before loosening rules. If market data is missing or the run fails, keep the error and fix the coverage issue before comparing results. Changing a threshold or allocation changes the strategy. Keep the original definition and compare changes on a separate period rather than selecting settings from one favorable result.