69 lines
1.7 KiB
JSON
69 lines
1.7 KiB
JSON
{
|
|
// optional: algorithm class selector
|
|
"algorithm-type-name": "ParameterizedAlgorithm",
|
|
|
|
// optional: Algorithm language selector - options CSharp, Python
|
|
"algorithm-language": "CSharp",
|
|
|
|
// optional: Physical DLL location
|
|
"algorithm-location": "QuantConnect.Algorithm.CSharp.dll",
|
|
|
|
"optimizer-close-automatically": true,
|
|
|
|
// How we manage solutions and make decision to continue or stop
|
|
"optimization-strategy": "QuantConnect.Optimizer.Strategies.EulerSearchOptimizationStrategy",
|
|
|
|
// on-demand settings required for different optimization strategies
|
|
"optimization-strategy-settings": {
|
|
"$type": "QuantConnect.Optimizer.Strategies.StepBaseOptimizationStrategySettings, QuantConnect.Optimizer",
|
|
"default-segment-amount": 10
|
|
},
|
|
|
|
// optimization problem
|
|
"optimization-criterion": {
|
|
// path in algorithm output json
|
|
"target": "Statistics.Sharpe Ratio",
|
|
|
|
// optimization: available options max, min
|
|
"extremum": "max",
|
|
|
|
// optional, if defined and backtest complies with the targets then trigger ended event
|
|
"target-value": 3
|
|
},
|
|
|
|
// if it doesn't comply just drop the backtest
|
|
"constraints": [
|
|
{
|
|
"target": "Drawdown",
|
|
"operator": "lessOrEqual", // less, greaterOrEqual, greater, notEqual, equals
|
|
"target-value": 0.15
|
|
},
|
|
{
|
|
"target": "Total Trades",
|
|
"operator": "greater",
|
|
"target-value": 2
|
|
}
|
|
],
|
|
|
|
// optional: default is process count / 2
|
|
//"maximum-concurrent-backtests": 10,
|
|
|
|
// optimization parameters
|
|
"parameters": [
|
|
{
|
|
"name": "ema-slow",
|
|
"min": 10,
|
|
"max": 50
|
|
},
|
|
{
|
|
"name": "ema-fast",
|
|
"min": 50,
|
|
"max": 150,
|
|
"step": 50,
|
|
|
|
// optional
|
|
"min-step": 0.0001
|
|
}
|
|
]
|
|
}
|